PostgreSQL for CrowdID
Follow the steps below to connect CrowdID to PostgreSQL.
1. Configure PostgreSQL
- Create a database user which CrowdID will connect as (for example, crowduser).
- Create a database for CrowdID to store data in (for example, crowdiddb). This must be a different database to the one used by Crowd.
- Ensure that the user has permission to connect to the database and to create and populate tables.
2. Copy the PostgreSQL Driver to your Application Server
- Download the PostgreSQL JDBC driver from http://jdbc.postgresql.org/download.html and save it locally for later use.
Internet Explorer may rename the file extension from '.jar
' to '.zip
' when you download it. If you are using Internet Explorer, please rename the file so that it has a '.jar
' extension after downloading it.- If you have installed JDK 6.x, get JDBC4 Postgresql Driver, Version 8.4-701.
- If you have JDK 5.x, get JDBC3 Postgresql Driver, Version 8.4-701.
- Add the PostgreSQL JDBC driver JAR to the following directory:
- For Crowd distribution:
- Crowd 2.0.2 or later: {
CROWD_INSTALL}/apache-tomcat/lib/
. - Crowd 2.0.1 or earlier: {
CROWD_INSTALL}/apache-tomcat/common/lib/
.
- Crowd 2.0.2 or later: {
- For Crowd WAR distribution, copy the driver JAR to your application server. For example, on Tomcat:
- Tomcat 5.5.x:
common/lib/
. - Tomcat 6.x:
lib/
.
- Tomcat 5.5.x:
- For Crowd distribution:
3. Configure your Application Server to Connect to PostgreSQL
Edit the file
apache-tomcat-X.X.XX/conf/Catalina/localhost/openidserver.xml
and customize the username, password, driverClassName and urlparameters 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>
- Delete the minEvictableIdleTimeMillis, timeBetweenEvictionRunsMillis and maxActive attributes. (These are only needed for HSQL database, and degrade performance otherwise.)
4. Configure CrowdID to use PostgreSQL
Edit the
build.properties
file located in the root of the Crowd distribution, and modify the hibernate.dialectto the followinghibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
- Run
./build.sh
orbuild.bat
. This will configure Crowd to use the PostgreSQL dialect.
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. Start up CrowdID and watch the logs for any errors.
関連トピック
- サポート対象プラットフォーム
- Installing Crowd and CrowdID
- セットアップ ウィザードの実行
- Configuring Crowd