Von Zope zu Tomcat
oder von Python zu Java
Zuallererst sollte man die nötigen Tomcat- und Java-Pakete installieren, per
aptitude install tomcat5.5 sun-java5-jre libapache2-mod-jk
Das Paket libapache2-mod-jk enthält den Connector, mit dem Apache mit Tomcat sprechen kann, so daß nur der Webserver tatsächlich Pakete aus dem Internet annimmt. Dazu später mehr.
Damit Tomcat gar nicht auf den Gedanken kommt, Verbindungen aus dem Internet anzunehmen, sollte er nur an das loopback-Device binden. Die dafür zuständige Konfigurationsdatei ist /etc/tomcat5.5/server.xml. Hier sollte die Definition des http-Konnektors folgendermaßen geändert werden:
<Connector port="8180" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" address="127.0.0.1" />
Nach einem beherzten Neustart per invoke-rc.d tomcat5.5 restart sollte die Ausgabe von netstat -an |grep 8180 etwa folgendermaßen aussehen:
aptitude install tomcat5.5 sun-java5-jre libapache2-mod-jk
Das Paket libapache2-mod-jk enthält den Connector, mit dem Apache mit Tomcat sprechen kann, so daß nur der Webserver tatsächlich Pakete aus dem Internet annimmt. Dazu später mehr.
Damit Tomcat gar nicht auf den Gedanken kommt, Verbindungen aus dem Internet anzunehmen, sollte er nur an das loopback-Device binden. Die dafür zuständige Konfigurationsdatei ist /etc/tomcat5.5/server.xml. Hier sollte die Definition des http-Konnektors folgendermaßen geändert werden:
<Connector port="8180" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" address="127.0.0.1" />
Nach einem beherzten Neustart per invoke-rc.d tomcat5.5 restart sollte die Ausgabe von netstat -an |grep 8180 etwa folgendermaßen aussehen:
tcp6 0 0 ::ffff:127.0.0.1:8180 :::* LISTENNun sollten die Archive der zu installierenden Anwendungen in den webapps-Ordner kopiert werden, in meinem Fall war das eine war-Datei und ein komprimiertes tar-Archiv. Die war-Datei wandert einfach so nach $CATALINA_BASE/webapps, das tar-Archiv muß an dieselbe Stelle entpackt werden. Die Ordner unter $CATALINA_BASE/webapps entsprechendann den Url-Bestandteilen nach dem Hostnamen. Vor einem weiteren Neustart muß noch die Java Security Policy angepaßt werden, damit Tomcat Zugriff auf die neuen Unterverzeichnisse von $CATALINA_BASE/webapps hat. Hierzu ist es nötig, folgende Ergänzungen in /etc/tomcat/policy.d/50user.policy vorzunehmen:
grant codeBase "file:/${catalina.home}webapps/pebble/-"
permission java.security.AllPermission;
};
grant codeBase "file:${catalina.home}/webapps/jGallery/-"
permission java.security.AllPermission;
};
Zuguterletzt müssen noch in den Definitionen der virtualhosts von Apache die entsprechenden Pfadkomponenten eingehängt werden, etwa per
# Where to find workers.propertiesDie workers.properties-Datei sieht folgendermaßen aus:
JkWorkersFile /etc/apache2/workers.properties
# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# SHM info
JkShmFile /var/lib/mod-jk/jk.shm
JkShmSize 10M
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# JkMount points
JkMount /pebble/* localhost
worker.list=localhostNach einem Neustart von Apache und Tomcat steht dann die Webapplikation beispielsweise unter http://www.drexler-online.net/pebble/ zur Verfügung.
worker.localhost.port=8009
worker.localhost.host=localhost
worker.localhost.type=ajp13
worker.localhost.lbfactor=1
workers.tomcat_home=/usr/share/tomcat5.5
workers.java_home=/usr/lib/jvm/java-1.5.0-sun
Verwandte Einträge
Upgrade auf Lenny und Umstellung auf Dovecot
Serverkonfiguration
SSL-Problem












