Problem:

In der chrooted-shell der Kunden-Accounts (soweit freigeschaltet) fehlen leider viele wichtige Befehle wie z.B. wget, tar, gzip, mysql, u.v.a.

Erklärung:

Die Vorlage für die chrooted-shell liegt im Verzeichnis /var/www/vhosts/chroot/. Bei einer neuen Domain wird dieses Verzeichniss als Basis nach /var/www/vhosts/DOMAIN-NAME/ kopiert.

Lösung:

Die Lösung umfaßt auch die Umsetzung für alle bestehenden Domains:
Alle bisherigen Programme müssen erstmal entfernt werden:

/usr/local/psa/admin/sbin/chrootmng --remove --source=/var/www/vhosts/chroot --target=all
Die gewünschten Befehle werden jetzt in die Vorlage kopiert:
cp -p /usr/bin/wget /var/www/vhosts/chroot/bin/
cp -p /usr/bin/tar /var/www/vhosts/chroot/bin/
cp -p /bin/gzip /var/www/vhosts/chroot/bin/
cp -p /bin/tar /var/www/vhosts/chroot/bin/
cp -p /usr/bin/mysql /var/www/vhosts/chroot/bin/

Und nun die Vorlage mit den bestehenden Domains synchronisieren:

/usr/local/psa/admin/sbin/chrootmng --create --source=/var/www/vhosts/chroot --target=all

Bemerkung / Übung:

Ab einer höheren Plesk-Version gibt es das Kürzel all für --target nicht mehr. Hier muss man umständlich per Hand die Domain eintragen.

Wenn ein Programm eine bestimmte Library nicht finden kann, so wird die selbe Prozedur wie oben mit dem Verzeichnis /var/www/vhosts/chroot/lib/ durchgeführt und erneut synchronisieren.

Es gibt auch Programme (z.B. midnight-commander), die den kompletten Ordner /usr/share/PROGRAMM/ kopiert brauchen. Z.B. beim mc erhält man sonst einen segmentation fault.

Kategorien:

Stichwörter:

plesk · chroot · chrooted · shell · bin · tar · gzip · wget · mysql ·