
Documentation for Crowd 1.6. Documentation for other versions of Crowd is available too.
The standard Crowd installation guide tells you how to install the Standalone distribution of Crowd, which includes Apache Tomcat. You may wish to deploy Crowd on your own existing application server instead. For this purpose, we provide WAR (Webapp ARchive) distributions of the Crowd and CrowdID server applications.
This page contains specific configuration steps for deploying Crowd or CrowdID on an existing Apache Tomcat server.
Please refer also to the generic WAR setup guide.
On this page:
crowd.xml that contains the following context:
<Context path="/crowd" docBase="/path/to/atlassian-crowd-war-directory" reloadable="false"/>
conf/Catalina/localhost/ directory. /path/to/atlassian-crowd-war-directory to reflect the actual path to your Crowd WAR distribution. To avoid problems with your deployment, this should NOT be Tomcat's webapps directory.If you are deploying CrowdID, you will need to specify a JNDI datasource.
openidserver.xml that resembles the following example for a MySQL database:
<Context path="/openidserver" docBase="/path/to/atlassian-crowd-openid-war-directory" reloadable="false">
<Resource name="jdbc/CrowdIDDS" auth="Container" type="javax.sql.DataSource"
username="crowdiduser"
password="mypassword"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/crowdopenidserverdb?autoReconnect=true"/>
</Context>
conf/Catalina/localhost/ directory. /path/to/atlassian-crowd-openid-war-directory to reflect the actual path to your CrowdID WAR distribution. To avoid problems with your deployment, this should NOT be Tomcat's webapps directory.driveClassName. common/lib/ directory.If your user directory contains usernames or group names with Unicode characters, you need to modify your Tomcat distribution's conf/server.xml file. For example, you need to do this if your user directory allows for internationalised characters in usernames.
The additional setting described below will ensure that the HTTP query string is encoded in the same way as the body, instead of using the URI character encoding.
conf/server.xml file, find the connector definition for your HTTP protocol. The connector definition looks very much like this:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
useBodyEncodingForURI property with value set to 'true':
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true"/>
This setting affects all web applications
Because you must define this property at the connector level, this setting will affect all web applications you have deployed under the connector. This should not adversely affect the other web applications, but please be aware of this fact. Crowd and CrowdID will run fine without this property set, but you will run into issues if a username or group contains internationalised characters. It is best to set this property to 'true'.