Chapter 45. Setting Up mod_jk2 with Embedded Tomcat

NoteNote
 

Replace ${JONAS_BASE} and ${APACHE_HOME} with appropriate values.

  1. Back up /$APACHE_HOME/conf/httpd.conf:

    cp $APACHE_HOME/conf/httpd.conf $APACHE_HOME/conf/httpd.conf.backup
  2. Edit (~line 208) httpd.conf to add the loading of mod_jk2.so:

    # Adding jk2_module reference.
    LoadModule jk2_module modules/mod_jk2.so
  3. Edit $APACHE_HOME/conf.d/JOnAS.conf with the following:

    Alias /docs/jonas "$JONAS_BASE/doc/jonas-4.1.2"
    <Directory "$JONAS_BASE/doc/jonas-4.1.2">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
     
    Alias /webapps/jonas "$JONAS_BASE/webapps/jonas"
    <Directory "$JONAS_BASE/webapps/jonas">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
     
    <IfModule mod_jk2.c>
     
    <Location /earsample>
        JkUriSet group jonas
    </Location>
     
    <Location /jonasAdmin>
        JkUriSet group jonas
    </Location>
     
    <Location /cmp2>
        JkUriSet group jonas
    </Location>
     
    <Location /alarm>
        JkUriSet group jonas
    </Location>
     
    </IfModule>
  4. Edit/create $APACHE_HOME/conf/workers2.properties with the following:

    [logger]
    level=DEBUG
    
    # Shared memory handling. Needs to be set.
    [shm]
    info=Scoreboard. 
    # Required for reconfiguration and status with 
    # multiprocess servers
    file=$APACHE_HOME/logs/jk2.shm
    size=1048576
    debug=0
    disabled=0
    
    # The channel configuration shall be consistent with
    # the configuration of JOnAS in server.xml
    # port = port of the AJP (jk2) connector
    # tomcatId = jvmRoute attribute of the <Engine> element
    [channel.socket:toJonas01]
    info=channel to a JOnAS instance 
    # tomcatId shall be identical to jvmRoute in the server.xml 
    # file of the JOnAS instance
    host=localhost
    port=9009
    group=jonas
    
    [status:status]
    info=provides info on the connecteur usage
    
    [uri:$/jkstatus*]
    info=get the connector usage info at /jkstatus
    group=status:status
  5. On the JOnAS side, edit $JONAS_BASE/conf/server.xml with the following content:

    ...
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
        port="9009" minProcessors="5" maxProcessors="75"
        enableLookups="true" redirectPort="9043"
        acceptCount="10" debug="0" connectionTimeout="0"
        useURIValidationHack="false"
        protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
    ...
    <Engine name="Tomcat-JOnAS-Engine" defaultHost="localhost" debug="0"
        jvmRoute="jonas01">
  6. Comment out all lines in $JONAS_BASE/conf/jk2.properties.

  7. Restart jonas and httpd services:

    service jonas restart; service httpd restart
  8. Deploy cmp2.ear and alarm.ear.

    Those applications are available at:

    • http://<hostname>/cmp2

    • http://<hostname>/earsample

    • http://<hostname>/alarm

    • http://<hostname>/jonasAdmin