--------
This will help you install tomcat in one location and have multiple instances running for individual clients:
Why would you want to do this:
==============================
1) Install tomcat in 1 location and have x number of instances running on a per client basis
2) Upgrade tomcat and have it propagate to all clients
3) Limit the resources each tomcat instance uses
4) Tomcat runs as the individual user rather than "root" or "tomcat"
5) Each user has its own manager; hence, no security risk to others
6) Start/Stop/Restart tomcat instances without affecting other clients who also have a tomcat instance
Assumptions:
============
1. Tomcat is installed in: /usr/local/tomcat (TOMCAT_HOME)
2. Instances are installed in: /usr/local/tomcat/instances
3. Java is installed somewhere on your machine
Step 1 - Create a Tomcat Instance
=================================
- Create a directory in /usr/local/tomcat/instances/user1 (CATALINA_BASE)
- Create a set of directories (conf,temp,logs,webapps) in $CATALINA_BASE
- Copy web.xml,server.xml,tomcat-users.xml from $TOMCAT_HOME/conf to $CATALINA_BASE/conf
- Create a bash script called user1startstop.sh as follows and make it executable
Step 2 - Configure the Tomcat Instance
======================================
- edit $TOMCAT_BASE/conf/server.xml:
Replace: ... port=8005 with port 8101 ... This is shutdown port
Replace: ... port=8080 with port 8201 ... This is http port
Replace: ... port=8009 with port 8301 ... This is the AJP port
- edit $TOMCAT_HOME/conf/workers.properties
Add: user1 to worker.list=ajp12,ajp13...
Add:
worker.user1.host=localhost
worker.user1.port=8301
worker.user1.lbfactor=1
worker.user1.type=ajp13
Under:
DEFAULT ajp13 WORKER DEFINITION
Step 3 - Modify Main Tomcat (One-Time)
======================================
Edit $TOMCAT_HOME/bin/Tomcat5.sh
Add:
Modify start case with the following:
Modify end case with the following:
Step 3 - Configure Apache
=========================
- Edit httpd.conf
Add the following code under the VirtualHost definition of the user in question:
<IfModule mod_jk.c>
JkMount /*.jsp user1
JkMount /webapps/* user1
JkMount /servlets/* user1
JkMount /servlet/* user1
</IfModule>
Step 4 - Restart Apache
Step 5 - run $TOMCAT_INSTANCE/user1startstop.sh start
That's it.
I have 5 instances of tomcat running on my machine and it works like a charm.
This will help you install tomcat in one location and have multiple instances running for individual clients:
Why would you want to do this:
==============================
1) Install tomcat in 1 location and have x number of instances running on a per client basis
2) Upgrade tomcat and have it propagate to all clients
3) Limit the resources each tomcat instance uses
4) Tomcat runs as the individual user rather than "root" or "tomcat"
5) Each user has its own manager; hence, no security risk to others
6) Start/Stop/Restart tomcat instances without affecting other clients who also have a tomcat instance
Assumptions:
============
1. Tomcat is installed in: /usr/local/tomcat (TOMCAT_HOME)
2. Instances are installed in: /usr/local/tomcat/instances
3. Java is installed somewhere on your machine
Step 1 - Create a Tomcat Instance
=================================
- Create a directory in /usr/local/tomcat/instances/user1 (CATALINA_BASE)
- Create a set of directories (conf,temp,logs,webapps) in $CATALINA_BASE
- Copy web.xml,server.xml,tomcat-users.xml from $TOMCAT_HOME/conf to $CATALINA_BASE/conf
- Create a bash script called user1startstop.sh as follows and make it executable
Step 2 - Configure the Tomcat Instance
======================================
- edit $TOMCAT_BASE/conf/server.xml:
Replace: ... port=8005 with port 8101 ... This is shutdown port
Replace: ... port=8080 with port 8201 ... This is http port
Replace: ... port=8009 with port 8301 ... This is the AJP port
- edit $TOMCAT_HOME/conf/workers.properties
Add: user1 to worker.list=ajp12,ajp13...
Add:
worker.user1.host=localhost
worker.user1.port=8301
worker.user1.lbfactor=1
worker.user1.type=ajp13
Under:
DEFAULT ajp13 WORKER DEFINITION
Step 3 - Modify Main Tomcat (One-Time)
======================================
Edit $TOMCAT_HOME/bin/Tomcat5.sh
Add:
Modify start case with the following:
Modify end case with the following:
Step 3 - Configure Apache
=========================
- Edit httpd.conf
Add the following code under the VirtualHost definition of the user in question:
<IfModule mod_jk.c>
JkMount /*.jsp user1
JkMount /webapps/* user1
JkMount /servlets/* user1
JkMount /servlet/* user1
</IfModule>
Step 4 - Restart Apache
Step 5 - run $TOMCAT_INSTANCE/user1startstop.sh start
That's it.
I have 5 instances of tomcat running on my machine and it works like a charm.