Child pages
  • Install Tomcat 7
Skip to end of metadata
Go to start of metadata
  • Apache Tomcat -
  • Note: Always do a fresh install of Tomcat
  • Note: Windows users should ensure that there are no spaces in the complete tomcat path as this causes errors with JSF tools in Sakai
    GOOD: C:\opt\tomcat\, C:\sakaistuff\installs\tomcat\
    BAD: C:\program files\tomcat\, C:\opt\apache tomcat 7.0.1\
  1. Download tomcat 7 -
    • Windows users should get the zip file instead of installing a service
      It makes viewing the tomcat logs easier and it is easier to configure

      If you're running the tag of Sakai 2.9.1 or earlier you need to be running Tomcat 7.0.21 or earlier. If you go any higher Webdav and Sitestats will have errors and not work.
      STAT-339 - Sitestats does not load with Tomcat 7.0.35 ( Closed)
      SAK-23156 - IncompatibleClassChangeError from WebDAV LOCK operations giving 500 response code ( Closed)
  2. Extract to /opt (symlink the apache-tomcat-7.0.x directory to tomcat after extracting)
    • Windows users should just rename the directory since they cannot symlink
  3. Extract the files to the same location as tomcat itself
  4. Modify conf/server.xml for international character support
    1. Add URIEncoding="UTF-8" to the Connector element
      • <Connector port="8080" URIEncoding="UTF-8" ...
  5. Set environment variable: CATALINA_HOME=/opt/tomcat
  6. Add $CATALINA_HOME/bin to PATH
  7. Setup the SETENV file in the tomcat/bin directory with JAVA_OPTS (from Install Java 1.6+)
    1. Mac/Linux: Create a file called with the following (alternately, you can put this into your .bashrc file so they're automatically executed):

    2. Windows(PC): Create a file called setenv.bat with the following:

  8. [OPTIONAL] Delete the default webapps from the webapps dir

    rm -rf webapps/*
  9. Configure tomcat 7 to use the old tomcat 5.5 classloader dirs
    1. Edit conf/
      1. Add the following to the line that begins with "common.loader=..."

      2. Add the following to the line that begins with "shared.loader=..."

      3. Add the following to the line that begins with "server.loader=..."

    2. [OPTIONAL] Create the directories

      mkdir -p shared/classes shared/lib common/classes common/lib server/classes server/lib
  • No labels


  1. Is configuring Tomcat7 for the old Tomcat5.5 classloader dir structure still required for Sakai2.9 installs, or is this just to get Sakai2.7 working with Tomcat7?

  2. It's still required at the moment for 2.9. We discussed on some of the lists changing the deployment scripts either dumping it into the same lib, or everything into a different lib (like /sakai/lib, which would still require modification). Neither of these are done and ready for 2.10 though.