Apache Tomcat
Apache Tomcat ist ein in Java geschriebener Servlet-Container, welcher einen JSP-Compiler und einen kompletten HTTP-Server enthält. In diesem Artikel soll auf die Grundinstallation und die Einrichtung der administrativen Konten eingegangen werden.
Installation
Die Version 7 des Apache Tomcat befindet im Extra-Repository:
# pacman -S tomcat7
Verwendung mit OpenJDK
Bei Verwendung des OpenJDK kommt es beim Starten des Tomcat-Daemon zu folgendem Fehler:
:: Starting tomcat7 daemon [BUSY] Cannot locate Java Home [FAIL]
Daher sollte das Startscript /etc/rc.d/tomcat7 wiefolgt angepasst werden:
#!/bin/bash source /etc/profile.d/openjdk6.sh daemon_name=tomcat7 . /etc/rc.conf . /etc/rc.d/functions . /etc/conf.d/${daemon_name} get_pid() { pidof -o %PPID ${daemon_name} } case "$1" in start) stat_busy "Starting ${daemon_name} daemon" PID=$(get_pid) if [ -z "$PID" ]; then [ -f /var/run/${daemon_name}.pid ] && rm -f /var/run/${daemon_name}.pid # RUN /usr/bin/jsvc \ -Dcatalina.home=${CATALINA_HOME} \ -Dcatalina.base=${CATALINA_BASE} \ -Djava.io.tmpdir=/var/tmp/tomcat7/temp \ -cp /usr/share/java/commons-daemon.jar:/usr/share/java/eclipse-ecj.jar:${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar \ -user tomcat \ -home $JAVA_HOME \
Inwieweit dieser Fehler auch bei Verwendung des Oracle JRE auftritt bleibt noch zu klären.
Administrative Konten anlegen
Für die Verwaltung des Servers über dessen Web-Interface sollten die entsprechenden Konten eingerichtet werden. Hierbei sollte in der Konfigurationsdatei /usr/share/tomcat7/conf/tomcat-users.xml zumindest ein Nutzer der Rolle manager-gui festgelegt werden, um später Applikationen auf dem Server installieren zu können:
<tomcat-users> <role rolename="manager-gui"/> <user username="johndoe" password="sehrgeheim" roles="manager-gui"/> </tomcat-users>
Server starten
Sind alle oben genannten Schritte erfolgreich, kann der Server gestartet werden:
# /etc/rc.d/tomcat7 start
Der Server sollte nun unter http://HOST_NAME:8080 erreichbar sein.
Der Server-Daemon lässt sich bei Bedarf auch in die rc.conf eintragen:
DAEMONS=(... @tomcat7 ...)
Anbindung an Apache HTTP Server
mod_proxy
Seit Version 2.2 des Apache HTTP Server unterstützt mod_proxy auch das Apache JServ Protocol (AJP). Dadurch lässt sich die Anbindung in der Konfigurationsdatei /etc/httpd/conf/httpd.conf sehr einfach einrichten:
ProxyPass /appname ajp://HOST_NAME:8009/appname ProxyPassReverse /appname ajp://HOST_NAME:8009/appname
Startreihenfolge der Server-Daemons
Hierbei sollte Tomcat möglichst vor dem Apache HTTP Server gestartet werden:
DAEMONS=(... tomcat7 httpd ...)