You ever want to run multiple instance of tomcats with the same install base, but tired of copy and setup server.xml file? Attached are couple Groovy scripts that create new server instances, and a tool to quickly setup a new Groovlet webapp.
Assume you have installed Tomcat6 or Tomcat5 in /opt/tomcat directory.
ztoy:~/s zemian$ ./NewTomcatInstance.groovy /opt/tomcat mytomcat Create new instance dir /opt/tomcat/instances/mytomcat Create server.xml file with httpPort 8081, httpPort 8081 Create tomcat-user.xml file with manager role user. Create catalina-mytomcat.sh file Create ROOT webapp Create ROOT webapp web.xml Create ROOT webapp index.jsp Done. To Start Server: /opt/tomcat/bin/catalina-mytomcat.sh start To View Browser: http://127.0.0.1:8081
Run it again to create another instnace with mytomcat2, and it should configure to port 8082 and so on...
Each new server instance will contains a ROOT webapp that list all other webapps for quick links.
Also, the server instance is configured with Tomcat manager webapp enabled with a user: admin. If you are in this stage, you ought to know where to look for your password.
As stated in Tomcat documentation, enabling Tomcat manager is considered a potential security hole as it enable authenticated users to have total control over your webapps. It's enabled in this script for the sake of easy setup and quick management.
To remove a previous installed instance
ztoy:~/s zemian$ ./delete_tomcat_instance.groovy /opt/tomcat mytomcat
This script will create a new webapp directory structure with all the Groovlet setup ready.
ztoy:~/s zemian$ ./NewWebapp.groovy /opt/tomcat/instances/mytomcat/webapps mywebapp Create webapp Copy groovy jar to lib [copy] Copying 1 file to /opt/tomcat/instances/mytomcat/webapps/mywebapp/WEB-INF/lib Create webapp web.xml Create webapp index.gsp Create webapp mysqlreport.groovy Create webapp mysqlreport.gsp Done.
Start your server and you have a webapp ready to go!
The mysqlreport.groovy is a updated version of Andrew Glover's http://www.ibm.com/developerworks/java/library/j-pg03155/
And you will need mysql jdbc driver jar copy into mywebapp/WEB-INF/lib to work.