Suchmaschinenoptimierung • Webdesign • Internet-Services

Von der Installation bis zur alltäglichen Nutzung von WP-CLI in der Praxis - Anleitungen und Code-Beispiele

WP-CLI: Wordpress-Administration auf der Linux Kommandozeile

How to WP-CLI

Mit WP-CLI, einer Sammlung von Linux Kommandozeilen-Tools zur Administration von WordPress, bin ich vor einigen Monaten in Berührung gekommen. Grund war bei mir der allmähliche Wechsel von meinen root-Servern hin zum Hosting bei All-Inkl und der Wunsch, mir einige administrative Aufgaben bei WordPress zu vereinfachen bzw. diese zu automatisieren. Lösungen für Search & Replace, schnelle Datenbank-Backups und das Updaten von WordPress und der eingerichteten Plugins sind noch lange nicht alle Funktionen von WP-CLI.

Da bei All-Inkl in den größeren Pakten SSH inklusive ist und ich sehr gern auf der Kommando­zeile arbeite, stieß ich irgendwann auf WP-CLI. Ich installierte die Software und fasse das, wofür ich bislang mit WP-CLI nutze, in diesem Beitrag zusammen. In wie weit die hier vorgestellten WP-CLI-Beispiele auch bei Domainfactory, 1&1, Uberspace, Strato und so weiter funktionieren, kann ich nicht sagen.

Aber ihr könnt in den Kommentaren gern posten, bei welchem Hoster ihr seid und ob dort der Einsatz von WP-CLI möglich ist. Zudem ist es natürlich immer interessant zu erfahren, was ihr mit der Tool-Sammlung anstellt oder wie ihr bei bestimmten Aufgaben verfahrt bzw. mit welchen anderen Programmen und Scripts ihr WP-CLI kombiniert.

WP-CLI installieren

Hier am Beispiel von All-Inkl, welche diese Vorgehensweise auch auf ihren Hilfeseiten sehr gut dokumentiert haben. So oder so ähnlich sollte das auch bei anderen Hostern mit SSH-Zugriff funktionieren.

  1. im Kunden-Administrations-System (kurz KAS) SSH aktivieren. Der SSH-Nutzername wird angezeigt, das Passwort ist hierfür das selbe wie das vom Haupt-FTP-Nutzer dieses Accounts.
  2. Per SSH-Client, ich bevorzuge den guten alten Putty, auf der Linux-Konsole einloggen.
    Putty SSH-Client

    Putty SSH-Client

  3. Nach dem Login befindest du dich im Hauptverzeichnis (z.B. /www/htdocs/w1234567). Hier mit
    mkdir wp-cli

    ein neues Verzeichnis anlegen und

  4. in selbiges wechseln
    cd wp-cli
  5. Die komprimierte Archivdatei in das wp-cli-Verzeichnis downloaden
    curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
  6. und ausführbar machen
    chmod +x wp-cli.phar
  7. Eine .user_bashrc mit dem Befehl
    echo "alias wp='/www/htdocs/w1234567/wp-cli/wp-cli.phar'" >> /www/htdocs/w1234567/.user_bashrc

    anlegen. Wichtig: Hierbei natürlich w1234567 durch den eigenen Account-Namen ersetzen!

  8. Mit
    source /.bashrc

    die soeben angelegte .user_bashrc aktivieren.

  9. Damit ist WP-CLI in diesem Account installiert und lässt sich sofort mit dem Alias wp nutzen.
  10. Ein kurzer Test:
    wp help
    wp cli update
    WP-CLI-Befehl: wp help

    WP-CLI-Befehl: wp help

Weitere Hilfen rund um die Installation von WP-CLI findest du unter wp-cli.org. Eine Übersicht aller Kommandos und deren Parameter sind bei developer.wordpress.org aufgeführt. Noch umfassender wird das Thema unter make.wordpress.org behandelt.

Aktuelle WordPress-Version downloaden und WordPress einrichten

Wenn WP-CLI korrekt installiert wurde, kann nun das Arbeiten mit den Kommandozeilentools beginnen. Ich wechsele dazu in mein Website-Verzeichnis /meine-url.de und lade mir die aktuellste Version von WordPress herunter.

wp core download --locale=de_DE

Nach dem Download erfolgt in einer Zeile die Konfiguration für die Datenbank. Dabei wird die wp-config.php angelegt und auch die Sicherheitsschlüssel generiert.

wp config create --dbname=d0290a8a --dbuser=d0290a8a --dbpass='PUpmvUVuX74VZXe-v' --locale=de_DE
Anlegen der Datenbank beim Hoster (hier All-Inkl)

Anlegen der Datenbank beim Hoster (hier All-Inkl)

Mittels wp core install ließe sich WordPress zwar auch direkt installieren. Da ich aber noch einige Anpassungen innerhalb der wp-config.php händisch vornehme, mache diese abschließenden Einstellungen lieber manuell.

Ich bearbeite die soeben erstellte wp-config.php mit meinem favorisierten Editor unter Linux

mcedit wp-config.php

Per Copy & Paste (Tastenkombination [Shift]+[Einfg] beim MCEdit) füge ich einige zusätzliche Einstellungen ein und passe die Informationen an die erforderlichen Gegebenheiten an:

$table_prefix  = 'x2nb_';

define('UPLOADS', 'files' );
define('WP_HOME', 'https://meine-url.de/');
define('WP_SITEURL', 'https://meine-url.de/');
define('WPLANG', 'de_DE');
define('WP_POST_REVISIONS', 3);
define('AUTOSAVE_INTERVAL', 160 );
define('WP_MEMORY_LIMIT', '128M' );
define('WP_CACHE', false );
define('FS_METHOD', 'direct');

Noch ein letzter Blick darauf, ob bei meinem Hoster SSL für diese Domain aktiviert ist und schon kann der erste Aufruf der neuen Adresse im Browser erfolgen, wodurch WordPress installiert wird.

Wordpress Installation Willkommensseite

WordPress Installation Willkommensseite

WordPress Plugins installieren und aktivieren

Auch das geht sehr einfach mit WP-CLI.

wp plugin install {pluginname} --activate

Mit der Zeit hat sicher fast jeder eine Reihe Standard-Plugins, welche für die WordPress-Projekte zum Einsatz kommen. Bei mir sind etwa 6-12 Plugins, die, abhängig von der Art der Seite, eigentlich immer gebraucht werden und die ich ebenfalls direkt auf der Konsole installiere und aktiviere.

wp plugin install advanced-ads --activate
wp plugin install antispam-bee --activate
wp plugin install cachify --activate
wp plugin install posts-character-count-admin --activate
wp plugin install q2w3-fixed-widget --activate
wp plugin install responsive-lightbox-lite --activate
wp plugin install shortcodes-ultimate --activate
wp plugin install table-of-contents-plus --activate
wp plugin install tiny-simple-adblock-detector --activate
wp plugin install xml-sitemap-feed --activate

Weitere Konfigurationen

Im nächsten Schritt nehme ich im WP-Backend die Einstellungen (Permalinks, Medien usw.) vor, lade ggf. ein Theme via FTP hoch und richte es ein. Zudem werden die Beispiel-Inhalte gelöscht. Die ersten beiden Seiten werden ebenfalls sofort angelegt: Impressum und Datenschutz. Ich habe hierfür meine Standardvorlage; wer hier etwas passendes für sich sucht, wird sicher unter e-recht24.de/impressum-generator.html und datenschutz-generator.de entsprechend fündig.

Sicherheitseinstellungen für WordPress

Wichtig noch das Thema Sicherheit! Neben einem vernünftigen und einmaligen Passwort, einer regelmäßigen Aktualisierung des WordPress-Kerns und der installierten Plugins, automatischer Backups und korrekter Datei-/Verzeichnisrechte, gibt es einige sinnvolle Einstellungen bei der .htaccess-Datei.

Die Einstellungen hier reichen vom Absichern wichtiger php-Dateien, dem Verhindern typischer URL-Manipulationen, über SEO-relevante Anpassungen, bis hin zum Beschleunigen der WordPress-Seite. Wie du deine wp-login.php durch einen zusätzlichen Passwortschutz vor Brute-Force-Attacken absicherst, ist bei fastwp.de vorbildlich beschrieben.

Fortsetzung folgt, u.a. mit:

  • WordPress-Updates mit WP-CLI vornehmen
  • Datenbank sichern und zurück spielen
  • Backup einrichten
  • Search & Replace

Veröffentlicht unter: BlogTags: ,

Kommentare

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.