Tomcat 5

From Briki
Revision as of 16:43, 23 June 2006 by Andrew (talk)
Jump to: navigation, search

Webapp Locations

  • /var/lib/tomcat5/webapps/ - user webapps, plus ROOT, examples, docs etc.
  • /var/lib/tomcat5/server/webapps/ - builtin admin and manager webapps

Changing tomcat user

  • Set TOMCAT_USER in /etc/tomcat5/tomcat5.conf
  • See Fixing tomcat-users.xml.new error below
  • chown tomcat:tomcat /usr/share/tomcat5/conf/jk2.properties
  • chown tomcat:tomcat /usr/share/tomcat5/work/

Tidying up /etc/init.d/tomcat5 output

  1. In /etc/init.d/tomcat5
    1. Remove if statement around . /etc/init.d/rc.d/functions
    2. Change echo "waiting for processes to exit" to echo -n "."
    3. Add success after start and stop commands
  2. In /usr/bin/dtomcat5
    1. Comment out Using... lines
  3. In /usr/share/tomcat5/bin/relink
    1. Reorder find arguments to put -type d after mindepth and maxdepth arguments

Fixing tomcat-users.xml.new error

Error is javax.naming.NamingException: /usr/share/tomcat5/conf/tomcat-users.xml.new (Permission denied)

  1. chown tomcat:tomcat /etc/tomcat5 (NB. /usr/share/tomcat5/conf is a symlink to /etc/tomcat5)


Changing to use log4j logging

  1. Ensure log4j.jar and commons-logging.jar (or symlinks to them) are present is /usr/share/tomcat5/common/lib
  2. Create file /usr/share/tomcat5/common/classes/log4j.properties with contents:
    log4j.rootLogger=INFO, FileAppender
    
    log4j.appender.FileAppender=org.apache.log4j.RollingFileAppender
    log4j.appender.FileAppender.File=/var/log/tomcat5/tomcat.log
    log4j.appender.FileAppender.layout=org.apache.log4j.PatternLayout
    # Print the date in ISO 8601 format
    log4j.appender.FileAppender.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
    log4j.appender.FileAppender.MaxFileSize=1MB
    log4j.appender.FileAppender.MaxBackupIndex=4
    
    #log4j.logger.org.apache=DEBUG
    
  3. Comment out Logger section in /usr/share/tomcat5/conf/server.xml
  4. Create empty file /var/log/tomcat5/tomcat.log (tomcat complains without this, for some reason)

org.apache.jasper.JasperException: Unable to compile class for JSP

  1. chown tomcat:tomcat /usr/share/tomcat5/work/ (trailing slash is important)
  2. Restart tomcat


No Host matches server name error

  • Ensure /var/lib/tomcat5/webapps/ROOT is present - if not (and you're on Mandriva), you probably forgot to install the tomcat5-webapps and tomcat5-admin-webapps packages.


org.w3c.dom.DOMException: NOT_SUPPORTED_ERR error

  • For some reason, this occurred the first time cruisecontrol was run - restarting tomcat fixed it.

java.security.AccessControlException errors

  • Ensure CATALINA_OPTS contains -Djava.security.debug=access,failure in /etc/init.d/tomcat5
  • Restart tomcat and recreate the error
  • Run /usr/local/bin/catscan < /var/log/tomcat5/catalina_date.log to generate the required additions to /etc/tomcat5/policy.d/
  • Add the relevant permissions to a new, appropriately named file in /etc/tomcat5/policy.d/
  • Restart tomcat and retest
  • Rinse and repeat, until all errors gone