Documentation for Crowd 1.4. 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-1.3-war-directory" reloadable="false"/>
conf/Catalina/localhost/
directory.
/path/to/atlassian-crowd-1.3-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-1.3-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-1.3-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'.