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:

Configuring a Crowd 'context' in Tomcat

  1. Create a file called crowd.xml that contains the following context:
    <Context path="/crowd" docBase="/path/to/atlassian-crowd-1.3-war-directory" reloadable="false"/>
    
  2. Place the file in your Tomcat's conf/Catalina/localhost/ directory.

  3. Modify the /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 installing Crowd or CrowdID on Windows, make sure that the paths you specify for the location of the WAR file and database are full paths including drive letters.

Configuring a CrowdID 'context' in Tomcat

If you are deploying CrowdID, you will need to specify a JNDI datasource.

  1. Create a file called 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>
    
  2. Place the file in your Tomcat's conf/Catalina/localhost/ directory.

  3. Modify the /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.
    If you are installing Crowd or CrowdID on Windows, make sure that the paths you specify for the location of the WAR file and database are full paths including drive letters.

  4. Modify the content of the above file appropriately for your database (e.g. Oracle, Postgres, etc). In particular, please remember to update the driveClassName.

  5. Copy the JDBC driver jar to your Tomcat's common/lib/ directory.

Modifying Tomcat's server.xml to allow for Unicode Character Set

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.

  1. In your Tomcat distribution's 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"/>
    
  2. Modify the block to include the 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'.

RELATED TOPICS
  • No labels