Эта статья является частью серии, созданной в сотрудничестве с SiteGround . Спасибо за поддержку партнеров, которые делают возможным использование SitePoint.
Что такое WP-CLI?
WP-CLI — это инструмент, который позволяет вам выполнять действия по установке WordPress прямо из командной строки. Автоматизация WP-CLI — это автоматизация повторяющихся ручных задач с использованием сценариев, управляемых WP-CLI. Это может показаться ненужным, неловким или слишком сложным делом, с которым приходится сталкиваться при развертывании или управлении одной установкой WordPress, но когда вы управляете многими или постоянно создаете аналогичные новые сайты для тестирования, это становится чрезвычайно ценным инструментом. иметь в своем наборе инструментов разработчика.
О WP-CLI
С WP-CLI вы можете выполнять любые действия, которые вы можете выполнять через панель администратора, но вместо этого из командной строки. Вы можете установить или обновить основные файлы WordPress, плагины или темы. Вы можете активировать и деактивировать плагины или восстановить эскизы изображений. Вы также можете выполнить действия с базой данных, такие как экспорт и импорт базы данных, или найти и заменить базу данных для получения информации, такой как измененный URL-адрес во время миграции.
Некоторые плагины также имеют поддержку WP-CLI — в том числе многие из наиболее популярных. Это означает, что вы можете настроить автоматические сценарии для установки и настройки WordPress, установки этих плагинов, а затем для настройки плагинов, используя свои собственные настраиваемые команды WP-CLI!
WP-CLI Автоматизация
Автоматизация WP-CLI выходит за рамки простого использования командной строки при настройке или управлении несколькими установками WordPress. Возможность обновления или резервного копирования нескольких сайтов одновременно или создания сложных стандартных установок с помощью одной команды невероятно полезна и может сэкономить значительное количество времени сопровождающим этих сайтов.
Если у вас еще не установлен WP-CLI, ознакомьтесь с документацией по установке и запустите WP-CLI.
Пять вариантов использования для автоматизации WP-CLI
Установка WordPress
После установки WordPress этот пример сценария может загружать, настраивать и устанавливать ядро WordPress, удалять стартовые плагины, добавлять и активировать указанную тему (сохранено в example-theme.zip), а также устанавливать и активировать список плагинов, которые вы предпочитаете. использовать с новыми установками.
Пример:
#!/usr/bin/env bash
#plugins to install and activate (slugs)
WPPLUGINS=( test-plugin1 test-plugin2 test-plugin3 )
echo "Starting WordPress Installation Script"
# Site Name Input
echo "Site Name: "
read -e sitename
# Site URL Input
echo "Site URL: "
read -e siteurl
# Download WP and configure it
wp core download
wp core config --dbname=$dbname --dbuser=root --dbpass=root
wp db create
wp core install --url=$siteurl --title="$sitename" --admin_user="admin" --admin_password="examplePassword123" --admin_email="[email protected]"
# Remove default plugins, install plugins, install Base Theme
wp plugin delete --all
wp theme install example-theme.zip --activate
wp plugin install ${WPPLUGINS[@]} --activate
echo "WordPress installation complete!"
Однако вы можете еще больше автоматизировать этот процесс, запросив у пользователя информацию об относительном пути, чтобы вам не нужно было находиться в установочном каталоге, чтобы запустить его, запросив имя базы данных и пароль и многое другое. Вы также можете выполнить (как вы увидите далее в этой статье) настройку среды хостинга, которая обрабатывает несколько установок WordPress на одном сервере, а также настраивать и устанавливать более одного сайта одновременно. Настройте скрипт так, как вам нужно, чтобы он был максимально эффективным для ваших собственных проектов, и чтобы вам не приходилось постоянно его переписывать — сделайте его эффективным!
Резервное копирование WordPress
Резервное копирование вашей установки WordPress является обязательным, но есть множество способов сделать это. Вы можете легко создавать резервные копии с помощью нескольких плагинов для резервного копирования WordPress , но вы также можете делать это прямо из командной строки.
Во-первых, вы захотите запустить (из командной строки или через скрипт) wp db export example.com_20170501T1420
Конечно, если полностью автоматизировать этот процесс, было бы удобно добавить метку времени к именам файлов.
Как только это будет сделано, корневой каталог вашего сайта будет содержать файл .sql
Затем вы можете запустить простой tar -vczf example.com_20170501T1420.gz .
(используя то же имя файла для этого архива резервной копии), который будет сжимать как файлы сайта, так и файл .sql
Теперь с помощью командной строки, сценария или SFTP-клиента вы можете скопировать этот архивный файл на другой компьютер, диск или в облачное хранилище, за считанные секунды скопировав резервную копию файлов и базы данных!
Обновления WordPress Core
Чтобы обновить файлы ядра WordPress для сайта в текущем каталоге, выполните команду wp core update
Эта команда действительно светит, когда вы настраиваете скрипт для циклического просмотра списка установок на текущем сервере, обновляя каждую по очереди, вводя одну команду.
Пример:
#!/usr/bin/env bash
# Assumes site directories are under /var/www/siteurl
WPSITES=( example.com example2.com example3.com )
WPPATH=/var/www/
echo "Starting WordPress Core Updates"
for i in "${WPSITES[@]}"
do
:
wp core update --path:$WPPATH$i
echo "Updates for $i Completed!"
done
echo "WordPress Core Updates Complete!"
Обновления плагинов и тем WordPress
Как и в случае с обновлениями ядра, выполните циклический просмотр списка ваших сайтов, запустив wp plugin update -all
wp theme update --all
Пример:
#!/usr/bin/env bash
# Assumes site directories are under /var/www/siteurl
WPSITES=( example.com example2.com example3.com )
WPPATH=/var/www/
echo "Starting WordPress Plugin and Theme Updates"
for i in "${WPSITES[@]}"
do
:
wp plugin update --all --path:$WPPATH$i
wp theme update --all --path:$WPPATH$i
echo "Updates for $i Completed!"
done
echo "WordPress Plugin and Theme Update Complete!"
Если вы хотите делать основные обновления WordPress, а также плагины и темы, вы также можете объединить их в один скрипт обновления.
WordPress Миграции
В рамках процесса миграции при переносе сайта между серверами, в другой домен или между средами разработки и производства или промежуточными средами вы также можете обрабатывать все проблемы с базами данных с помощью WP-CLI.
Экспортируйте базу данных со старого хост-сервера (запустите из корневого каталога сайта) с помощью:
wp db export example.com_20170501T1420
Импортируйте его на свой новый хостинг-сервер (запустите из корневого каталога сайта) с помощью:
wp db import example.com_20170501T1420
Затем замените старую информацию (например, URL) новой информацией (запустите из корневого каталога сайта):
wp search-replace oldurl.com newurl.com
Команда search-replace
oldurl.com
newurl.com
Этот процесс также можно автоматизировать, расширив те же сценарии, которые вы можете использовать для резервного копирования. Вы могли бы легко иметь скрипт экспорта, затем скрипт импорта, который добавил входные данные для поиска и замены полей и, возможно, даже расширил его опциями для новых учетных данных базы данных, если они изменились.
Выводы
Количество задач, которые можно автоматизировать с помощью WP-CLI, просто поразительно. Вы можете настроить скрипт установки, чтобы загрузить ядро WordPress, создать свою конфигурацию и базу данных, установить WordPress, удалить его из любого приложения, добавить плагины и темы по умолчанию, активировать их и многое другое. Вы также можете использовать его для запуска резервного копирования, обновлений, миграций и многого другого.
Выбор хорошего хоста важен, когда вы хотите использовать WP-CLI. Многие хосты не поддерживают использование WP-CLI, поэтому поиск такого, который действительно имеет значение, имеет первостепенное значение, если вы собираетесь использовать автоматизацию WP-CLI. SiteGround является одним из хостов, который активно поддерживает и инвестирует в поддержку проекта WP-CLI. Это отличный выбор для размещения вашего веб-сайта WordPress, особенно когда вам нужно использовать WP-CLI — у него включен WP-CLI на всех планах хостинга WordPress. SiteGround также имеет полезное руководство по использованию WP-CLI на своих серверах.
Проверьте их и приступите к работе по автоматизации установки и обслуживания WordPress с помощью WP-CLI!