DRUSH 8 für die Drupal Administration auf Managed Server installieren

Neben vielen speziellen Drupal Hosting-Angeboten, sind inzwischen auch managed Server für viele Drupal-Projekte geeignete Umgebungen. Meist erhält der Anwender hierbei auch SSH-Zugang, jedoch aus Sicherheits- und Gewährleistungsgründen keinen vollständigen Root-Zugang. Um nun trotzdem effektiv mit Drupal zu arbeite, vielleicht Synchronisationen durchzuführen oder Drush-Befehle nutzen zu können, müssen Zusatztools wie Composer oder Drush manuell installiert werden.

In unserem Beispiel arbeiten wir auf einem Managed Server der Firma Hetzner. Für Drupal steht hier eine Umgebung mit PHP 5.5 und aktiviertem OPCache zur Verfügung. Der verwendete Account auf diesem Server, sollte sich nicht allzu sehr von den größeren Webhosting-Angeboten inkl. SSH-Zugang unterscheiden. Die Installation von Drush und Co. muss in diesem Fall für jeden Account separat durchgeführt werden. Die Installation selbst erfolgt natürlich ebenfalls auf der Kommandozeile per SSH.

Seit Version 7 wird für Drush Composer benötigt. Um diesen zu installieren, sollte man ein eigenes Verzeichnis im Home-Verzeichnis des Account anlegen, Composer herunterladen und initialisieren:

mkdir ~/bin
mkdir ~/bin/composer
cd ~/bin/composer
wget https://getcomposer.org/composer.phar
php composer.phar init


Nun sollten diverse Variablen / Aliase in die Kommandozeilenkonfiguration eingefügt werden:

echo "export COLUMNS" >> ~/.bashrc
echo "alias composer='php ~/bin/composer/composer.phar'" >> ~/.bashrc
echo "alias php='/usr/bin/php'" >> ~/.bashrc
echo "PATH=$HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc


Nachdem die Konfiguration mit dem "source"-Befehl neu geladen werden, kann der Download und die eigentliche Installation von Drush erfolgen:

wget -O $HOME/bin/drush.zip https://github.com/drush-ops/drush/archive/master.zip
unzip -d $HOME/bin $HOME/bin/drush.zip
rm $HOME/bin/drush.zip
cd $HOME/bin/drush-master
composer install --ignore-platform-reqs
ln -s $HOME/bin/drush-master/drush $HOME/bin/drush


Mit Hilfe von "drush status" sollte man nun die Version und Funktion von Drush prüfen können:

account@dediXXXX:~$ drush status
 PHP executable         :  /usr/bin/php
 PHP configuration      :  /etc/php55/cli/php.ini
 PHP OS                 :  Linux
 Drush script           :  /usr/home/account/bin/drush-master/drush.php
 Drush version          :  8.0-dev
 Drush temp directory   :  /tmp