WP-CLI na serwerach CloudHosting

Czym jest WP-CLI?

WP-CLI jest aplikacją pozwala­jącą użytkown­ikom Word­Pres­sa na zarządzanie insta­lac­ja­mi tego sys­te­mu z poziomu wier­sza pole­ceń, bez koniecznoś­ci logowa­nia się do zaplecza strony.

Korzys­ta­jąc z WP-CLI moż­na zre­al­i­zować szereg zadań związanych z obsługą CMSa, w tym m.in. dokony­wać jego aktu­al­iza­cji, tworzyć kopie zapa­sowe baz danych, pub­likować nowe posty czy też wykony­wać inne czyn­noś­ci admin­is­tra­cyjne.

Pod­sta­wowe funkc­je, jakie moż­na wykon­ać za pomocą tej aplikacji, to m.in.:

  • instalowanie Word­Pres­sa od pod­staw;
  • instalowanie i aktu­al­iza­c­ja moty­wów i wty­czek;
  • możli­wość lis­towa­nia wszys­t­kich wty­czek i wery­fikac­ja ich stanu;
  • aktu­al­iza­c­ja skryp­tu Word­Press;
  • tworze­nie kopii zapa­sowych baz danych i ich przy­wracanie;
  • tworze­nie lub zmi­ana kont i edy­c­ja uprawnień użytkown­ików.

Narzędzie WP-CLI, oprócz wbu­dowanych komend, pozwala również na tworze­nie włas­nych funkcji, na potrze­by konkret­nych insta­lacji czy grup insta­lacji. Pro­ces ten został opisany w doku­men­tacji WP-CLI. Przy tworze­niu nowych funkcji moż­na korzys­tać z zewnętrznego API aplikacji, co również zostało udoku­men­towane.

Na ser­w­er­ach hostin­gowych w nazwa.pl, WP-CLI dostęp­ne jest jako komen­da sys­te­mowa.

Obsługa WP-CLI

Aby wyświ­etlić kom­plet­ną listę czyn­noś­ci, na które pozwala WP-CLI, wystar­czy uru­chomić aplikację z poziomu SSH, bez żad­nych argu­men­tów lub z argu­mentem help. W tym celu, wpisz polece­nie:

wp

lub

wp help

Aby zwery­fikować infor­ma­c­je o aktu­al­nie zain­stalowanych na ser­w­erze wer­s­jach Word­Pres­sa i ich lokaliza­c­jach, użyj polece­nia:

wp find ./

W wyniku zas­tosowa­nia tego polece­nia, wyświ­et­lone zostaną infor­ma­c­je na tem­at zain­stalowanych na ser­w­erze wer­sji Word­Pres­sa:

W powyższym przykładzie widać, że znaleziono dwie insta­lac­je Word­Pres­sa. Zna­j­du­ją się one w kat­a­lo­gach wordpress/wpn_1 oraz wordpress/wpn_nb. Aby zacząć pracę jedynie z jed­ną insta­lacją CMS, zna­j­du­jącą się przykład­owo w kat­a­logu wordpress/wpn_1, należy prze­jść do właś­ci­wego kat­a­logu. W tym celu należy użyć polece­nia cd wraz ze ścieżką dostępu do odpowied­niego kat­a­logu:

cd /home/server123456/ftp/wordpress/wpn_1/

Po prze­jś­ciu do wybranego kat­a­logu, wszelkie oper­ac­je wykony­wane poprzez WP-CLI doty­czyć będą jedynie wybranej insta­lacji Word­Press, która zna­j­du­je się w tym kat­a­logu.

Przykłady praktycznego zastosowania WP-CLI do administrowania WordPressem
  • Aktu­al­iza­c­ja Word­Pres­sa

    Polece­nie:

    wp core update

    Wynik:

    Updat­ing to ver­sion 5.6 (pl_PL)…
    Pobieranie aktu­al­iza­cji z https://downloads.wordpress.org/release/pl_PL/wordpress‑5.6.zip…
    Roz­pakowywanie aktu­al­iza­cji…
    […]
    Suc­cess: Word­Press updat­ed suc­cess­ful­ly.
  • Insta­lac­ja moty­wu Kadence

    Polece­nie:

    wp theme install kadence

    Wynik:

    Installing Kadence (1.0.5)
    Pobieranie paki­etu insta­la­cyjnego z https://downloads.wordpress.org/theme/kadence.1.0.5.zip…
    Roz­pakowywanie pacz­ki…
    Insta­lac­ja moty­wu…
    Motyw został zain­stalowany.
  • Aktywac­ja moty­wu Kadence

    Polece­nie:

    wp theme acti­vate kadence

    Wynik:

    Suc­cess: Switched to ‘Kadence’ theme.
  • Insta­lac­ja plug­inu W3 Total Cache

    Polece­nie:

    wp plu­g­in install w3-total-cache

    Wynik:

    Installing W3 Total Cache (0.15.2)
    Pobieranie paki­etu insta­la­cyjnego z https://downloads.wordpress.org/plugin/w3-total-cache.0.15.2.zip…
    Roz­pakowywanie pacz­ki…
    Insta­lac­ja wty­cz­ki…
    Wty­cz­ka została zain­stalowana.
    Suc­cess: Installed 1 of 1 plu­g­ins.
  • Aktywac­ja plug­inu W3 Total Cache

    Polece­nie:

    wp plu­g­in acti­vate w3-total-cache

    Wynik:

    Plu­g­in ‘w3-total-cache’ acti­vat­ed.
  • Eksport bazy danych do pliku, import bazy danych z pliku

    Polece­nie eksportu do pliku o przykład­owej nazwie baza_1.sql:

    wp db export baza_1.sql

    Polece­nie impor­tu z pliku o przykład­owej nazwie baza_1.sql:

    wp db import baza_1.sql
WP-CLI dla zaawansowanych użytkowników

Wyko­rzys­tanie języ­ka skryp­towego bash oraz WP-CLI daje web­mas­terom możli­wość wykony­wa­nia czyn­noś­ci na wielu insta­lac­jach Word­Press, zna­j­du­ją­cych się na ser­w­erze nazwa.pl, za pomocą jed­nej dłuższej komendy.

Aby znależć ścież­ki -path do wszys­t­kich insta­lacji Word­Pres­sa na danym ser­w­erze w nazwa.pl, należy użyć połączenia komendy WP-CLI z polece­ni­a­mi bash:

wp find ./ –format=csv | awk ‚/wp-includes/ {print $1}’ | cut -d / ‑f 1–6

Wynikiem wyko­na­nia powyższej funkcji będzie wyświ­etle­nie ścieżek bezwzględ­nych do insta­lacji Word­Press na ser­w­erze:

/home/server123456/ftp/wordpress/wpn_1
/home/server123456/ftp/wordpress/wpn_nb

Aby dokon­ać konkret­nych czyn­noś­ci dla wszys­t­kich stron w znalezionym kat­a­logu, należy wykon­ać pętlę:

for site in ‘wp find ./ –format=csv | awk ‚/wp-includes/ {print $1}’ | cut ‑d / ‑f 1–6‘; do { echo Aktu­al­iza­c­ja $site…; wp –path=$site core update; echo Insta­lac­ja i aktywac­ja moty­wu Kadence; wp –path=$site theme install kadence; wp –path=$site theme acti­vate kadence; echo Insta­lac­ja i aktywac­ja wty­cz­ki W3 Total Cache; wp –path=$site plu­g­in install w3-total-cache; wp –path=$site plu­g­in acti­vate w3-total-cache;};done;

Powyższa komen­da wyszu­ka wszys­tkie insta­lac­je Word­Press na ser­w­erze nazwa.pl, a następ­nie, w pętli, dokona ich aktu­al­iza­cji, zain­stalu­je i akty­wu­je motyw Kadence oraz wty­czkę W3 Total Cache.

Table of Contents