Zum Inhalt springen

FAQ

Dienste starten oder deaktivieren

Bei den Managed-Root-Servern haben Sie die Möglichkeit selbst zu entscheiden welche Dienste (z.B. apache, dovecot, etc.) beim Start des Servers automatisch starten sollen und welche dies nicht tun sollen, obwohl sie installiert sind.

Dienste automatisch starten

Die zentrale Datei zur Steuerung dieser Einstellungen ist die Datei '/etc/rc.conf'.

In dieser Datei entscheiden Sie über den Start der von uns gemanageden Dienste und der von Ihnen selbst installierten Dienste. Hierfür gibt es sog. '_enable' Variablen, die entweder mit 'Yes' oder 'No' aktiviert oder deaktiviert werden. Hier die Liste der vorinstallierten Anwendungen, die mit einer solchen Variable gesteuert werden können:

sshd_enable="YES"
apache24_enable="YES"
mysql_enable="YES"
dovecot_enable="YES"
proftpd_enable="YES"

Ein weiterer Dienst, der bereits installiert aber nicht aktiviert ist, stellt der postgresql Datenbankserver dar, den wir hier als Beispiel nutzen.

Haben Sie einen Dienst installiert (eigentlich immer unter '/usr/local'), so wird Ihnen am Ende der Installation (aus den Ports oder mit dem pkg Paketmanager) in fast allen Fällen der Pfad des Startup scriptes genannt. Ein Startup script muss sich immer unter '/etc/rc.d' oder /usr/local/etc/rc.d' befinden, damit das System den Start automatisch durchführen kann. Beim Postgresql ist dies '/etc/rc.d/postgresql', da es ein von uns installierter Dienst ist.

Am Anfang dieser Datei findet man auch die Variable, die zur Steuerung des Dienstes in die /etc/rc.conf eingetragen werden muss. Ist sie dort nicht vorhanden, wird immer angenommen, der Dienst soll nicht gestartet werden. Wie diese Variable für postgresql nun aussieht sehen Sie hier:

 

 

Wollen wir diesen Dienst (in diesem Fall eine Datenbank ähnlich mysql) so tragen wir diese Zeile an das Ende (oder einer anderen Stelle) der /etc/rc.conf Datei ein:

postgresql_enable="YES"

Wie man im Startup script der postgresql Datenbank sehen kann, gibt es noch weitere, optionale Variablen die man setzen kann. Dies hängt vom jeweiligen Dienst ab und deren Zweck muss in den Dokumentationen zum Dienst ermittelt werden.

 

Dienste manuell steuern

Da eine Änderung der Variablen in der /etc/rc.conf nicht sofort Ihre Wirkung zeigen (ein vorhandener Dienst wird z.B. nicht sofort gestoppt, ein neuer nicht sofort gestartet), muss es auch eine Möglichkeit geben einen Dienst manuell zu starten, zu stoppen oder neu zu starten (erst stoppen, dann starten).

Dies erledigt das Kommando 'service', dass wir in folgender Form nutzen können:

service DIENSTNAME start|stop|restart

Meist gibt es noch andere Kommandos, die man 'service' zur Steuerung/Abfrage des Dienstes mitteilen kann, aber dies sind die wichtigsten, die eigentlich jeder Dienst 'versteht'.

Als Beispiel starten wir hiermit einen nginx (für den wir nach der Installation natürlich auch ein 'nginx_enable="YES"' in die /etc/rc.conf eingetragen haben):

service nginx start

Der Dienstname ist üblicher Weise das, was in der passenden Variable aus dem Startup script VOR dem '_enable' steht.

Eine Ausnahme beim Starten von Diensten, stellen die von uns gemanageden Dienste dar. Diese starten Sie als root (su / sudo) mit folgenden Befehlen:

  • restart_apache
  • restart_dovecot
  • restart_mysqld
  • restart_postgres
  • restart_proftpd
  • restart_sendmail

Dienste manuell steuern (einmalig)

Manchmal gibt es aber die Situation, dass wir einen Dienst steuern wollen, der NICHT in der /etc/rc.conf steht oder dort deaktiviert, also auf 'NO' steht. In einem solchen Fall verweigert der Aufruf von 'service' das starten stoppen usw. des Dienstes. Um dennoch einen solchen Dienst zu manipulieren, setzt man ein 'one' vor dem jeweiligen Kommando. Also z.B. 'onestart' statt 'start':

service postgresql onestart

Dann startet der postgresql Datenbankserver auch ohne einen Eintrag in /etc/rc.conf oder falls dieser dort auf 'No' gesetzt ist.


Zurück

Sie brauchen Hilfe?

0421 4089-000