Documentation for Crowd 1.4. Documentation for other versions of Crowd is available too.

To connect CrowdID to PostgreSQL, 

1. Configure PostgreSQL

  1. Create a database user which CrowdID will connect as (e.g. crowduser).
  2. Create a database for CrowdID to store data in (e.g. crowdiddb). (warning) This must be a different database to the one used by Crowd.
  3. Ensure that the user has permission to connect to the database, and create and populate tables.

2. Copy the PostgreSQL driver to your application server

  1. Download the PostgreSQL JDBC driver from http://jdbc.postgresql.org/download.html. Get the JDBC 3 driver specific to your Postgres version, eg. + postgresql-8.x-xxx.jdbc3.jar.
  2. Add the PostgreSQL JDBC driver jar to the common/lib directory.

3. Configure your application server to connect to PostgreSQL

  1. Edit the file apache-tomcat-X.X.XX/conf/Catalina/localhost/openidserver.xml and customise the username, password, driverClassName and url parameters for the Datasource.
    <Context path="/openidserver" docBase="../../crowd-openidserver-webapp" debug="0">
    
        <Resource name="jdbc/CrowdIDDS" auth="Container" type="javax.sql.DataSource"
                  username="[enter db username here]"
                  password="[enter db password here]"
                  driverClassName="org.postgresql.Driver"
                  url="jdbc:postgresql://host:port/crowdiddb" [ see also http://jdbc.postgresql.org/doc.html) ]"
                  [ delete the minEvictableIdleTimeMillis, timeBetweenEvictionRunsMillis and maxActive params here ]
                />
    
        <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
    
    </Context>
    
  2. Delete the minEvictableIdleTimeMillis, timeBetweenEvictionRunsMillis and maxActive attributes (which are only needed for HSQL, and degrade performance otherwise).

4. Configure CrowdID to use PostgreSQL

  1. Edit the build.properties file located in the root of the standalone release and modify the hibernate.dialect to the following
    hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
    
  2. Then run ./build.sh or build.bat. This will configure crowd to use the PostgreSQL dialect. (warning) There is a problem with build.bat in Crowd version 1.2.0. To fix the problem, please apply the patch described in CWD-638.

If you do not wish to edit this file and run the build script, you can edit the jdbc.properties (which the above script modifies) directly. The jdbc.properties file is located here: crowd-openidserver-webapp\WEB-INF\classes\jdbc.properties. Modify the file to the following:

# - Crowd Configuration Options

hibernate.connection.datasource=java\:comp/env/jdbc/CrowdIDDS
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory

...

次のステップ

You should now have an application server configured to connect to a database, and CrowdID configured to use the correct database. Now start up CrowdID and watch the logs for any errors.

関連トピック