PHP CLI in Virtualmin Jails

Seit vielen Jahren verwende ich für die Verwaltung meines Webservers die Software Virtualmin. Das ist eigentlich eine eierlegende Wollmilchsau, was die Verwaltung eines Linux (Web)-Servers angeht. Irgendwann kamen zur Erhöhung der Sicherheit noch Jails zur Abgrenzung der einzelnen Webseiten hinzu.

Manche Tools benötigen jedoch PHP auf der CLI um gewisse Aufgaben zu erledigen. Hierzu möchte ich z.B. die Nextcloud für die Update Funktion via CLI nennen. Virtualmin sieht es jedoch nicht vor, die PHP Binaries in die Jails zu integrieren. Um PHP im jeweilen Jail nutzen zu können, muss man einige wenige manuelle Schritte durchführen.

Einige Tools benötigen jedoch PHP auf der CLI, um bestimmte Aufgaben zu erledigen. Als Beispiel möchte ich Nextcloud für die Update-Funktion via CLI nennen. Virtualmin sieht jedoch keine Integration der PHP-Binaries in die Jails vor. Um PHP in der jeweiligen Jail nutzen zu können, müssen einige manuelle Schritte durchgeführt werden.

Einrichten einer neuen Jail Section

Virtualmin hat für die Verwaltung der Jail Sections den „Jailkit Jail Manager“ an Bord. Hier können die entsprechenden Sections verwaltet werden, die dann in die jeweiligen Jails kopiert werden.

In diesem Fall nutzen setzen wir die folgenden Parameter um den Jail zu beschreiben:

Jail ID: PHP
Comment: the php interpreter and libraries
Paths to include in jail: /usr/bin/php*
Paths to include (keep ownership): /usr/lib/php, /usr/share/php, /usr/share/php*, /etc/php, /usr/share/php-geshi, /usr/share/zoneinfo, /usr/share/ca-certificates, /etc/ssl/certs, /usr/lib/ssl/certs

Damit Virtualmin diese Jail auch beim Anlegen einer neuen Domain verwendet, muss die Virtualmin-Konfiguration noch erweitert werden. Im Menü unter „System Settings“ > „Virtualmin Configuration“ > „Advanced Settings“ (Dropdown) > „Additional Jailkit sections to copy“ muss „php“ hinzugefügt werden.

Anpassung eines bestehenden Jails

Es ist auch möglich, die PHP CLI zu bestehenden Jails hinzuzufügen. Dazu muss zunächst das passende Jail-Verzeichnis ermittelt werden. Die Jails befinden sich unterhalb von /home/chroot. Ist das Verzeichnis bekannt, kann es mit diesem Beispielkommando eingerichtet werden.

/sbin/jk_init -f -j /home/chroot/17129340972150667 php

Es gibt jedoch eine kleine Einschränkung. Kommen neue PHP-Versionen hinzu, müssen die Jails immer wieder aktualisiert werden, da die Dateien bei der Einrichtung an die richtige Stelle kopiert werden.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert