Natürlich kann man einen Dienst (Apache, MySQL, Mailserver, Tomcat, …) immer manuell starten und stoppen, aber es wäre ziemlich mühselig und fehlerträchtig bei jedem Serverstart alle Dienste wieder manuell hochfahren zu müssen.
Im sehr empfehlenswerten Ubuntu Wiki-Artikel Was sind Dienste und Runlevel? wird sehr gut der Aufbau und erforderliche Inhalt eines Start/Stop Skriptes beschrieben und auf die Syntax bei den Runlevel Statements eingegangen.
Wer also nicht nur blind die folgenden Schritte für Tomcat abtippen, sondern etwas mehr über die Hintergründe und verwendeten Parameter erfahren möchte, dem sei diese Ubuntu Wiki-Seite ans Herz gelegt.
Für diejenigen, die das Thema zwar interessant finden, aber augenblicklich eine schnelle Lösung suchen, beschreibe ich im folgenden kurz die erforderlichen Schritte für die Einrichtung eines Autostarts des Tomcat-Containers bei Ubuntu 8.04 LTS.
Tomcat Start/Stop Skript erstellen
sudo vi /etc/init.d/tomcat6
#! /bin/sh ### BEGIN INIT INFO # Provides: tomcat6 # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Should-Start: $named # Should-Stop: $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Tomcat Start/Stop # Description: Start the Tomcat 6.0 servlet engine ### END INIT INFO # # Author: blogmaster@perfect-knowhow.de export JAVA_HOME=/usr/lib/jvm/java-6-sun export CATALINA_HOME=/opt/tomcat6 case $1 in start) sudo sh /$CATALINA_HOME/bin/startup.sh ;; stop) sudo sh /$CATALINA_HOME/bin/shutdown.sh ;; restart) sudo sh /$CATALINA_HOME/bin/shutdown.sh sudo sh /$CATALINA_HOME/bin/startup.sh ;; esac exit 0
Die soeben editierte Datei abspeichern und Ausführungsrechte setzen
sudo chmod 755 /etc/init.d/tomcat6
Runlevel für das Skript setzen
per Kommandozeile
sudo ln -s /etc/init.d/tomcat6 /etc/rc1.d/K99tomcat6
sudo ln -s /etc/init.d/tomcat6 /etc/rc2.d/S99tomcat6
Anmerkung:
S99 = Start+PriorityNumber
K99 = Stop+PriorityNumber
per GUI
chkconfig - Kleines Tool um den Status eines Dienstes anzeigen zu lassen, diesen zu aktivieren bzw. zu deaktivieren
rcconf und sysv-rc-conf - Konsolen GUI’s zum (De-)Aktivieren von Diensten
Siehe auch

