Tomcat nicht als root auf port 80 starten
(diese methode funktioniert nur wenn der server von "ausserhalb"
aufgerufen wird, nicht von localhost)
Voraussetzungen:
- user "www" existiert (oder beliebiger user mit dem tomcat starten soll)
- tomcat ist installiert in verzeichnis: /usr/local/tomcat
1.Schritt: Tomcat Startskript editieren
Datei "/etc/init.d/tomcat" mit beliebigem Editor öffnen
folgende Zeile am Anfang einfügen:
export TOMCAT_USER=www
start, stop und restart einträge modifizieren wie in folgendem Beispiel
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export TOMCAT_USER=www
export JAVA_HOME=/usr/lib/jvm/java-6-sun
case $1 in
start)
iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j REDIRECT --to-port 8080
su $TOMCAT_USER -c /usr/local/tomcat/bin/startup.sh
;;
stop)
su $TOMCAT_USER -c /usr/local/tomcat/bin/shutdown.sh
iptables -t nat -D PREROUTING -p tcp --dport 80 -i eth0 -j REDIRECT --to-port 8080
;;
restart)
su $TOMCAT_USER -c /usr/local/tomcat/bin/shutdown.sh
su $TOMCAT_USER -c /usr/local/tomcat/bin/startup.sh
;;
esac
exit 0
2.Schritt: server-config-file bearbeiten
Die Datei "/usr/local/tomcat/servers/"servername"/conf/server.xml" mit beliebigem Editor öffnen.
Connector-Port auf den redirect-port umändern z.B.: Connector port="8080"
3.Schritt: Berechtigungen sicherstellen
dem user www muss das verzeichnis "/usr/local/tomcat" gehören.
(ansonsten: chown -R www:www /usr/local/tomcat)
Abonnieren
Kommentare zum Post (Atom)
3 Kommentare:
hallo,
erstmal: super tutorials!
ich hätte da noch ne frage:
ich habe einen vserver auf dem etch läuft. ich würde gern einen tomcat zusammen mit dem vorinstallierten apache2 laufen lassen. bisher habe ich aber noch kein tutorial gefunden, was funkioniert.
kannst du mir da weiterhelfen?
servus...
hast du schon irgendwas versucht? was genau ist das problem, dass es nicht funktioniert? grundsätzlich sollte es funktionieren, sofern nicht beide server auf den selben port eingestellt sind...
in einem meiner posts habe ich auch die möglichkeit eines apache-proxy-servers behandelt, der die eingehenden requests je nach url auf einen tomcat weiterroutet, vielleicht hilft das weiter (http://boernie.blogspot.com/2008/10/linux-debian-etch-apache-als.html)..
lg boernie
hey,
also ich habe bisher immer versucht tomcat und apache2 über connectoren zu verbinden. bin aber nie weit gekommen, weil mir das verständnis gefehlt hat oder dann anweisungen beschrieben waren, die nicht funktioniert haben.
ich werde mir heute mal deinen link angucken. sieht vorerst so aus, als ob das meine probs lösen könnte.
vielen danke schon mal, ich melde mich nochmal. ;)
Kommentar veröffentlichen