I'm going to put these notes here, for me, so I can do it again if I stuff things up, and for other people. You can cut and paste these commands blindly, or do them one at a time.
I did this on a Ubuntu "Jaunty" server, with 6.0.18-0ubuntu6.1 installed. Your mileage may vary if you have a different distro/version.
Decisions I made:
- I decided to call my dev one tomcat6dev.
- I chose to run it as the same user as the "live" one (tomcat6) - you can use another user if you like.
- I wanted to symlink as much stuff as possible, so that updates would apply to them both
cd /etc/
cp tomcat6/ tomcat6dev/ -Rfv
cd tomcat6dev/
rm catalina.properties
ln -s ../tomcat6/catalina.properties
rm context.xml
ln -s ../tomcat6/context.xml
rm policy.d/ -Rfv
ln -s ../tomcat6/policy.d/
rm logging.properties
ln -s ../tomcat6/logging.properties
rm tomcat-users.xml
ln -s ../tomcat6/tomcat-users.xml
rm web.xml
ln -s ../tomcat6/web.xml
vim server.xml
I can't script this bit for you. I changed all the ports from 8xxx to 9xxx.
cd /etc/init.d/
cp tomcat6 tomcat6dev
vim tomcat6dev
Change the "NAME" statement to tomcat6dev
cd /usr/share/
mkdir tomcat6dev
cd tomcat6dev/
ln -s ../tomcat6/bin
ln -s ../tomcat6/lib
mkdir webapps
cd /var/lib
mkdir tomcat6dev
cd tomcat6dev/
ln -s ../../log/tomcat6dev logs
ln -s /etc/tomcat6dev conf
ln -s ../../cache/tomcat6dev work
mkdir webapps
cd /var/cache/
mkdir tomcat6dev
cd tomcat6
cd ../../log/
mkdir tomcat6dev
Now I have to sort out the permissions. I wish I'd used cp -Rafv earlier.
cd /var/log
chown tomcat6:adm tomcat6dev
chmod 750 tomcat6dev
cd /var/cache/
chown tomcat6:adm tomcat6dev
chmod 750 tomcat6dev
cd /etc/
vim tomcat6dev/Catalina/localhost/manager.xml
# Did I change anything here?
cd /usr/share/
ln -s tomcat6-admin/ tomcat6dev-admin
cd /etc/tomcat6dev/Catalina/localhost/
rm *.xml
cd ..
cd ..
chgrp tomcat6 Catalina/
chmod 775 Catalina/
chmod 775 Catalina/localhost/
chgrp tomcat6 Catalina/localhost/
cd /var/
chgrp tomcat6 lib/tomcat6dev/webapps/
chmod 775 lib/tomcat6dev/webapps/
Now create a couple of workers, live and dev perhaps, and sort them out.
vim /etc/apache2/workers.properties
And restart apache.
/etc/init.d/apache2 restart
Finally, you get to start your tomcat6dev, and see what happens.
/etc/init.d/tomcat6dev start
Then browse to http://your-ip:9080/manager/html and see what happens.