Schnellzugriff auf WordPress-Installationen mit Aliases

Dieser Beitrag ist Teil 4 von 6 in der Serie wpcli

Bisher musste man sich im WordPress-Installationsverzeichnis befinden, oder mit der Option --path=/path/to/wordpresssite das Installationsverzeichnis angegeben werden. Aliases erleichtern die Arbeit mit wp-cli enorm und erlauben den transparenten Schnellzugriff auf WordPress-Installationen von „überall“ – egal von welchem Ordner des selben Rechners oder von einem entfernten Rechner aus.

Ein Alias beginnt mit „@“ und wird als erste Argument des wp-cli-Befehls angegeben.

$ wp @blog core version                                                                                                                            
5.3

Aliases werden in einer Konfigurationsdatei definiert, dabei werden nacheinander die folgenden Dateien ausgewertet:

  • <project folder>/wp-cli.local.yml,
  • <project folder>/wp-cli.yml oder
  • ~/.wp-cli/config.yml

Im einfachsten Fall wird zu jedem Alias der Pfad zum Installationsverzeichnis angegeben. Ebenso kann ein Alias als Gruppierung anderer Aliases definiert werden – im folgenden Beispiel der Alias @project. Das wp-cli-Kommando wird dann auf allen WordPress-Installationen ausgeführt, die mit diesem Alias referenziert werden.

@live:
  path: /var/www/bei3.net/
@beta:
  path: /var/www/beta.bei3.net/
@project:
  @live
  @beta

Wenn ein Kommando auf einem entfernten Server ausgeführt werden soll, dann muss auch der ssh-Id angegeben werden. Dabei kann ein Eintrag aus der ssh-Konfiguration (~/.ssh/config) eingetragen werden.

@site1:
  ssh: site1
  path: /var/www/site1.de/
@site2:
  ssh: wp@site2.de
  path: public_html/
@project:
  @site1
  @site2

wp-cli bietet auch die notwendigen Befehle, um Aliases zu verwalten. Sie können mit cli alias add hinzugefügt, mit cli alias delete gelöscht, mit cli alias update aktualisiert, alle mit cli alias list und ein Einzelner mit mit cli alias get angezeigt werden.

$ wp cli alias add @live --set-ssh=myserver \
   --set-path=/var/www/bei3.net/ --set-user=wp
Success: Added '@live' alias.
$ wp cli alias add @beta --set-ssh=myserver \
   --set-path=/var/www/beta.bei3.net/ --set-user=wp
Success: Added '@beta' alias.
$ wp cli alias add --grouping=@live,@beta @b3
Success: Added '@b3' alias.
$ wp cli alias list
@live:
  path: /var/www/bei3.net/
  ssh: myserver
  user: wp
@beta:
  path: /var/www/beta.bei3.net/
  ssh: myserver
  user: wp
@b3:
  @live
  @beta
$ wp cli alias update @live –set-path=/var/www/virtual/bei3.net/
Success: Updated '@live' alias.
$ wp @b3 core version
@live
5.3
@beta
5.3
$ wp cli alias delete @beta
Success: Deleted '@beta' alias.
$ wp cli alias get @live
path: /var/www/virtual/bei3.net/
ssh: myserver
user: wp

So habe ich auf jedem Server mit WordPress-Installation den Alias @live zur Produktiv-Website festgelegt, manchmal auch den Alias @beta für eine Testinstallation. Auf meinem lokalen Rechner habe ich für jede WordPress-Installation einen Alias mit plausiblem Bezeichner (zum Beispiel @blog für dieses Blog) und einen Alias mit Suffix _beta für die eventuell vorhandene Testinstallation (zum Beispiel @blog_beta).

Der Alias @all führt das Kommando auf allen definierten Aliases nacheinander aus.

$ wp @all plugin update redirection
<...>

Schaut Euch die Doku zu Aliases für weitere Informationen an. Erfahrenen Drupal-Anwendern ist das Konzept der Aliases als drush site alias bekannt.

Series Navigation<< WordPress installieren mit wp-cliVersionen! – Software-Updates mit wp-cli >>