This page last changed on Sep 03, 2008 by smaddox.

This page contains information about the important directories and files to be aware of when configuring Crowd.

On this page:

When configuring an application to work with Crowd, you will be interested in the crowd.properties file.

The Crowd Home Directory

The Crowd Home directory is where Crowd will store its configuration information. If you are using the embedded HSQL database, supplied for evaluation purposes, Crowd will also store its database in this directory.

The location of this directory is specified in the crowd-init.properties file described below. You can set the location during installation.

Crowd's System Information screen shows the location of your Crowd Home directory.

Important files and directories in the Crowd Home directory, listed here and described below:

The crowd.properties File

The crowd.properties file, containing application configuration settings for the Crowd Administration Console application, is located at the root of your Crowd Home directory.

For more information, refer to the page about the crowd.properties File.

The crowd.cfg.xml File

This file stores configuration information for the Crowd Administration Console application, including:

  • License information
  • Server ID
  • Database configuration properties
  • Setup phase reached.

The contents of this file is automatically generated when you run the Crowd Setup Wizard.

The file is located at the root of your Crowd Home directory.

Here's an example of the content of crowd.cfg.xml, when the embedded HSQL database was specified at setup:

<?xml version="1.0" encoding="UTF-8"?>

<application-configuration>
  <setupStep>complete</setupStep>
  <setupType>install.new</setupType>
  <buildNumber>320</buildNumber>
  <properties>
    <property name="crowd.server.id">B9AN-B9AN-B9AN-B9AN</property>
    <property name="hibernate.c3p0.acquire_increment">1</property>
    <property name="hibernate.c3p0.idle_test_period">100</property>
    <property name="hibernate.c3p0.max_size">15</property>
    <property name="hibernate.c3p0.max_statements">0</property>
    <property name="hibernate.c3p0.min_size">0</property>
    <property name="hibernate.c3p0.timeout">30</property>
    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
    <property name="hibernate.connection.password"></property>
    <property name="hibernate.connection.url">jdbc:hsqldb:C:/data/crowd-home-15/database/defaultdb</property>
    <property name="hibernate.connection.username">sa</property>
    <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
    <property name="hibernate.setup">true</property>
    <property name="license">AAABGQ0ODAoPeNpdkF1LwzAUhu/plus-some-more-stuff</property>
  </properties>
</application-configuration>

The bundled-plugins Directory in Crowd Home

The bundled-plugins directory is a sub-directory of your Crowd Home directory. It contains plugins which are shipped with your Crowd installation, such as the plugin which provides the Google Apps SSO feature.

The plugins are a collection of jars generated when you install the Crowd web application. The jars are obtained by unzipping atlassian-bundled-plugins.zip from {CROWD_INSTALL}\crowd-webapp\WEB-INF\classes.

The database Directory in Crowd Home

If you are using the embedded HSQL database, supplied for evaluation purposes, Crowd will store its database in this directory.

The framework-bundles Directory in Crowd Home

The framework-bundles directory is a sub-directory of your Crowd Home directory. It contains plugins that are necessary for the Atlassian plugin framework, such as Spring OSGi.

The plugins are a collection of jars generated when you install the Crowd web application via the Atlassian Plugins Framework.

The plugins Directory in Crowd Home

The plugins directory is a sub-directory of your Crowd Home directory. This directory will contain plugins that are not shipped with Crowd and that you have installed separately onto your Crowd instance.

The plugin-data Directory in Crowd Home

The plugin-data directory is a sub-directory of your Crowd Home directory. This is a place for plugins to store their data.

The Crowd Installation Directory

This is the directory into which the downloaded Crowd application has been unzipped during installation.

Important files in the Crowd Installation directory, listed here and described below:

The crowd-init.properties File

This is where you specify your Crowd Home directory (described above). You can set the location during installation.

The crowd-init.properties file is located in the Crowd Installation directory at {CROWD_INSTALL}\crowd-webapp\WEB-INF\classes\crowd-init.properties

The file content looks something like this before it has been customised:

## You can specify your crowd.home property here or in your system environment variables.

# On Windows-based operating systems, uncomment the following 
# line and set crowd.home to a directory Crowd should use to 
# store its configuration.
# NOTE: use forward slashes instead of backward slashes

#crowd.home=c:/data/crowd-home

# On Unix-based operating systems, uncomment the following
# line and set crowd.home to a directory Crowd should use to 
# store its configuration.

#crowd.home=/var/crowd-home

The build.properties File

This configuration file stores various deployment properties of Crowd and the 'demo' application.

The file is located at the root of your Crowd Installation directory (described above).

The default build.properties file will look similar to the following:

# Modify the attributes of this file to quickly adjust the deployment values of Crowd.

# The Hibernate database dialect to use.
hibernate.dialect=org.hibernate.dialect.HSQLDialect

# The Hibernate transaction factory to use.
hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory

# The http port you wish to run crowd from, ie: http://localhost:8095/crowd
crowd.tomcat.connector.port=8095

# Tomcat requires a unique port for shutdown
crowd.tomcat.shutdown.port=8020

# Crowd context root
crowd.url=http://localhost:8095/crowd

# Demo context root
demo.url=http://localhost:8095/demo

# OpenID server context root
openidserver.url=http://localhost:8095/openidserver
Parameter Description
hibernate.dialect This parameter controls the database dialect the Hibernate persistence system will use when executing commands versus your database server.
hibernate.transaction.factory_class This parameter controls the transaction factory to use when executing transactions at run-time:
Hibernate provides two generic options, additional application server specific options are available:
  • org.hibernate.transaction.JDBCTransactionFactory delegates to database (JDBC) transactions (default).
  • org.hibernate.transaction.JTATransactionFactory delegates to JTA (if an existing transaction is under way, the work performed is done in that context. Otherwise a new transaction is started).
crowd.url The path and port for the root of the Crowd Administration Console web-application.
demo.url The path and port for the root of the Crowd demo web-application
openidserver.url The path and port for the root of the CrowdID web-application

The build.xml File

This is an Ant script that loads properties from the build.properties configuration file.

The file is located at the root of your Crowd Installation directory (described above).

If configuring Crowd and/or the demo application to run on a port and context path other than the default, you will need to run the command  build.sh  (or  build.sh) against the  build.xml  configuration file. This process will then edit all of the necessary Crowd configuration files for your deployment.

The sample output from running build.xml will look similar to the following: 

shamid@mocha:~/atlassian-crowd-1.1.0$ ./build.sh
Buildfile: build.xml

init:

assistant:
 Changing Tomcat's connector port to 8095
 Changing Tomcat's shutdown port to 8020
Configuring the Crowd Console
Copying crowd.properties to: crowd-webapp/WEB-INF/classes
Copying 1 file to /home/shamid/atlassian-crowd-1.1.0/crowd-webapp/WEB-INF/classes
Configuring the Crowd hibernate configuration
Updating the HibernateDialect and TransactionFactory in crowd-webapp/WEB-INF/classes/jdbc.properties
Updating property file: /home/shamid/atlassian-crowd-1.1.0/crowd-webapp/WEB-INF/classes/jdbc.properties
Configuring the demo application
Renaming and copying demo.properties to: demo-webapp/WEB-INF/classes/crowd.properties
Copying 1 file to /home/shamid/atlassian-crowd-1.1.0/demo-webapp/WEB-INF/classes
Configuring the OpenID server application
Renaming and copying openidserver.properties to: crowd-openidserver-webapp/WEB-INF/classes/crowd.properties
Copying 1 file to /home/shamid/atlassian-crowd-1.1.0/crowd-openidserver-webapp/WEB-INF/classes
Configuring the OpenID hibernate configuration
Updating the HibernateDialect and TransactionFactory in crowd-openidserver-webapp/WEB-INF/classes/jdbc.properties
Updating property file: /home/shamid/atlassian-crowd-1.1.0/crowd-openidserver-webapp/WEB-INF/classes/jdbc.properties

BUILD SUCCESSFUL
Total time: 2 seconds
RELATED TOPICS
Document generated by Confluence on Sep 04, 2008 00:45