Ik ben al een tijdje bezig om Tomcat en Apache samen te laten werken om zo virtual hosts te kunnen gebruiken. Ik geef vlug een korte situatie schets:
Tomcat 5.5:
server.xml
onder de Engine ook nog
per applicatie die gedeployed wordt komt er een eigen context xml bestand, en dit in /conf/Catalina/localhost/ met localhost de naam die ik gegeven heb aan de default host name (zie hierboven)
In deze xml bestanden komt dan per applicatie het volgende:
bv. appartementen.xml in /conf/Catalina/localhost/
Nu heb ik ook een apache 2.2 geinstalleerd, hier lukt het om alle request die binnenkomen op de apache server door te geven aan een worker die ik gedefinieerd heb. bv door volgende regels worden alle requests doorgegeven naar de tomcat, en dit werk ook:
LoadModule jk_module modules/mod_jk-apache-2.2.3.so
JkWorkersFile conf/workers.properties
JKMount /* ajp13
Het probleem is nu:
Ik heb op de dns server ook een entry toegevoegd: appartementen.mijndomein.be en deze wil ik nu laten mappen naar de tomcat applicatie met context path /appartementen.
appartementen.mijndomein.be is een alias naar de machinenaam waar apache en tomcat op draaien.
kan iemand me helpen hoe ik dit voor elkaar moet krijgen? Kan dit zonder Apache en enkel in Tomcat ? Ik heb al verschillende malen andere Host elementen toegevoegd in de server.xml van tomcat, maar allemaal zonder resultaat (het is ook niet de bedoeling dat de appartementen applicatie 2x geïnstalleerd wordt)
Tomcat 5.5:
server.xml
XML:
1
2
| <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> |
onder de Engine ook nog
XML:
1
2
3
| <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> |
per applicatie die gedeployed wordt komt er een eigen context xml bestand, en dit in /conf/Catalina/localhost/ met localhost de naam die ik gegeven heb aan de default host name (zie hierboven)
In deze xml bestanden komt dan per applicatie het volgende:
bv. appartementen.xml in /conf/Catalina/localhost/
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <Context path="/appartementen" docBase="webapps\appartementen" workDir="work\Catalina\localhost\appartementen"> <Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/> <Resource name="jdbc/appartementen" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="..." password="..." driverClassName="com.ibm.as400.access.AS400JDBCDriver" url="jdbc:as400://..." removeAbandoned="true" /> </Context> |
Nu heb ik ook een apache 2.2 geinstalleerd, hier lukt het om alle request die binnenkomen op de apache server door te geven aan een worker die ik gedefinieerd heb. bv door volgende regels worden alle requests doorgegeven naar de tomcat, en dit werk ook:
LoadModule jk_module modules/mod_jk-apache-2.2.3.so
JkWorkersFile conf/workers.properties
JKMount /* ajp13
Het probleem is nu:
Ik heb op de dns server ook een entry toegevoegd: appartementen.mijndomein.be en deze wil ik nu laten mappen naar de tomcat applicatie met context path /appartementen.
appartementen.mijndomein.be is een alias naar de machinenaam waar apache en tomcat op draaien.
kan iemand me helpen hoe ik dit voor elkaar moet krijgen? Kan dit zonder Apache en enkel in Tomcat ? Ik heb al verschillende malen andere Host elementen toegevoegd in de server.xml van tomcat, maar allemaal zonder resultaat (het is ook niet de bedoeling dat de appartementen applicatie 2x geïnstalleerd wordt)
"Live as if you were to die tomorrow. Learn as if you were to live forever"