PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache Tomcat-Server unter OpenSuse11



gnoovy
22.09.08, 09:28
hi leutz,

möchte unter OpenSuse11 einen Apache Tomcat-Server einrichten. Habe mir dazu die Binaries tar.gz heruntergeladen. Wie ich herausgefunden habe, braucht man hier nur die catalina.sh starten und der Tomcat ist mittels Port 8080 erreichbar. Nur wie kann ich es erreichen, dass der Tomcat nun automatisch bei jedem Serverstart ebenfalls startet? Bezüglich dem JAVA_Home-Verzeichnis habe ich derzeit einen Automatismus geschaffen, indem ich in der /etc/profile den Eintrag export JAVA_HOME=<Java-Pfad> angegeben habe. Meine Frage wäre hier noch, ob die /etc/profile nur abgearbeitet wird, wenn ich mich am Server anmelde, oder ob diese Information generell beim Serverstart schon verfügbar ist. Wenn nein wo muss ich dann die JAVA_HOME-Variable sonst setzen?

marce
22.09.08, 09:36
wieso nimmst Du nicht den TomCat aus den Suse-Repos?

Ansonsten müsstest Du Dir nur ein entsprechendes rc-Script erstellen, welches dem TomCat die notwendige Umgebung bereitstellt und dieses in den entsprechenden Runleveln eintragen - eine Script-Vorlage sollte sich unter /etc/init.d finden

gnoovy
22.09.08, 10:28
Hi marce,

vielen Dank für die schnelle Hilfe. Leider kann ich mittels YAST nur die Tomcat6-Version installieren. Ich muss jedoch ein DMS-System implementieren, welches zur Zeit nur die Versionen 5.5.23 / 26 unterstützt. Außer du wüsstest wo ich hier RPMS für opensuse11 herbekomme. Habe mal aus einem opensuse 10.3 ftp-server die 5.5.23-110.noarch.rpm gezogen. Glaube so war die Bezeichnung. Installation verlief auch supi, allerdings war dies dennoch die Version 5.5.20. Somit lief die DMS-Installation ins Nirvana, da wie gesagt nur obige Versionen zur Zeit unterstützt werden.

wie sieht so eine Scriptvorlage aus? Sorry für die dumme Frage, aber in diesem Bereich bin ich leider noch nicht sonderlich erfahren.

marce
22.09.08, 10:50
Schau Dir mal /etc/init.d/skeleton an...

gnoovy
24.09.08, 22:43
hi leutz,

also hat geklappt. Folgendes Script habe ich verwendet:


#!/bin/bash
#
# Tomcat Start-Skript
#

CATALINA_HOME=/programme/apache-tomcat-5.5.26; export CATALINA_HOME
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0_update16/jre; export JAVA_HOME
TOMCAT_OWNER=root; export TOMCAT_OWNER

start () {
echo -n "Starting Tomcat: "
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh
sleep 2
}
stop () {
echo -n "Stopping Tomcat: "
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh
sleep 2
}

# Aufrufmöglichkeiten
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: tomcat {start|stop|restart}"
exit
esac


wenn ich allerdings nun unter /etc/rc.d/rc3.d mittels ln -f /etc/init.d/tomcat K90tomcat und ln -f /etc/init.d/tomcat S90tomcat diesen fertig konfigurieren will, fügt er mir die Links nicht ein.
Mittels chkconfig zeigt er mir beim Dienst anstatt on oder off nach dem Versuch der Links eine 3 an. Versuche ich mittels chkconfig --set tomcat on dann zeigt er mir die Meldung "Missing LSB tags and overrides". An was könnte das liegen?

marce
25.09.08, 07:01
einfaches Verlinken tut bei Suse nicht mehr. Dafür gibt's insserv - oder den Runlevel-Editor von Yast, da Suse in den Headern der Initscripte noch ein paar Infos drin haben will (deswegen ja auch der Verweis auf /etc/init.d/skeleton - die ganzen Kommentare darin sind nicht nur Kommentare sondern auch Verwaltungsinformationen)

gnoovy
25.09.08, 23:11
hi marce,

supi vielen Dank hat geklappt. Habe jetzt einen User tomcat + Gruppe tomcat angelegt und beide als Owner auf das Tomcat-Verzeichnis mittels -R gesetzt um die neuen Owner überall hin zu vererben. Wenn ich jetzt in meinem Script bei owner anstatt root tomcat eintrage, kann ich den Dienst nicht starten. funzt nur als root. was mache ich hier noch falsch?

marce
26.09.08, 07:27
es gibt doch bestimmt eine konkrete Fehlermeldung?

Und was heißt "lässt sich nicht starten" - beim Booten automatisch oder auch von Hand? Und poste mal das Script.

gnoovy
26.09.08, 20:34
hi marce,

leider nicht. wenn ich in dem Script den User in tomcat ändere, steht nach dem Starten des Scriptes nur Starting Tomcat und danach kommt man ohne Fehlermeldung wieder auf die Shell (siehe Snapshot1). Beim Starten unter root listet er die Homeverzeichnisse auf und man kann auch auf Tomcat via webbrowser zugreifen (siehe Snapshot2). Das Script steht ja weiter oben schon da.

foolish
26.09.08, 21:45
hi,


su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh
...
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh


in


su $TOMCAT_OWNER -s /bin/bash -c $CATALINA_HOME/bin/startup.sh
...
su $TOMCAT_OWNER -s /bin/bash -c $CATALINA_HOME/bin/shutdown.sh


ändern .