This is how you would host multiple domains/webapps on a single tomcat behind apache via mod-jk.
first setup tomcat behind apache
I am setting up a new domain called dogself.com:
in server.xml add this under last host:
create a webapps-dogself directory next to webapps and give it the same permissions
in your virtualhost apache config:
If you want the manager app to work on the domain you need to:
and copy the manager.xml into it from /etc/tomcat6/Catalina/localhost
in /var/lib/tomcat6 create a webapps-dogself dir and give it 0775 perms and chown it to tomcat:tomcat
restart tomcat and apache
Troubleshooting:
if you get error:
worker dogself can't resolve tomcat address dogself.com
Check that your dns a/aaaa records point to your ip. Comment out the worker in workers.properties and see if you can get to the apache vhost.
if any of the domains seems to point to another domain, ie the war that is running on one domain is incorrect. check if you are in the www.domain and if you have aliased the www both in tomcat and in apache. if you dont alias the www correctly tomcat will send you the the defaultDomain as defined in server.xml
first setup tomcat behind apache
I am setting up a new domain called dogself.com:
in server.xml add this under last host:
<Host name="dogself.com" appBase="webapps-dogself" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <alias>www.dogself.com<alias> </Host>
and also add another connector port:
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
create a webapps-dogself directory next to webapps and give it the same permissions
in your virtualhost apache config:
ServerName dogself.com JkMount /* dogself
in workers.properties add dogself worker to list:
worker.list=another,dogself # Define dogself worker.dogself.port=8010
worker.dogself.host=dogself.com worker.dogself.type=ajp13
If you want the manager app to work on the domain you need to:
mkdir /etc/tomcat6/Catalina/dogself.com
and copy the manager.xml into it from /etc/tomcat6/Catalina/localhost
in /var/lib/tomcat6 create a webapps-dogself dir and give it 0775 perms and chown it to tomcat:tomcat
restart tomcat and apache
Troubleshooting:
if you get error:
worker dogself can't resolve tomcat address dogself.com
Check that your dns a/aaaa records point to your ip. Comment out the worker in workers.properties and see if you can get to the apache vhost.
if any of the domains seems to point to another domain, ie the war that is running on one domain is incorrect. check if you are in the www.domain and if you have aliased the www both in tomcat and in apache. if you dont alias the www correctly tomcat will send you the the defaultDomain as defined in server.xml
Thank you very much! This was very helpful :)
ReplyDelete