<< Backup-Skript für root-Server | Home | Audio-CDs aus mp3-Dateien mit k3b unter Hardy >>

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:
tcp6 0   0 ::ffff:127.0.0.1:8180   :::*  LISTEN
Nun 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.properties
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
Die workers.properties-Datei sieht folgendermaßen aus:
worker.list=localhost
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
Nach einem Neustart von Apache und Tomcat steht dann die Webapplikation beispielsweise unter http://www.drexler-online.net/pebble/ zur Verfügung.
Social Bookmarks :  Add this post to Slashdot    Add this post to Digg    Add this post to Reddit    Add this post to Delicious    Add this post to Stumble it    Add this post to Google    Add this post to Technorati    Add this post to Bloglines    Add this post to Facebook    Add this post to Furl    Add this post to Windows Live    Add this post to Yahoo!

Verwandte Einträge
Upgrade auf Lenny und Umstellung auf Dovecot
Serverkonfiguration
SSL-Problem





Kommentar hinzufügen