GIT-client in Plesk 11.5
Veel klanten van onze managed hosting diensten gebruiken graag GIT om het versiebeheer van websites mee uit te voeren. Standaard is het gebruik van de GIT-client niet mogelijk in een Plesk omgeving (laatste aanpassing: 15-09-2014).
Het is echter wel mogelijk om de GIT-client toe te voegen aan de chroot omgeving van Plesk. Het is dan mogelijk voor alle websites waar shell toegang op “/bin/bash (chrooted)” staat via de shell GIT aan te roepen.
Het volgen van de onderstaande stappen is op eigen risico.
Uitgangspunten:
Deze procedure is goed getest, echter om deze goed werkend te krijgen gaan we van de volgende zaken uit:
- U maakt gebruik van Plesk 11.5 op RHEL/CENTOS 6 (64-bit). Met wat kleine wijzigingen zou het ook mogelijk moeten zijn om dit op andere Linux “smaakjes” werkend te krijgen.
- Voor extra veiligheid gebruiken we de restricted chroot shell voor de website.
- U hebt het chroot_update.sh script van http://kb.parallels.com/en/115842
- U hebt volledige root toegang.
- Er wordt gebruikgemaakt van GIT over HTTP(S). Wij hebben het getest met de dienst van BitBucket, maar elke andere dienst zou ook moeten werken.
GIT installeren:
Eerst installeren we de GIT-client:
yum install git
Vervolgens kopiëren we alle mappen/bestanden naar de standaard chroot omgeving van Plesk:
mkdir -p /var/www/vhosts/chroot/usr/share/git-core/
cp -ar /usr/share/git-core/templates /var/www/vhosts/chroot/usr/share/git-core/
cp -ar /usr/libexec/git-core /var/www/vhosts/chroot/usr/libexec/
cp -L /usr/lib64/libsoftokn3.so /var/www/vhosts/chroot/lib64/
cp -L /usr/lib64/libnsspem.so /var/www/vhosts/chroot/lib64/
cp -L /usr/lib64/libsqlite3.so.0 /var/www/vhosts/chroot/lib64/
cp -a /etc/resolv.conf /var/www/vhosts/chroot/etc/
cp -r /etc/pki /var/www/vhosts/chroot/etc
./chroot_update.sh —add /bin/basename
./chroot_update.sh —add /bin/sed
./chroot_update.sh —add /bin/uname
./chroot_update.sh —add /usr/bin/tr
./chroot_update.sh —add /usr/bin/git
./chroot_update.sh —add /usr/bin/xmlwf
./chroot_update.sh —devices /dev/urandom
Als alle bovenstaande stappen goed zijn gegaan, updaten we de chroot omgeving van de individuele websites:
./chroot_update.sh —apply all
Hierna kunt u inloggen op de chroot omgeving van het webhosting pakket en kunt u een check-out doen op een GIT-repo:
git clone https://<gebruiker>:<wachtwoord>@bitbucket.org/<repo>
Mocht u onderstaande melding krijgen dan is de kans groot dat de GIT-client het SSL-certificaat van de dbt. GIT-server niet kan verifiëren:
error: while accessing https://<gebruiker>:<wachtwoord>@bitbucket.org/xxxxxx/info/refs fatal: HTTP request failed
Dit kunt u oplossen door voordat u de GIT-client aanroept het volgende commando uit te voeren:
export GIT_SSL_NO_VERIFY=true