Im Zentrum stehen dieses Mal Tools, mit denen sich Administratoren das Leben einfacher machen, indem sie Aufgaben automatisieren und skripten: ... (mehr)

Drush

Jeder Administrator weiß, dass eine GUI eine schöne Sache ist, aber schneller geht's dann doch oft auf der Kommandozeile. Ein Glück, dass es auch für Drupal mit Drush ein praktisches Commandline-Tool gibt. Mit einem einzigen Drush-Kommando können Sie ein oder mehrere Module herunterladen, aktivieren oder deaktivieren, ein Backup der Datenbank anfertigen und so weiter.

Auch die Installation von Drush ist nicht allzu schwierig. Laden Sie es von [3] herunter und entpacken Sie es irgendwo außerhalb des Webserver-Verzeichnisses. Im entstandenen Verzeichnis finden Sie ein Skript namens »drush« , das Sie zum Beispiel nach »/usr/local/bin« verlinken können, damit es überall ausführbar ist:

cd /usr/local
tar -xzvf drush-6.x-3.1.tar.gz
cd /usr/local/bin
ln -s /usr/local/drush/drush

Wenn Sie beim Ausführen von Drush auf den Fehler stoßen, dass »Class 'Console_Table'« fehlt, können Sie es mit Paketmanager des Betriebssystems o der dem PHP-Pear-Tool nachinstalliere:

pear install Console_Table

Damit Drush die Drupal-Installation findet, geben Sie sie mit dem Parameter »-r« an oder tragen den Pfad als Variable »$options['r']« in die Datei »drushrc.php« ein.

Wenn Sie nun etwas über die Releases des Drupals-Moduls admin_menu herausfinden wollen, geben Sie »drush pm-releases admin_menu« ein ( Listing 3 ).

Listing 3

drush pm-releases admin_menu

 Project     Release         Date         Status
 admin_menu  6.x-3.0-alpha4  2010-Mar-10  Supported
 admin_menu  6.x-3.0-alpha3  2009-Aug-16
 admin_menu  6.x-3.0-alpha2  2009-Aug-01
 admin_menu  6.x-3.0-alpha1  2009-Jun-10
 admin_menu  6.x-3.x-dev     2010-Jul-31  Development
 admin_menu  6.x-1.5         2009-Jul-02  Supported, Recommended, Installed
 admin_menu  6.x-1.4         2009-May-15
 admin_menu  6.x-1.3         2009-Jan-24
 admin_menu  6.x-1.2         2009-Jan-19
 admin_menu  6.x-1.1         2008-Sep-12
 admin_menu  6.x-1.0         2008-Jun-26
 admin_menu  6.x-1.0-beta    2008-Jun-08
 admin_menu  6.x-1.x-dev     2010-Jul-28  Development

Drush ist hervorragend dazu geeignet, veraltete Drupal-Module herunterzuladen und zu aktualisieren ( Listing 4 ). Am Ende der Ausgabe vermerkt Drush, dass es sogar ein Backup anlegt, sodass Sie gegebenenfalls wieder zur alten Version zurückwechseln können.

Listing 4

Modul-Update mit Drush

$ drush pm-update
Refreshing update status information ...
Done.
Update information last refreshed: Fri, 2010-08-06 12:06
Update status information on all installed and enabled Drupal projects:
 Name                 Installed version  Proposed version      Status
 Administration menu  6.x-1.5            6.x-1.5        Up to date
 Admin Role           6.x-1.2            6.x-1.2        Up to date
 Drupal core          6.17               6.17           Up to date
 Calendar             6.x-2.2            6.x-2.2        Up to date
 Content              6.x-2.x-dev        6.x-2.7        SECURITY UPDATE
 Construction Kit                                       available
 (CCK)
 Date                 6.x-2.4            6.x-2.4        Up to date
 Image                6.x-1.0-beta5      6.x-1.0-beta5  Up to date
 jQuery UI            6.x-1.3            6.x-1.3        Up to date
 Pathauto             6.x-1.3            6.x-1.3        Up to date
 Tagadelic            6.x-1.2            6.x-1.2        Up to date
 Token                6.x-1.12           6.x-1.13       Update available
 Views                6.x-2.10-acquiade  6.x-2.11       SECURITY UPDATE
                      v-1                               available
Code updates will be made to the following projects:
Content Construction Kit (CCK) [cck-6.x-2.7], Token [token-6.x-1.13], Views [views-6.x-2.11
]
Note: Updated projects can potentially break your site. It is NOT recommended to update pro
duction sites without prior testing.
Note: A backup of your package will be stored to backups directory if it is not managed by
a supported version control system.
Note: If you have made any modifications to any file that belongs to one of these projects,
 you will have to migrate those modifications after updating.
Do you really want to continue? (y/n):

Ähnlich einfach installieren Sie auch ein neues Module auf der Kommandozeile mit Drush. Den Download direkt ins Modulverzeichnis starten Sie mit »drush dl« :

$ drush dl wysiwyg
Project wysiwyg (6.x-2.1) downloaded to ↩
[success]
/srv/www/drupal/sites/all/modules/wysiwyg.

Mit »en« aktivieren Sie das Modul:

$ drush en wysiwyg
The following projects will be enabled: ↩
wysiwyg
Do you really want to continue? (y/n): y
wysiwyg was enabled successfully.

Um ein Modul zu entfernen, müssen Sie es erst deaktiveren und dann deinstallieren:

drush dis wysiwyg
drush pm-uninstall wysiwyg

Man könnten nun alle Drush-Befehle in ein Shellskript packen, das alle nötigen Module herunterlädt und aktiviert, aber es gibt noch einen besseren Weg.

Drush Make

Ein weiteres Tool verheiratet die Funktion von Makefiles mit Drush und Drupal. Mit Drush Make können Sie nicht nur Zusatzmodule verwalten, sondern sogar den Drupalkern selbst. Dazu laden Sie erst einmal Drush Make von der Drupal-Modul-Site herunter. Im Verzeichnis, in dem Sie Drush installiert haben, befindet sich ein Unterverzeichnis »commands« . Entpacken Sie dort die Drushmake-Tar-Datei. Das war's auch schon.

Drush Makefile sind im Allgemeinen recht einfach aufgebaut, aber man kann damit auch kompliziertere Dinge machen. Tabelle 1 listet ein paar Drupal-Projekte auf, die Gebrauch von Profilen und Drush Make machen, die als Beispiel dienen können. Laden Sie sich einfach mal die Dateien herunter und schauen Sie sich die Profile etwas genauer an.

Tabelle 1

Drupal-Projekte

Projekt

URL

Acquia Drupal

http://acquia.com

Managing News

http://managingnews.com

OpenAtrium

http://openatrium.com

OpenPublish

http://openpublishapp.com

Ein Beispiel eines eigenen Drush-Makefiles zeigt Listing 5 . Beim Aufruf von Drush Make erzeugt es ein Drupal-Installationsverzeichnis mit jedem Modul, das im Makefile aufgelistet ist. Das Unterverzeichnis »salmar« wird im Verzeichnis »sites/all/modules« angelegt.

drush make ../mysite.make mysite

Der Ordner »mysite« muss dabei noch nicht existieren, Drush legt ihn einfach an. Drush lädt alle nötigen Dateien herunter, Listing 6 zeigt einen Ausschnitt aus dem Protokoll.

Listing 5

Drush-Makefile

; erst der Drupal Core
core = 6.x
projects[] = drupal
; dann die Module
projects[cck][subdir] = "salmar"
projects[wysiwyg][subdir] = "salmar"
projects[filefield][subdir] = "salmar"
projects[date][subdir] = "salmar"
projects[backup_migrate][subdir] = "salmar"
projects[admin_menu][subdir] = "salmar"
projects[adminrole][subdir] = "salmar"
projects[masquerade][subdir] = "salmar"
projects[calendar][subdir] = "salmar"
projects[comment_notify][subdir] = "salmar"
projects[google_analytics][subdir] = "salmar"
projects[image][subdir] = "salmar"
projects[imageapi][subdir] = "salmar"
projects[imagefield][subdir] = "salmar"
projects[img_assist][subdir] = "salmar"
projects[jquery_ui][subdir] = "salmar"
projects[pathauto][subdir] = "salmar"
projects[tagadelic][subdir] = "salmar"
projects[token][subdir] = "salmar"
projects[views][subdir] = "salmar"

Listing 6

Protokoll von Drush Make

Project information for token retrieved.                             [ok]
Project information for views retrieved.                             [ok]
Project information for drupal retrieved.                            [ok]
drupal downloaded from                                               [ok]
http://ftp.drupal.org/files/projects/drupal-6.17.tar.gz.
cck downloaded from                                                  [ok]
http://ftp.drupal.org/files/projects/cck-6.x-2.7.tar.gz.
wysiwyg downloaded from                                              [ok]
http://ftp.drupal.org/files/projects/wysiwyg-6.x-2.1.tar.gz.
filefield downloaded from                                            [ok]

Wenn alle Module installiert sind, können Sie eine Tar-Datei erstellen – wie im übrigen auch, wenn Sie alles von Hand heruntergeladen haben. Das Ergebnis ist die Datei »mysite.tar.gz« .

drush make --tar mysite.make mysite

Das Tar-Paket können Sie dann als eigene Drupal-Distribution mit allen gewünschten Module für eigene Installationen verwenden.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023