ISPConfig 3: Jailkit nachträglich installieren

Mit ISPConfig 3 ist es möglich, den Hosting-Kunden bzw. Benutzern einen Zugriff auf den ihnen zugewiesenen Webspace per SSH zu gewähren, die Benutzer werden mittels Jailkit in ihren Ordner gechrootet.

Da ISPConfig bei der Einrichtung überprüft, welche Dienste verfügbar sind und diese dann konfiguriert, muss Jailkit eigentlich installiert werden, bevor ISPConfig installiert wird. Stellt man nun nachher fest, dass man Jailkit nun doch benötigt, ist das natürlich doof. Es gibt aber einen Weg, Jailkit bei einer bestehenden ISPConfig-Installation nachträglich zu konfigurieren und einzubinden, diesen möchte ich hier zeigen. Das nachfolgende Tutorial wurde mit Version 3.0.5.4p2 durchgeführt, es sollte aber auch mit älteren Versionen so funktionieren. Alles weitere geschieht natürlich auf eigene Gefahr.

Zuerst muss Jailkit natürlich heruntergeladen und installiert werden, wie es z.B. das Perfect Server Tutorial bei Howtoforge zeigt (die Version von Jailkit muss natürlich angepasst werden):

apt-get install build-essential autoconf automake1.9  libtool flex bison
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./configure
make
make install

Nun muss ISPConfig erneut heruntergeladen und entpackt werden:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install

Danach muss die Datei update.php geändert werden. Hierzu suchen wir die folgende Zeile in der Datei:

if($reconfigure_services_answer == 'yes') {

die darauf folgenden Zeilen löschen wir bis zu den Zeilen

//** Configure Jailkit
swriteln('Configuring Jailkit');
$inst->configure_jailkit();

Diese lassen wir stehen und löschen darunter wieder alle weiteren Zeilen bis zur schließenden Klammer. Der Abschnitt sieht nun so aus:

//** Shall the services be reconfigured during update
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes','reconfigure_services');

if($reconfigure_services_answer == 'yes') {

                //** Configure Jailkit
                swriteln('Configuring Jailkit');
                $inst->configure_jailkit();

}

//** Configure ISPConfig

Die Datei wird gespeichert. Nun müssen wir das Update starten, indem wir folgenden Befehl eingeben:

php -q update.php

Der automatische Updater startet und fragt uns einige Fragen, die wir wie folgt beantworten:

Shall the script create a ISPConfig backup in /var/backup/ now? (yes,no) [yes]: yes
Reconfigure Permissions in master database? (yes,no) [no]: no
Reconfigure Services? (yes,no) [yes]: yes

Nun werden die Services rekonfiguriert. Da wir eben in der update.php sämtliche Services außer Jailkit gelöscht haben, wird nur Jailkit konfiguriert, der Rest bleibt unangetastet. Als nächstes kommt die Ausgabe „Updating ISPConfig“. Das wollen wir ja nicht, deshalb brechen wir das Script an dieser Stelle mit Strg + C ab.

Das wars eigentlich. Nun sollten noch die Dateien in /tmp gelöscht werden und Jailkit sollte verfügbar sein und funktionieren.

Schreibe einen Kommentar

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