Drush richtig konfigurieren

16 Januar 2025

Drupals hauseigenes Kommandozeilenwerkzeug Drush wird mit dem Download von Drupal CMS ausgeliefert. Damit Du Drush nicht nur auf dem System nutzen kannst, sondern die Verwendung des Kommandozeilenwerkzeuges auf deiner Kommandozeile möglichst viel Spaß macht. musst du einiges tun. 

Im obigen Video zeige ich dir, mittels Neuinstallation von Drupal und dem Ändern des Passworts nach Abschluss der Installation, sowie der Aktivierung des Moduls Gin-Login an echten Beispielen aus der Praxis, wie Drush diene Arbeit mit Drupal wesentlich vereinfacht.

Da wir die Installation schon behandelt haben, gehe ich hier nur auf die wichtigen Punkte bezüglich der Konfiguration von Drush ein. 

  Drush gibt nach der Aktivierung eines Moduls Direktlinks zum Konfigurationsformular des jeweiligen Moduls, sowie zu dessen Berechtigungsseite aus. So kann man ein Modul direkt nach dem Aktivieren konfigurieren. Damit diese URLs auch richtige Werte enthalten, muss Drush wissen, welche Domain die jeweilige Website hat, auf der ein Modul aktiviert wurde. 

 

Damit Drush dies weis, legen wir im Ordner CMS zunächst den Unterordner  „drush“ an:

#Ordner für die Konfiguration von Drush anlegen
mkdir -p /var/www/cms/drush

Anschließend erstellen wir in diesem Ordner  mit dem Befehl: 

nano /var/wwww/cms/drush/drush.yml

die Datei drush.yml. Diese Datei füllen wir mit folgendem Code:

#Dies ist eine Drush-Konfigurationsdatei. Websites können diese Konfiguration überschreiben, um die Mindestanforderungen für PHP zu ändern.
drush:
  php:
    minimum-version: 8.2.5
options:
  uri: "http://localhost"

Nun müssen wir noch prüfen, ob die Änderung geklappt hat. Dazu verwenden Wir die Befehle:

drush cr && drush status

War die Änderung erfolgreich, Sieht die Ausgabe des Befehls ungefähr so aus:

Drupal version   : 11.1.7                                                                                                     
Site URI         : http://localhost                                                                                 
DB driver        : mysql                                                                                                      
DB hostname      : localhost                                                                                                  
DB port          : 3306                                                                                                       
DB username      : joachim                                                                                                    
DB name          : joachim                                                                                                    
Database         : Connected                                                                                                  
Drupal bootstrap : Successful                                                                                                 
Default theme    : drupaltv                                                                                                   
Admin theme      : gin                                                                                                        
PHP binary       : /usr/bin/php8.3                                                                                            
PHP config       : /etc/php/8.3/cli/php.ini                                                                                   
PHP OS           : Linux                                                                                                      
PHP version      : 8.3.6                                                                                                      
Drush script     : /var/www/cms/vendor/bin/drush.php                                                                          
Drush version    : 13.6.0.0                                                                                                   
Drush temp       : /tmp                                                                                                       
Drush configs    : /var/www/cms/vendor/drush/drush/drush.yml                                                                  
                   /var/www/cms/drush/drush.yml                                                                               
Install profile  :                                                                                                            
Drupal root      : /var/www/cms/web                                                                                           
Site path        : sites/default                                                                                              
Files, Public    : sites/default/files                                                                                        
Files, Temp      : /tmp                                                                                                       

Wenn wir nun ein Modul mit Drush aktivieren, beginnen die ausgegebenen Links  statt mit default:// jetzt mit http://localhost/ sodass unser Browser diese auch richtig auflösen kann, wenn wir ein Terminal verwenden, dass Links auf der Kommandozeile unterstützt.

auch der Befehl drush uli, den du verwenden kannst um eine einmal gültigen Link zur Anmeldung an einer Drupal-Webiste zu generieren beginnt nun mit der richtigen Domain. Dies sieht beispielsweise so aus:

drush uli
https://localhost/user/reset/1/1747483947/4c7lNW-g8x8P5BSjcjwzlUqjZM2GoCtRg2dLe3lnYjA/login

Will man den geleichen Effekt erzielen ohne  dass die oben gezeigte Konfiguration vorgenommen wurde kann man den Befehl beispielsweise so aufrufen:
 

drush uli --uri=drupal.org
http://drupal.org/user/reset/1/1747484062/fSecmgfyqDu-I4qEO_dOWIQQT2B0XMw6QAWyCb6YV7Y/login

Du siehts also, dass die oben angelegte Konfiguration den Standardwert für den Befehlsparameter --uri dauerhaft festlegt.

 

Mit Drush kannst du aber nicht nur einen Link zum einmaligen Anmelden an deiner Websteite generieren. Drush kann noch viel mehr. Hier sind einige Beispiele:

Drupal neu installieren drush si --locale=de
Den Namen deiner Website festlegen drush -y cset system.site name "Meine Website"
Die Email-Adresse der Drupal-Installation festlegen drush -y cset system.site mail webmaster@meineseite.de
Das Passwort eines Benutzers ändern drush upwd bernd bendsneuesPaLLw**rt!

Solltest du noch gar nicht mit Kommandozeilenwerkzeugen wie Drush gearbetet haben, helfen dir diese Beispiele hoffentlich zu verstehen, wie Drush funktioniert, sodass du diene täglichen Aufgaben als Drupal Site-Builder und Administrator in Zukunft wesentlich schneller erledigen kannst. Viel Spaß beim Auprobieren.