Open.ControlTier > Documentation
 

Installing Workbench on Tomcat 4.1.x

Scope

This document describes how to setup Tomcat 4.1.x, to be used as a ControlTier server, using a WebDAV repository, a Mysql model datastore, and LDAP for authentication and authorization.

These instructions have been tested with Tomcat 4.1.30.

Unpack ControlTier Server Webapp

The name of the ControlTier Server webapp is "itnav". Create directory $CATALINA_BASE/webapps/itnav. Copy the itnav.war file to $CATALINA_BASE/webapps/itnav

mkidr $CATALINA_BASE/webapps/itnav
cd $CATALINA_BASE/webapps/itnav
cp /path/to/the/downloaded/itnav.war ./
unzp itnav.war

Configure Workbench RDB Settings

Workbench database configuration information is maintained in a file called bootstrap.properties: $CATALINA_BASE/webapps/itnav/WEB-INF/classes/bootstrap.properties

Change the following three settings to the values used in the MySQL database setup.

	  ngps.workbench.backend.rdb.user = ctier
	  ngps.workbench.backend.rdb.pass = <ctierPassword>
	  ngps.workbench.backend.rdb.url = jdbc:mysql://localhost:3306/WorkbenchDB
	
Note
on linux machines, ensure the localhost entry in the /etc/hosts file is properly configured. It may need to be modified since MySQL does a gethostbyaddr. Ensure there is a localhost entry and not just localhost.localdomain.

Update Tomcat Libraries

Warning
Due to a version conflict for Xerces, it is necessary to replace the xerces and xml parser .jar's and add the xalan jar in $CATALINA_HOME/common/endorsed directory. The Workbench webapp provides the correct xerces, xml-api, and xalan jar files. (Ensure these are the only jars in this directory).
  cp $CATALINA_BASE/webapps/itnav/WEB-INF/lib/xerces-2.6.1.jar $CATALINA_HOME/common/endorsed/xercesImpl.jar
  cp $CATALINA_BASE/webapps/itnav/WEB-INF/lib/xml-apis-2.6.1.jar $CATALINA_HOME/common/endorsed/xml-apis.jar
  cp $CATALINA_BASE/webapps/itnavE/WEB-INF/lib/xalan-2.6.0.jar $CATALINA_HOME/common/endorsed/xalan.jar
	

Update Tomcat's Execution Path

Depending on the installation path of Graphviz and the dot executable, the PATH environment variable may need to be updated in Tomcat's startup script. The following unix/win32 examples add Graphviz to Tomcat's execution path. For unix, edit $CATALINA_HOME/bin/startup.sh:

           PATH=/usr/local/bin:$PATH
           export PATH
	

For Win32, edit %CATALINA_HOME%\bin\startup.bat:

           set Path=C:\Program Files\ATT\Graphviz\bin;%Path%
	
Note
The Graphviz installation location may vary.

Configure Tomcat JNDIRealm

or Workbench to use LDAP for authentication and authorization, add the following fragment to the $CATALINA_BASE/conf/server.xml:

	  <Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
             connectionName="cn=Manager,dc=controltier,dc=com"
             connectionPassword="secret"
             connectionURL="ldap://localhost:3890/"
             roleBase="dc=roles,dc=controltier,dc=com"
             roleName="cn"
             roleSearch="uniqueMember={0}"
             roleSubtree="false"
             userPassword="userPassword"
             userPattern="cn={0},dc=controltier,dc=com"/>
	

If the LDAP server is located on a different machine than where Workbench is hosted, change the 'connectionURL' attribute accordingly.

Configure Tomcat HTTP Port

By default, Tomcat runs on port 8080. To change this configuration setting locate the 'Connector' tag and change the port attribute:

	  <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8080" address="0.0.0.0" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="60000"/>
	
Warning
The Workbench webapp has runtime configuration that depends on listen port of the tomcat server. If the default port is configured to other than 8080, refer to $CATALINA_BASE/webapps/itnav/WEB-INF/classes/runtime.properties property file and modify port accordingly.

Configure Tomcat's WebDAV webapp

By default, the webdav servlet is configured as read-only. Set the readonly parameter from true to false in the CATALINA_BASE/webapps/webdav/WEB-INF/web.xml:

  <servlet>
    <servlet-name>webdav</servlet-name>
    <servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>listings</param-name>
      <param-value>true</param-value>
    </init-param>
    <!-- Uncomment this to enable read and write access -->
    <init-param>
      <param-name>readonly</param-name>
      <param-value>false</param-value>
    </init-param>
    <!--load-on-startup>1</load-on-startup-->
  </servlet>
        

Configure webdav BASIC authentication and the ControlTier user, admin, and architect roles:


  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Administrative</web-resource-name>
      <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>user</role-name>
       <role-name>admin</role-name>
       <role-name>architect</role-name>
    </auth-constraint>
  </security-constraint>
      
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>JNDIRealm</realm-name>
  </login-config>


        

Start Tomcat

Tomcat should now be ready to run Workbench. To start using Workbench, first start (or restart) the Tomcat server with Tomcat's bin/startup.(sh|bat) scripts, and point your browser to http://localhost:8080/itnav.