Skip to end of metadata
Go to start of metadata

The OpenIndiana repositories at the time of this writing include Tomcat 6, but not Tomcat 7. It may be available as a package in other repositories that I don't know about, but I didn't really look because I wanted to use the same version of Tomcat 7, from the exact same zip file, that I use when developing our web applications.

This page uses Tomcat version 7.0.28. Your version will more than likely vary. Please adjust your paths accordingly.

1.) Download Tomcat 7 from the Apache Tomcat website: https://tomcat.apache.org/download-70.cgi I took the very first item, under Core, which gave me apache-tomcat-7.0.28.zip

2.) Tomcat 6, from the package included in the OpenIndiana repository, splits the files into two directories. I mimic this, so make the following directories:

# mkdir /usr/tomcat7
# mkdir /var/tomcat7

3.) Copy your zip file to /usr/tomcat, and unpack it. I used a GUI, so no CLI for this. Sorry.

# cp apache-tomcat-7.0.28.zip /usr/tomcat7/
# cd /usr/tomcat7
# unzip apache-tomcat-7.0.28.zip

That left me with a directory structure of "/usr/tomcat7/apache-tomcat-7.0.28".

4.) Leave bin, lib, and all the miscellaneous loose files where they are. Move everything else to /var/tomcat7.

# cd /usr/tomcat7/apache-tomcat-7.0.28

# mv conf /var/tomcat7/
# mv logs /var/tomcat7/
# mv temp /var/tomcat7/
# mv webapps /var/tomcat7/
# mv work /var/tomcat7/

5.)  Create the catalina.out log file:

# touch /var/tomcat7/logs/catalina.out

6.) Change the ownership of the files to mimic Tomcat 6.

File permissions has always been a weak area for me, no matter how much I read about them. This seemed to work for me:

# chown -R root:bin /usr/tomcat7
# chown root:bin /var/tomcat7

"cd" into your /var/tomcat7 directory.

# cd /var/tomcat7
# chown -R webservd:webservd *

# chmod 40755 logs
# chmod 40755 temp

"cd" into your bin directory. Make everything executable:

# cd /usr/tomcat7/apache-tomcat-7.0.28/bin
# chmod +x *

7.) Below is the method file that I modified from Tomcat 6 to work for Tomcat 7. Put it in /lib/svc/method, and make it executable.

http-tomcat7

# chmod +x /lib/svc/method/http-tomcat7

8.) If you are using a different version than 7.0.28, go into that method file and change your CLASSPATH accordingly.

9.) Below is the manifest file that I modified from Tomcat 6 to work for Tomcat 7. Put it in /lib/svc/manifest/network.

http-tomcat7.xml

10.) Import the service manifest file:

# svccfg import /lib/svc/manifest/network/http-tomcat7.xml

11.) Try to start the service:

# svcadm enable tomcat7

12.) Verify and/or troubleshoot it with:

# svcs -xv tomcat7

13.) Open a web browser, and type in "http://localhost:8080/" and press [Enter]. You should see the Tomcat 7 welcome page.

14.) Configure and secure your server as needed.

Note: If you are going to set up SSL in your Tomcat installation, you will need to define port 8443 (or whatever else you choose) in your /etc/services file:

https-alt 8443/tcp webcache # HTTPS Alternate, webcache
https-alt 8443/udp

If you would like to do this at the command line, you can do it like this:

# echo 'https-alt 8443/tcp webcache # HTTPS Alternate, webcache' >> /etc/services
# echo 'https-alt 8443/udp' >> /etc/services


I hope it helps!

 

Labels: