Important directories and files
This page contains information about the important directories and files to be aware of when configuring Crowd.
On this page:
Home directory
The Crowd home directory is where Crowd stores its configuration information. If you're using the embedded HSQL database, supplied for evaluation purposes, Crowd will also store its database in this directory (note however that the CrowdID database will be in the Crowd installation directory, not the home directory.)
The location of this directory is specified in the crowd-init.properties
file described below. You can set the location during installation.
You can check the location of your Crowd home directory on the System Information screen.
Important files and directories in the Crowd home directory:
bundled-plugins
directory
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 SAML integration plugin which provides the Google Apps SSO feature.
- The Shared Access Layer (SAL) plugins.
- The REST module plugin.
- And more.
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
.
caches
directory
The caches
directory is a sub-directory of your Crowd home directory. It contains various files that Crowd caches to improve performance. The files in sub-directories of this directory are either created or updated when you install or restart the Crowd web application.
Do not modify or remove these files while Crowd is running. It should be safe for you to delete these files between application restarts.
It may improve Crowd's performance if you link this sub-directory to a fast disk.
database
directory
If you are using the embedded HSQL database, supplied for evaluation purposes, Crowd will store its database in this directory (note however that the CrowdID database will be in the Crowd Installation directory, not the Crowd home directory.)
plugin-data
directory
The plugin-data
directory is a sub-directory of your Crowd home directory. Plugins developed for Crowd 2.12 and older will store their data here. The directory will be created the first time a plugin needs it.
crowd.properties
Crowd 3.0.0 and newer versions don't use the crowd.properties
file any more. When upgrading from an older version, the required settings from your crowd.properties
file will be migrated to the database, and the file will be renamed to crowd.properties.old
. The crowd.properties
file is still used by CrowdID, and other external integrations.
Shared directory
This directory contains common data for all nodes in your Crowd installation. If you are using Crowd Data Center, this directory is expected to be a network share accessible from every node. If you are not using Crowd Data Center, this will be an ordinary local directory. By default it is located in the shared
sub-directory of your Crowd home directory.
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.
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>
plugins
directory
The plugins
directory is a sub-directory of your Crowd shared directory. This directory will contain plugins that are not shipped with Crowd and that you have installed separately onto your Crowd instance.
backups
directory
The backups
directory is a sub-directory of your Crowd shared directory. This is the default location of Crowd backups.
Installation directory
This is the directory into which the downloaded Crowd application has been unzipped during installation.
Important files in the Crowd installation directory:
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 customized:
## 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
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 that the Hibernate persistence system will use when executing commands against your database server. | |
hibernate.transaction.factory_class | This parameter controls the transaction factory to use when executing transactions at run-time:
| |
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 |
|
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.bat
) 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
database
directory
If you are using the embedded HSQL database, supplied for evaluation purposes, CrowdID will store its database in this directory (note however that the Crowd database will be in the Crowd home directory, not the installation directory.)