Assumptions:
- Having a working single Tomcat/Sakai instance installation
- /ucd/pkg/apache-tomcat-5.5.12 (soft linked via: /ucd/opt/tomcat)
Create a second instance
- Make sure that tomcat is NOT running. If it is running stop tomcat
- Create a directory where the Sakai user can store content and archive. Make sure that these directories are owned by the tomcat/sakai user and that it has read/write access
- mkdir /var/sakai
- chown sakai.sakai /var/sakai
- Move the initial content and archive directories
- mv /ucd/pkg/apache-tomcat-5.5.12/sakai/content /var/sakai/
- mv /ucd/pkg/apache-tomcat-5.5.12/sakai/archive /var/sakai/
- chown -R sakai.sakai /var/sakai
- Remove the soft link /ucd/opt/tomcat
- rm /ucd/opt/tomcat
- Adjust sakai.properties to match the new archive and content location. Edit the following lines:
- sakai.properties is located at: /ucd/pkg/apache-tomcat-5.5.12/sakai/sakai.properties
No Format From: storagePath@org.sakaiproject.service.legacy.archive.ArchiveService = ${sakai.home}/archive/ bodyPath@org.sakaiproject.service.legacy.content.ContentHostingService = ${sakai.home}/content/ To: storagePath@org.sakaiproject.service.legacy.archive.ArchiveService = /var/sakai/archive/ bodyPath@org.sakaiproject.service.legacy.content.ContentHostingService = /var/sakai/content/
- sakai.properties is located at: /ucd/pkg/apache-tomcat-5.5.12/sakai/sakai.properties
- Rename apache-tomcat-5.5.12 to tomcat1
- mv apache-tomcat-5.5.12 tomcat1
- Copy tomcat1 to tomcat2
- cp -R tomcat1 tomcat2
- Adjust both tomcat1's and tomcat2's server.xml so that we don't have port conflicts
- server.xml is located at:
- /ucd/pkg/tomcat1/conf/server.xml and /ucd/pkg/tomcat2/conf/server.xml
- Make the following port number changes for tomcat1:
No Format 8005 to 8105 8080 to 8180 8443 to 8543 8009 to 8109
- Make the following port number changes for tomcat2:
No Format 8005 to 8205 8080 to 8280 8443 to 8643 8009 to 8209
- Change the serverId in sakai.properties for both tomcat1 and tomcat2
- Edit /ucd/pkg/tomcat1/sakai/sakai.properties
No Format From: serverId=stubing To: serverId=stubing-tomcat1
- Edit /ucd/pkg/tomcat2/sakai/sakai.properties
No Format From: serverId=stubing To: serverId=stubing-tomcat2
- Edit /ucd/pkg/tomcat1/sakai/sakai.properties
- We only run James on tomcat1, so we need to disable it on tomcat2
- Change the following line in: /ucd/pkg/tomcat2/sakai/sakai.properties
No Format From: smtp.enabled = true To: smtp.enabled = false
- Change the following line in: /ucd/pkg/tomcat2/sakai/sakai.properties
- Make sure that you adjust JAVA_OPTS so that both JVMs have enough memory. In our case this will be:
No Format setenv JAVA_OPTS "-server -Xms1500m -Xmx1500m -XX:PermSize=16m -XX:MaxPermSize=128m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps"
- When starting either tomcat instance, we have to make sure that we use specific CATALINA_HOME settings for each instance.
- Starting tomcat1
No Format cd /ucd/pkg/tomcat1/bin setenv CATALINA_HOME /ucd/pkg/tomcat1 ; ./shutdown.sh ; ./ startup.sh ; tail -f ../logs/catalina.out
- Starting tomcat2
No Format cd /ucd/pkg/tomcat2/bin setenv CATALINA_HOME /ucd/pkg/tomcat2 ; ./shutdown.sh ; ./ startup.sh ; tail -f ../logs/catalina.out
- Starting tomcat1
- Adjust "iptables" to allow traffic for both port 8180 as well as 8280
- Adjust port-forwarding from "80 --> 8080" to "80 --> 8180" if necessary
- Maybe restrict access to 8180 and 8280 only form the load balancer