Wordpress wp-cli verwenden

Kategorie: Apps
Erstellt: 02.08.2021

Diese Anleitung beschreibt, wie Sie das Wordpress-Kommandozeilentool wp-cli installieren und verwenden können.

Installation

Wenn Sie das LiveConfig-Repository eingerichtet haben, können Sie wp-cli einfach über Ihren Paketmanager installieren:

  • Debian/Ubuntu: apt install php-wpcli

Alternativ installieren Sie wp-cli indem Sie es nach /usr/local/bin/ downloaden und die notwendigen Rechte setzen:

root@srv:~# cd /usr/local/bin
root@srv:/usr/local/bin# curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
root@srv:/usr/local/bin# mv wp-cli.phar wp
root@srv:/usr/local/bin# chmod 755 wp

Verwendung

Mit dem Befehl wp --help erhalten Sie eine Liste der verfügbaren Befehle.

Wordpress-Website klonen

Angenommen, Sie haben im LiveConfig über den Application Installer eine Wordpress-Website im Verzeichnis ~/apps/website angelegt. Mit folgenden Schritten können Sie diese Website in eine Staging-Umgebung klonen:

  1. legen Sie im LiveConfig eine neue Subdomain an, z.B. staging.example.org
  2. installieren Sie eine separate Wordpress-Instanz mit dieser Subdomain (am besten auch direkt über den Application Installer)

Zum Klonen der Daten melden Sie sich per SSH auf dem Server an und wechseln in das Verzeichnis der Staging-Website (z.B. /apps/staging):

# Live-Datenbank exportieren:
web1@srv:~$ cd apps/website
web1@srv:~/apps/website$ wp db export - >~/priv/wp.sql

# Datenbank in Staging-Umgebung importieren:
web1@srv:~/apps/website$ cd ../staging
web1@srv:~/apps/staging$ wp db import ~/priv/wp.sql
Success: Imported from '/var/www/web1/priv/wp.sql'.

# temporären Datenbank-Dump löschen:
web1@srv:~/apps/staging$ rm ~/priv/wp.sql

# Domainnamen anpassen
web1@srv:~/apps/staging$ wp search-replace www.example.org staging.example.org
+------------------+-----------------------+--------------+------+
| Table            | Column                | Replacements | Type |
+------------------+-----------------------+--------------+------+
...
Success: Made 12 replacements.

# Inhalte synchronisieren
web1@srv:~/apps/staging$ rsync -a ../website/wp-content .