Vor einigen Jahren hörte ich, wie ein anderer Linux-Lehrer mehrere Schritte zur Bereitstellung eines Dienstes unter Linux herunterrasselte. Ich habe die Stufen aufgeschrieben und im Laufe der Zeit einige weitere Informationen hinzugefügt. Die Schritte sind seitdem ein Teil meiner eigenen Linux-Lehrlieferungen.
Dieses Thema ist ziemlich grundlegend für alle Benutzer da draußen, die von Anfang an mit Linux gearbeitet haben. Eine Überprüfung der Grundlagen ist natürlich nie verkehrt. Für die neueren Linux-Systemadministratoren kann diese Checkliste als Möglichkeit dienen, Ihre Bereitstellungsschritte zu organisieren und sich daran zu erinnern, wie Linux die von Ihnen verwalteten Dienste verwaltet. Ich werde auch die Tools notieren, die Sie für jeden Schritt verwenden.
Vielleicht stellen Sie eine einfache Website mit Apache bereit oder richten einen neuen Dateiserver ein, der auf NFS basiert. In jedem Fall möchten Sie sicherstellen, dass Ihre Bereitstellung erfolgreich ist.
Fangen wir an!
Schritt 1:Ist der Dienst installiert?
Die Serviceinstallation ist offensichtlich der grundlegendste Schritt. Viele Linux-Distributionen enthalten aus Sicherheits- und Leistungsgründen nur eine minimale Installation von Diensten. Der einzige Netzwerkdienst, auf den Sie sich verlassen können, ist beispielsweise SSH. Wenn Sie also einen Apache-Webserver oder einen NFS-Dateiserver bereitstellen, müssen Sie die Software wahrscheinlich selbst installieren.
Hinweis:Denken Sie daran, dass Sie durch die Tatsache, dass Sie die meisten Anwendungen selbst installieren müssen, auf subtile Weise ermutigt werden, die neueste Version zu verwenden. Sie haben jedoch auch die Freiheit, ältere Softwareversionen zu verwenden, wenn dies aus Kompatibilitätsgründen erforderlich ist.
Stellen Sie bei RHEL-basierten Distributionen sicher, dass der Dienst mithilfe von rpm
installiert ist , yum
, oder dnf
Befehle.
Führen Sie beispielsweise den folgenden yum
aus Befehl, um sicherzustellen, dass die Apache-Software installiert ist:
# yum list httpd
Schritt 2:Ist der Dienst konfiguriert?
Wie Sie wissen, verwendet Linux Textdateien, um die Dienstkonfiguration zu verwalten. Diese Dateien werden normalerweise im Verzeichnis /etc
gespeichert Verzeichnis. Sobald der Dienst installiert ist, konfigurieren Sie ihn, indem Sie die zugehörigen Konfigurationsdateien bearbeiten.
Die primäre Apache-Konfigurationsdatei ist beispielsweise /etc/httpd/conf/httpd.conf
. Verwenden Sie diese Datei, um die Anfangseinstellungen für den Webdienst zu definieren.
Die meisten Systemadministratoren verwenden vim
Konfigurationsdateien zu bearbeiten. Nano
, gedit
, und sogar emacs
sind ebenfalls mögliche Werkzeuge.
Hier ist ein Beispiel für das Öffnen einer Konfigurationsdatei mit dem Texteditor meiner Wahl, vim
:
# vim /etc/httpd/conf/httpd.conf
Schritt 3:Ist der Dienst gestartet?
Neu installierte und konfigurierte Dienste müssen gestartet werden. Wenn Sie einen Dienst manuell starten, liest er die Konfigurationsdatei, die Sie im vorherigen Schritt bearbeitet haben. Die Startprozedur startet auch den entsprechenden Prozess (oder die Prozesse) und stellt dem Benutzer die Dienstfunktionalität zur Verfügung.
Die meisten modernen Distributionen verlassen sich auf systemd
, verwenden Sie also systemctl
Befehl zum Starten, Stoppen und Neustarten von Diensten. Hier ist ein Beispiel für das Starten von Apache mit systemctl
:
# systemctl start httpd
Ältere Systeme verwenden möglicherweise die SysV
init-Umgebung. Verwenden Sie in diesen Fällen den folgenden Befehl, um den Dienst zu starten:
# service httpd start
Das Problem beim manuellen Starten eines Dienstes ist, dass er nur für die aktuelle Laufzeit aktiv ist. Wenn Sie den Server neu starten, wird der Prozess nicht automatisch gestartet. Diese Tatsache führt uns zu Schritt vier weiter unten.
Schritt 4:Ist der Dienst persistent?
Damit der Dienst bei jedem Systemstart gestartet wird, müssen Sie ihn aktivieren. Denken Sie daran, Start ein Dienst bewirkt, dass er während der Aktivierung in der aktuellen Laufzeit ausgeführt wird der Dienst bewirkt, dass es gestartet wird, wenn das System startet. Die beiden Konzepte sind nicht austauschbar (mit anderen Worten, die Aktivierung eines Dienstes führt nicht dazu, dass er gestartet wird).
Verwalten Sie bei systemd-basierten Distributionen den Startstatus des Dienstes mit systemctl
. Die Aktionen sind aktivieren oder deaktivieren. Hier ist ein Beispiel:
# systemctl enable httpd
Verwenden Sie auf SysV-basierten Systemen die chkconfig
Befehl, um den Startstatus des Dienstes zu steuern. Um beispielsweise sicherzustellen, dass der Dienst in den Runlevels 3 und 5 startet, geben Sie den folgenden Befehl ein:
# chkconfig --level 35 httpd on
Schritt 5:Haben Sie den Dienst getestet?
Nachdem Sie den Dienst installiert, konfiguriert, gestartet und aktiviert haben, ist es an der Zeit, sicherzustellen, dass der Dienst wie beabsichtigt funktioniert. Können Sie die Apache-Testwebseite anzeigen? Können Sie auf die Verzeichnisse zugreifen, die Sie mit NFS exportiert haben? Vergessen Sie nicht, dass Sie für Netzwerkdienste mit ziemlicher Sicherheit auch die Firewall konfigurieren müssen. Diese Aufgabe würde den Rahmen dieser Diskussion sprengen, aber die Informationen sind online verfügbar.
Während der Testphase möchten Sie möglicherweise bestätigen, dass die entsprechenden Protokolldateien generiert werden und dass die Protokolleinträge dem erforderlichen Schweregrad entsprechen. Beginnen Sie mit der Überprüfung von /etc/rsyslog.conf
Datei sowie die Manpage des Dienstes.
Schritt 6:Haben Sie den Dienst geändert?
Haben Sie während des Tests Änderungen an der Konfigurationsdatei des Dienstes vorgenommen? Wenn dies der Fall ist, müssen Sie den Dienst neu starten, damit er die Datei erneut liest. Sie müssen auch alle zukünftigen Änderungen an der Konfigurationsdatei berücksichtigen, die Sie während des Lebenszyklus des Dienstes vornehmen. Hier sind Beispiele für den Neustart eines Dienstes sowohl auf systemd- als auch auf SysV-basierten Systemen:
# systemctl restart httpd
# service httpd restart
Abschluss
Ich hoffe, dass diese grundlegende Zusammenfassung der Schritte und Tools zur Dienstbereitstellung hilfreich war. Indem Sie eine mentale Checkliste erstellen, die jeden dieser Schritte überprüft, tragen Sie dazu bei, sicherzustellen, dass Ihre Servicebereitstellungen erfolgreich sind.
Denken Sie daran:Starten und Aktivieren sind keine austauschbaren Begriffe, und es handelt sich um separate Aktionen. Gleiches gilt für Stop und Deaktivieren. Achten Sie darauf, ob Sie mit einer systemd-basierten Distribution oder einer Distribution arbeiten, die SysV verwendet.
Hier ist eine Zusammenfassung der Schritte und Tools:
- Installiert? rpm, lecker, dnf
- Konfiguriert? vim, nano
- Gestartet? systemctl oder service
- Beständig? systemctl oder chkconfig
- Getestet? ping oder Standard-Client-Software
- Neu konfiguriert? systemctl oder service
[ Möchten Sie Red Hat Enterprise Linux ausprobieren? Laden Sie es jetzt kostenlos herunter. ]