Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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
      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/
      
  • 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:
      8005 to 8105
      8080 to 8180
      8443 to 8543
      8009 to 8109
      
    • Make the following port number changes for tomcat2:
      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
      From:
      serverId=stubing
      
      To:
      serverId=stubing-tomcat1
      
    • Edit /ucd/pkg/tomcat2/sakai/sakai.properties
      From:
      serverId=stubing
      
      To:
      serverId=stubing-tomcat2
      
  • 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
      From:
      smtp.enabled = true
      
      To:
      smtp.enabled = false
      
  • Make sure that you adjust JAVA_OPTS so that both JVMs have enough memory. In our case this will be:
    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
      cd /ucd/pkg/tomcat1/bin
      setenv CATALINA_HOME /ucd/pkg/tomcat1 ; ./shutdown.sh ; ./ startup.sh ; tail -f ../logs/catalina.out
      
    • Starting tomcat2
      cd /ucd/pkg/tomcat2/bin
      setenv CATALINA_HOME /ucd/pkg/tomcat2 ; ./shutdown.sh ; ./ startup.sh ; tail -f ../logs/catalina.out
      
  • 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
  • Make sure that you adjust /etc/rc.d/rc.local to not just start one tomcat
  • No labels