systemd / NFS-mounts vor APACHE
Hallo allerseits, ich habe in einer virtuellen Maschine (VMWARE) SSH und APACHE laufen. Nun möchte ich die möchte die Daten- und die Konfigurationsverzeichnisse als /etc/ssh und /etc/apache2 via NFS von meinem Host-System mounten. wie "bringe" ich systemd "bei", dass er zuerst die NFS-Mounts erstellt (mounted) und dann sshd und apache startet? (ggw. startet er das in "zufälliger" Reihenfolge - eben parallel) oder gibt's eine andere Möglichkeit die "wesentlichen" Konfig-Dateien auf dem VM-Host zu haben, z.B. über "Shared Folder" und via /mnt/hgfs (oder wo das gerade liegt)) in meiner /etc/fstab habe ich: HOST1:/Pfad/Zu/Verzeichnis /nfs/host1 nfs defaults /nfs/host1/etc/ssh /etc/ssh none bind /nfs/host1/etc/apache /etc/apache2 none bind bin für alle Tips dankbar Bye Jürgen -- Dr.rer.nat. Jürgen Vollmer, Am Rennbuckel 21, D-76185 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de ------------------------------------------------------------------------------- Diese EMail ist elektronisch mittels GPG / PGP signiert. Diese elektronische Unterschrift ist in einem EMail-Anhang enthalten. Leider kann die Signatur ohne die Installation entsprechender Programme weder geprüft noch angezeigt werden. Mehr dazu unter: http://www.gnupg.org oder auch http://www.pgpi.org -------------------------------------------------------------------------------
Am Mon, 21 Jan 2019 20:28:50 +0100
schrieb "Dr. Juergen Vollmer"
wie "bringe" ich systemd "bei", dass er zuerst die NFS-Mounts erstellt (mounted) und dann sshd und apache startet? (ggw. startet er das in "zufälliger" Reihenfolge - eben parallel) Ein ähnliches Problem, wenn auch mit anderen Diensten, hatte ich auch mal. In den $DIENST.service Dateien gibt es Optionen, mit denen Du Reihenfolge und Abhängigkeiten festlegen kannst: Requires= Wants= After= Before=
Ich sitze jetzt nicht vor jenem Rechner, aber wenn ich mich richtig erinnere, habe ich in der Config-Datei von $DIENST2.service (Kopie unter /etc/systemd/system/) After=$DIENST1.service eingetragen.
oder gibt's eine andere Möglichkeit die "wesentlichen" Konfig-Dateien auf dem VM-Host zu haben, z.B. über "Shared Folder" und via /mnt/hgfs (oder wo das gerade liegt)) Dazu kann ich leider nichts sagen.
Viele Grüße Matthias -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 21.01.2019 um 20:28 schrieb Dr. Juergen Vollmer:
Hallo allerseits,
ich habe in einer virtuellen Maschine (VMWARE) SSH und APACHE laufen. Nun möchte ich die möchte die Daten- und die Konfigurationsverzeichnisse als /etc/ssh und /etc/apache2 via NFS von meinem Host-System mounten.
wie "bringe" ich systemd "bei", dass er zuerst die NFS-Mounts erstellt (mounted) und dann sshd und apache startet? (ggw. startet er das in "zufälliger" Reihenfolge - eben parallel)
oder gibt's eine andere Möglichkeit die "wesentlichen" Konfig-Dateien auf dem VM-Host zu haben, z.B. über "Shared Folder" und via /mnt/hgfs (oder wo das gerade liegt))
in meiner /etc/fstab habe ich:
HOST1:/Pfad/Zu/Verzeichnis /nfs/host1 nfs defaults /nfs/host1/etc/ssh /etc/ssh none bind /nfs/host1/etc/apache /etc/apache2 none bind
bin für alle Tips dankbar
Möchte voraussetzen, dass ich alles andere als ein Systemd Fan/Experte bin ;) Ich würde das wie folgt machen (für sshd) 1) Kopieren der /usr/lib/systemd/system/sshd.service nach /etc/systemd/system (die Orginaldatei zu editieren ist keine so gute Idee) 2) Anpassen der Zeile After=network.target. Was hier genau hin muss, würde ich als try und error herausfinden ;) Analog dazu für den apache2.service verfahren Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 21.01.2019 um 21:51 schrieb Manfred Kreisl:
Am 21.01.2019 um 20:28 schrieb Dr. Juergen Vollmer:
Hallo allerseits,
ich habe in einer virtuellen Maschine (VMWARE) SSH und APACHE laufen. Nun möchte ich die möchte die Daten- und die Konfigurationsverzeichnisse als /etc/ssh und /etc/apache2 via NFS von meinem Host-System mounten.
wie "bringe" ich systemd "bei", dass er zuerst die NFS-Mounts erstellt (mounted) und dann sshd und apache startet? (ggw. startet er das in "zufälliger" Reihenfolge - eben parallel)
oder gibt's eine andere Möglichkeit die "wesentlichen" Konfig-Dateien auf dem VM-Host zu haben, z.B. über "Shared Folder" und via /mnt/hgfs (oder wo das gerade liegt))
in meiner /etc/fstab habe ich:
HOST1:/Pfad/Zu/Verzeichnis /nfs/host1 nfs defaults /nfs/host1/etc/ssh /etc/ssh none bind /nfs/host1/etc/apache /etc/apache2 none bind
bin für alle Tips dankbar
Möchte voraussetzen, dass ich alles andere als ein Systemd Fan/Experte bin ;)
Ich würde das wie folgt machen (für sshd)
1) Kopieren der /usr/lib/systemd/system/sshd.service nach /etc/systemd/system (die Orginaldatei zu editieren ist keine so gute Idee)
2) Anpassen der Zeile After=network.target. Was hier genau hin muss, würde ich als try und error herausfinden ;) Denke, dass After=remote-fs.target hier gut passen würde
Analog dazu für den apache2.service verfahren
Manfred
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Mo., 21. Jan. 2019 um 21:51 Uhr schrieb Manfred Kreisl
Ich würde das wie folgt machen (für sshd)
1) Kopieren der /usr/lib/systemd/system/sshd.service nach /etc/systemd/system (die Orginaldatei zu editieren ist keine so gute Idee)
Nicht nötig. systemctl edit apache.service Und dann anpassen. Es gibt zu systemd sehr gute manpages. Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 21.01.2019 um 21:56 schrieb Martin Schröder:
Am Mo., 21. Jan. 2019 um 21:51 Uhr schrieb Manfred Kreisl
: Ich würde das wie folgt machen (für sshd)
1) Kopieren der /usr/lib/systemd/system/sshd.service nach /etc/systemd/system (die Orginaldatei zu editieren ist keine so gute Idee)
Nicht nötig.
systemctl edit apache.service
Aha, gibbet es bei 13.1 nicht :D Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Mo., 21. Jan. 2019 um 22:04 Uhr schrieb Manfred Kreisl
systemctl edit apache.service
Aha, gibbet es bei 13.1 nicht :D
Davon schreibt Jürgen nichts. Und 13.1 ist Dein Problem. 42.3 kann das. Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 21.01.2019 um 20:28 schrieb Dr. Juergen Vollmer:
Hallo allerseits,
ich habe in einer virtuellen Maschine (VMWARE) SSH und APACHE laufen. Nun möchte ich die möchte die Daten- und die Konfigurationsverzeichnisse als /etc/ssh und /etc/apache2 via NFS von meinem Host-System mounten.
wie "bringe" ich systemd "bei", dass er zuerst die NFS-Mounts erstellt (mounted) und dann sshd und apache startet? (ggw. startet er das in "zufälliger" Reihenfolge - eben parallel)
oder gibt's eine andere Möglichkeit die "wesentlichen" Konfig-Dateien auf dem VM-Host zu haben, z.B. über "Shared Folder" und via /mnt/hgfs (oder wo das gerade liegt))
in meiner /etc/fstab habe ich:
HOST1:/Pfad/Zu/Verzeichnis /nfs/host1 nfs defaults /nfs/host1/etc/ssh /etc/ssh none bind /nfs/host1/etc/apache /etc/apache2 none bind
bin für alle Tips dankbar
Bye Jürgen
Hallo Jürgen, also, ich halte es für fast schon selbstmörderisch das Verzeichnis "/etc/ssh" via nfs einzubinden. Wieso?! Weil es den Hostkey enthält und von Host zu Host eindeutig sein muss! Eine Sichderung davon zu machen, ist eine Sache, es per nfs einzubinden ist eine ganz andere ... ich würde wetten, du baust dir damit eine Zeitbombe. Bzgl. Apache mußt du dir vermutlich mal Folgendes anschauen: $ man systemd.units und dort speziell, aber wahrscheinlich nicht nur: Requires= Requisite= Wants= BindsTo= Viel Erfolg Martin -- Diejenigen, die ihre Freiheit zugunsten von Sicherheit aufgeben, werden am Ende keines von beiden haben und verdienen es auch nicht! Thomas Jefferson -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 22.01.2019 um 10:52 schrieb Martin Deppe:
Am 21.01.2019 um 20:28 schrieb Dr. Juergen Vollmer:
Hallo allerseits,
ich habe in einer virtuellen Maschine (VMWARE) SSH und APACHE laufen. Nun möchte ich die möchte die Daten- und die Konfigurationsverzeichnisse als /etc/ssh und /etc/apache2 via NFS von meinem Host-System mounten.
wie "bringe" ich systemd "bei", dass er zuerst die NFS-Mounts erstellt (mounted) und dann sshd und apache startet? (ggw. startet er das in "zufälliger" Reihenfolge - eben parallel)
oder gibt's eine andere Möglichkeit die "wesentlichen" Konfig-Dateien auf dem VM-Host zu haben, z.B. über "Shared Folder" und via /mnt/hgfs (oder wo das gerade liegt))
in meiner /etc/fstab habe ich:
HOST1:/Pfad/Zu/Verzeichnis /nfs/host1 nfs defaults /nfs/host1/etc/ssh /etc/ssh none bind /nfs/host1/etc/apache /etc/apache2 none bind
bin für alle Tips dankbar
Bye Jürgen
Hallo Jürgen,
also, ich halte es für fast schon selbstmörderisch das Verzeichnis "/etc/ssh" via nfs einzubinden. Wieso?! Weil es den Hostkey enthält und von Host zu Host eindeutig sein muss! Eine Sichderung davon zu machen, ist eine Sache, es per nfs einzubinden ist eine ganz andere ... ich würde wetten, du baust dir damit eine Zeitbombe.
Was für eine Zeitbombe soll das sein? Es muss definitiv nicht eindeutig sein, vielleicht will er das gerade. Ich mache das übrigens ebenfalls (nicht per nfs mounts, sondern halt mit rsync) mit dem /etc/ssh Verzeichnis. Das erspart mir viel Fummelei beim Einrichten - gerade wenn man mit rsync backups macht - habe von den Clients dadurch gleich Zugriff (per Key natürlich nur). Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo allerseits, so nun habe ich's gelöst. Dank an alle Schreiber. Es geht also so: 1) in /etc/fstab die Mountpoints eintragen HOST:/pfad/zu/etc/ssh /etc/ssh nfs defaults 0 0 .... Hinweis: man sollte wohl nicht das /etc/ssh-Verzeichnis des Hosts per NFS exportieren, sondern ein ein für den Gast eigenes spezielles. ACHTUNG: bind-Mounts (wie ursprünglich von mir angedacht) scheinen nicht zu funktionieren. Die Dienste starten dann nicht. 2) ein "systemd-override" für den Dienst definieren, am einfachsten mit systemctl edit sshd das startet $EDITOR und dann fügt man folgendes ein: [Unit] RequiresMountsFor=/etc/ssh Man kann hier auch mehrere Mount-Points bei RequiresMountsFor angeben (durch Leerzeichen getrennt) Die "override-Datei" landet dann im Verzeichnis /etc/systemd/system/sshd.service.d/ (das Verzeichnis wird durch "systemctl edit sshd" angelegt) ACHTUNG die Zeile [Unit] nicht vergessen!!!!! Leider steht das in der SuSE Doku https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.ref... nicht so eindeutig drin: "Make sure it only contains the line with the value that you want to modify. " Meine Bitte an die Maintainer der Doku (falls die hier mitlesen), bitte präzisiert das, hat mich jetzt echt mehrere Stunden gekostet..... Das ganze habe ich nun für sshd, apache und mysql gemacht und funktioniert. So long & Bye Jürgen Am Montag, 21. Januar 2019, 20:28:50 CET schrieb Dr. Juergen Vollmer:
Hallo allerseits,
ich habe in einer virtuellen Maschine (VMWARE) SSH und APACHE laufen. Nun möchte ich die möchte die Daten- und die Konfigurationsverzeichnisse als /etc/ssh und /etc/apache2 via NFS von meinem Host-System mounten.
wie "bringe" ich systemd "bei", dass er zuerst die NFS-Mounts erstellt (mounted) und dann sshd und apache startet? (ggw. startet er das in "zufälliger" Reihenfolge - eben parallel)
oder gibt's eine andere Möglichkeit die "wesentlichen" Konfig-Dateien auf dem VM-Host zu haben, z.B. über "Shared Folder" und via /mnt/hgfs (oder wo das gerade liegt))
in meiner /etc/fstab habe ich:
HOST1:/Pfad/Zu/Verzeichnis /nfs/host1 nfs defaults /nfs/host1/etc/ssh /etc/ssh none bind /nfs/host1/etc/apache /etc/apache2 none bind
bin für alle Tips dankbar
Bye Jürgen
-- Dr.rer.nat. Jürgen Vollmer, Am Rennbuckel 21, D-76185 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de ------------------------------------------------------------------------------- Diese EMail ist elektronisch mittels GPG / PGP signiert. Diese elektronische Unterschrift ist in einem EMail-Anhang enthalten. Leider kann die Signatur ohne die Installation entsprechender Programme weder geprüft noch angezeigt werden. Mehr dazu unter: http://www.gnupg.org oder auch http://www.pgpi.org -------------------------------------------------------------------------------
Am 22.01.2019 um 19:56 schrieb Dr. Juergen Vollmer:
Hallo allerseits,
so nun habe ich's gelöst. Dank an alle Schreiber.
Es geht also so:
1) in /etc/fstab die Mountpoints eintragen
HOST:/pfad/zu/etc/ssh /etc/ssh nfs defaults 0 0 ....
Hinweis: man sollte wohl nicht das /etc/ssh-Verzeichnis des Hosts per NFS exportieren, sondern ein ein für den Gast eigenes spezielles.
ACHTUNG: bind-Mounts (wie ursprünglich von mir angedacht) scheinen nicht zu funktionieren. Die Dienste starten dann nicht.
2) ein "systemd-override" für den Dienst definieren, am einfachsten mit
systemctl edit sshd
das startet $EDITOR und dann fügt man folgendes ein:
[Unit] RequiresMountsFor=/etc/ssh
Man kann hier auch mehrere Mount-Points bei RequiresMountsFor angeben (durch Leerzeichen getrennt)
Die "override-Datei" landet dann im Verzeichnis /etc/systemd/system/sshd.service.d/ (das Verzeichnis wird durch "systemctl edit sshd" angelegt)
ACHTUNG die Zeile [Unit] nicht vergessen!!!!!
Leider steht das in der SuSE Doku https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.ref... nicht so eindeutig drin: "Make sure it only contains the line with the value that you want to modify. " Meine Bitte an die Maintainer der Doku (falls die hier mitlesen), bitte präzisiert das, hat mich jetzt echt mehrere Stunden gekostet.....
Vielen Dank für das publizieren der Lösung deines Problems. Habe sie bei mir gespeichert :) Mal abgesehen davon, dass die Doku noch nicht Mal das 'systemctl edit' Kommando kennt (ist halt das übliche Problem einer Dokumentation für Software, die ist in der Regel nie aktuell), habe ich mich mal versucht, in die Funktionsweise dieser Drop-Ins hinein zu denken. Danach erscheint mir es als logisch, dass [Unit] dazu gehört, da ja deine Ergänzung 'RequiresMountsFor=...' eben in diesen Bereich hinein eingefügt werden soll. Also, eine explizite Erwähnung finde ich nicht als unbedingt notwendig. Vielmehr eine Erklärung, wie die Drop-Ins funktionieren, wäre an dieser Stelle angebracht Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (5)
-
Dr. Juergen Vollmer
-
Manfred Kreisl
-
Martin Deppe
-
Martin Schröder
-
Matthias