tomcat init script startet nur manuell

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
mclien
Beiträge: 2468
Registriert: 06.12.2005 10:38:46
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Baustelle

tomcat init script startet nur manuell

Beitrag von mclien » 03.07.2006 10:26:05

Ich wollte hier meinen tomcat überzeugen unter einem anderen user zu laufen.
Habe das auch hinbekommen, allerdings wollte Cheffe, daß der user nen anderne Namen bekommt. Also in /etc/passwd und /etc/group geändert.
Danach ging nix mehr. also alle user entfernt und tomcat wieder für root tauglich gemacht.
Jetzt habe ich folgendes Phänomen: starte ich das init Script von Hand ist alles bestens, beim reboot startets allerdings nicht.
Habe schon alle links aus den runleveln entfernz und mit

Code: Alles auswählen

 update-rc.d default 99 07
neuangelegt. Leider ohne Erfolg. Wo kann ich noch was vergessen haben?

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 03.07.2006 10:32:33

hmmm, vielleicht stimmt die JRE-umgebung in der das script gestartet wurde, nicht aber
in der umgebung der init ? Stichwort .bashrc ....

TIP: benutze JSVC (findest du in jeder tomcat-distri unter <tomcat-home>/bin/ incl. startscript)
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.

mclien
Beiträge: 2468
Registriert: 06.12.2005 10:38:46
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Baustelle

Beitrag von mclien » 03.07.2006 10:56:26

Aber dann hätte es ja vor meiner user-Umbauaktion auch nicht funktionieren dürfen, oder?
Ausserdem klappts ja menuell einwandfrei..
Ich starte tomcat mit nem eigenen script, das aber 'nur' ins tomcat Verzeichnis wechselt, da dann das Startscript ausführt (catalina.sh) und danach noch ein script, das auf die ein paar Konrollfiles lauscht und ggf. tomcat neustartet, falls es hängt...

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 03.07.2006 11:09:40

Dann wird es sicherlich am script liegen... irgendeine ursache muss es ja haben.
Wie hast du denn tomcat vorher "als user" gestartet ? start-stop-daemon ?

Könnte vielleicht auch eine fehlerhafte einbindung in init.d sein ? Probier mal "rcconf" ....

Jedenfalls kann ich dir nur wärmstens empfehlen jsvc zu benutzen. Tomcat als root laufen
lassen ist IMHO gift !

> und danach noch ein script, das auf die ein paar Konrollfiles lauscht und ggf. tomcat
> neustartet, falls es hängt...

das ist generell nicht nötig. Wenn tomcat abschmiert, liegt ein gravierender fehler entweder
in der tomcat-conf. oder in einer webapp vor....
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.

mclien
Beiträge: 2468
Registriert: 06.12.2005 10:38:46
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Baustelle

Beitrag von mclien » 03.07.2006 16:14:31

Also hier mal der 'Tat-Hergang':

Tomcat lief im probebetrieb als root (genau das ist zu ändern, weils ntürlich Mist ist)
Erschwerend kommt inzu, daß über RXTX Tools GSM Modems in den Tomcat eingebunden sind, mittels zusätzlicher serieller PCI Karte)
Also habe ich nen neuen user angelegt, das ein

Code: Alles auswählen

 chown -R user:user tomcat
gemacht und in 'meinem' Startscript catalina.sh als user ausgeführt:

Code: Alles auswählen

su -c "cd /opt/tomcat/testapplikation ; /opt/tomcat/bin/catalina.sh start" - user
(der verzeichniswechsel ist nötig, damit die logs der Anwendung im richtigen Verzeichnis landen).
Dann habe ich das ganze nochmal mit einem neuen user probiert, der zusätzlich mit der option

Code: Alles auswählen

 adduser --disabled-login
erzeugt wurde.
Als das dann alles lief sollte eigentlich nur noch der letzte user den richtigen Namen erhalten und der rest gelöscht werden.
Da dann gar nichts mehr ging (hatte mich auch etwas mit passwd und group verkonfiguriert), habe ich wieder alles auf der root Zustand zurÜcksetzen wollen. Jetzte habe ich folgendes:
in der root version geht s nur manuell zu starten (beim boot nicht) und in der user Version funzt es jetzt wieder komplett.
Offenbar gab es ein Problem mit ein paar lock Dateien die das rxtx Tool schreibt.

Ein Problem ist auch, daß das mein erstkonntakt mit tomcat/ Apache ist und die Java Programmierung Kolegen von mir machen.

PS: Das Überwachungsscript wird wegen der Geräte an den seriellen Ports gebraucht (sozusagen eine Lebensüberwachung der ext. Geräte)

mclien
Beiträge: 2468
Registriert: 06.12.2005 10:38:46
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Baustelle

Beitrag von mclien » 03.07.2006 16:21:03

Irgendwie bin ich jetzt nicht so recht auf deine Vorschläge/ Anregungen eingegangen, sorry (haben 31° hier in der Bude)
finupsen hat geschrieben:Dann wird es sicherlich am script liegen... irgendeine ursache muss es ja haben.
Wie hast du denn tomcat vorher "als user" gestartet ? start-stop-daemon ?
wie gesagt über das Script und su -c
Ansonsten habe ich das Script nicht geändert. Als user gehts jetzt auch wieder, wenn die lock Dateien von root vorher gelöscht werden.
Könnte vielleicht auch eine fehlerhafte einbindung in init.d sein ? Probier mal "rcconf" ....
Vor allen verstehe ich nicht wieso es mit

Code: Alles auswählen

/etc/init.d/tomcat
nach dem boot geht, aber das identische script beim boot versagt, aber eben nur als root.Das hat update-rc.d gemacht:

Code: Alles auswählen

:/etc# find . -name \*tomcat
./init.d/tomcat
./rc0.d/K07tomcat
./rc1.d/K07tomcat
./rc2.d/S98tomcat
./rc3.d/S98tomcat
./rc4.d/S98tomcat
./rc5.d/S98tomcat
./rc6.d/K07tomcat

Antworten