Am Tue, 7 Jun 2011 17:55:09 +0200 schrieb "Lentes, Bernd"
den Tomcat zu setzen. Wir nutzen Apache 2.2, Tomcat 6 und SLES 11 SP1. Es ist sehr wahrscheinlich, daß später weitere Webapps dazu kommen. Wir möchten, daß die aktuelle Webapp unter host.domain.tld später direkt erreichbar ist, ohne weitere Pfadangaben. Dies kann später auch für weitere Webapps gelten, es wäre dann analog host2.domain.tld usw. Ich weiß aber nicht genau, wie ich das machen soll.
Mit einer webapp kein Problem, aber mit mehreren kann es zu Problemen kommen, aber das hängt von der Art und Weise der URI-Bildung innerhalb der jeweiligen webapp ab. Bei konsequent relativer Adressierung oder wenn die Basis-URL irgendwo in der webapp hinterlegt werden kann, kann das klappen. Wenn es, wie von Dir erwähnt, akzeptabel ist, dass man mit einem vhost anfängt und dann auf eine http://vhost1.domain.de/app1/ weitergeleitet wird, dann brauchst Du eigentlich nur einen redirect einzufügen: http://httpd.apache.org/docs/current/mod/mod_alias.html#redirect Die andere Frage ist, ob Eure webapps so stabil laufen, dass man sie parallel in einem Tomcat bzw. in einer JVM laufen lassen möchte. Wir müssen hier nach einem webapp-Update häufiger den Tomcat neustarten, damit das S
Vhosts auf httpd-Seite anlegen kann ich, daß habe ich schon öfters gemacht. Per AJP würde httpd den request dann an tomcat weiterleiten. Dies mache ich mit JKMount Direktiven. Aktuell haben wir sowas: JkMount /mouseidgenes appl01
Ich würde es erstmal mit mod_proxy_ajp probieren. Es gibt Gründe hinsichtlich feinerer Konfigurierbarkeit, die für mod_jk sprechen, aber erstmal ist es mit mod_proxy_ajp einfacher.
Ginge ein JkMount / appl01 in der entsprechenden conf des vhosts ?
Ja, sicher geht das, wenn die webapp dann in webapps/ROOT/ abgelegt
wird.
Bei unseren vhosts sieht das im Apache2 wie folgt aus, wobei hier
zwischen lokalen Domains im LAN-Zugriff für Tomcat-Management-Apps und
registrierten Domains via public Internet für Produktion unterschieden
wird. Habe mal die meisten Teile drin gelassen, weil hier innerhalb
einer Konfiguration ajp13-Verbindungen sowohl via mod_proxy_ajp als
auch über mod_jk realisiert werden:
[crm@mikesch ~]$
cat /srv/conf.d/crm.conf #
# vhost-Konfiguration *.crm.firma.*
#
# vhost-spezifische mod_jk-Konfiguration
#
# Inhalte von crm.workers.properties hierher verlegt
JkWorkerProperty worker.list=crm
# Set properties for worker crm (ajp13)
JkWorkerProperty worker.crm.type=ajp13
JkWorkerProperty worker.crm.host=crm.firma.prod
JkWorkerProperty worker.crm.port=8009
# weitere Parameter:
# http://tomcat.apache.org/connectors-doc/generic_howto/workers.html
#
# Virtuelles IP-Alias via DNS
NameVirtualHost crm.firma.prod:80
#
# vhost fuer Produktion
#
<VirtualHost crm.firma.prod:80>
DocumentRoot /srv/crm/html
ServerName crm.firma.de
ServerAlias crm.firma.prod
ErrorLog /srv/crm/logs/error_log
TransferLog /srv/crm/logs/access_log
# Konfiguration mit Tomcat via mod_jk
JkLogFile /srv/crm/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel error
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# Send everything for context /* except /docs/, /probe/
# and /manager/ to worker named crm (ajp13)
JkMount /* crm
JkOptions +FlushPackets +ForwardKeySize +ForwardURICompat
-ForwardDirectories
JkUnMount /error/* crm
JkUnMount /docs/* crm
JkUnMount /probe/* crm
JkUnMount /manager/* crm
JkUnMount /j4p* crm
</VirtualHost>
#
# vhost fuer Management nur aus privaten Netz erlauben
#
<VirtualHost crm.firma.prod:80>
DocumentRoot /srv/crm/html/mgmt
ServerName mgmt.crm.firma.prod
ErrorLog /srv/crm/logs/error_log
TransferLog /srv/crm/logs/access_log
Alias /usage /srv/crm/html/mgmt/usage