Article ID: 818, created on Jan 18, 2013, last review on Aug 12, 2014

  • Applies to:
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux

Lösung

Die Chroot-Shell bietet eine eingeschränkte Funktionalität. Sie können damit nur sehr einfache Befehle nutzen, wie cp, mv, mkdir, und einige andere. Die tar-Funktion ist hingegen nicht in der Chroot-Shell inbegriffen, genauso wie einige andere Systemdienstprogramme. Die Dienstprogramme, die standardmäßig in der Chroot-Umgebung verfügbar sind, finden Sie in der Verzeichnishierarchie ${HTTPD_VHOSTS_D}/chroot (HTTPD_VHOSTS_D ist in /etc/psa/psa.conf definiert; in RedHat-basierten Linux Distributionen ist dies /var/www/vhosts). 
Wenn Sie andere Dateien in das "Skelett" der Chroot-Umgebung (welches in jede auf dem Server neu hinzugefügte Domain kopiert wird) aufnehmen wollen, müssen Sie sie in den entsprechenden Unterordner im Verzeichnis ${HTTPD_VHOSTS_D}/chroot einfügen. Vergessen Sie allerdings nicht, auch all Abhängigkeiten zu kopieren, wie z. B. die freigegebenen Bibliotheken, mit denen die ausführbaren Dateien verbunden sind.
Nachdem der Inhalt des Chroot-Skeletts modifiziert ist, wollen Sie die Änderungen vielleicht auf die Chroot-Umgebung für andere bestehende Domains anwenden. Dies können Sie über folgende Befehle tun:
# /usr/local/psa/admin/sbin/chrootmng --remove --source=/var/www/vhosts/chroot --target=${HTTPD_VHOSTS_D}/<domain-name>
# /usr/local/psa/admin/sbin/chrootmng --create --source=/var/www/vhosts/chroot --target=${HTTPD_VHOSTS_D}/<domain-name>
Für die Parallels Plesk Panel Versionen 8.x und 9.x kann --target=all verwendet werden, um alle gehosteten Domains auf einmal zu ändern.

Das Skript recreate_chroot_env aus der Archivdatei im Anhang automatisiert den Prozess. Es nimmt die Namen von Dateien und Verzeichnissen und fügt sie als Parameter zum Chroot-Skelett hinzu:
#./recreate_chroot_env /usr/bin/php /usr/share/zoneinfo

Im oben dargestellten Beispiel wird das Verzeichnis "/usr/share/zoneinfo2 zusammen mit dem PHP-Interpreter hinzugefügt, da dieses Verzeichnis erforderlich ist, damit .php-Dateien richtig ausgeführt werden. Ohne es schlägt "php -i" fehl und es wird die Fehlermeldung "*** glibc detected ***" ausgegeben

Attachments

a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c aea4cd7bfd353ad7a1341a257ad4724a 0a53c5a9ca65a74d37ef5c5eaeb55d7f 01bc4c8cf5b7f01f815a7ada004154a2 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 742559b1631652fadd74764ae8be475e

Email subscription for changes to this article
Save as PDF