Управление сайтом на WordPress из командной строки Linux

Введение

У каждого владельца сайта хоть раз в жизни случалось так, что было необходимо сбросить пароль, установить или обновить уже установленные модули, но сделать это через веб-интерфейс было невозможно.

WP-CLI — это интерфейс командной строки для WordPress при помощи которого вы можете обновлять плагины, управлять учётными записями пользователей, устанавливать темы и многое другое без использования веб-браузера.

Установка и использование

Убедимся, что текущий пользователь расположен в директории /tmp:

$ cd /tmp

Скачиваем файл wp-cli.phar:

$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Для того, чтобы каждый непривилигированный пользователь мог запускать данный инструмент необходимо задать права на исполнение:

$ chmod +x wp-cli.phar

Для того, чтобы пользователь мог вызывать инструмент внезависимости от своего расположения следует переместить в директорию, гда происходит поиск исполняемых файлов, например, /usr/local/bin:

$ sudo mv wp-cli.phar /usr/local/bin/wp

Стоит отметить, что для записи в директорию /usr/local/bin необходим привелигированный доступ. В случае, если у текущего пользователя нет превилигированного доступа, то можно выбрать другой путь, где происходит поиск исполняемых файлов, все они перечисляются в переменной окружения $PATH. Можно просмотреть содержание этой переменной:

$ echo $PATH

Вывод

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/testuser/.local/bin:/home/testuser/bin

PATH это переменная окружения в Linux и других Unix-подобных операционных системах которая содержит список директорий в которых происходит поиск исполняемых файлов в ответ на отправленную пользователем команду.

Директории /home/testuser/.local/bin и /home/testuser/bin расмоложены в домашней директории текущего пользователя, можно переместить в одну из этих директорий предворительно создав их:

$ mkdir ~/bin
$ mv wp-cli.phar ~/bin/wp

Проверка работы

Посмотр информацию об установленном инструменте

$ wp --info

Вывод

 OS:    Linux host13.cloud.anzhiganov.com 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php
PHP version: 5.4.16
php.ini used: /etc/php.ini
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /var/www/myexampleblog.com
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.2.0

Создать пользователя

$ wp user create example example@anzhiganov.com --user_pass=123

Вывод

Success: Created user 2.

Сбросить пароль пользователя

$ wp user update example --user_pass=qwerty

Вывод

Success: Updated user 2.

Отключить плагин

$ wp plugin deactivate hello

Вывод

Plugin 'hello' deactivated.
Success: Deactivated 1 of 1 plugins.

Заключение

При помощи WP-CLI вы можете управлять любым сайтом на Wordress, например:

  • Сбросить пароль пользователя, в случае если текущий пароль был забыт.
  • Деактивировать плагин, после активации которого появились ошибки HTTP 500 на страницах.
  • Изменить адрес сайта при переезда на другой домен

Дополнительная информация

  1. Сайт WP-CLI
  2. PHAR (file format)

Поделиться ссылкой: