Назад в блог

Использование Ansible для установки и настройки WordPress с LAMP на Ubuntu

Использование Ansible для установки и настройки WordPress с LAMP на Ubuntu

Введение

Всегда наступают моменты, когда нам необходимо настроить новые серверы. Это может быть связано с распределением рабочей нагрузки или если нам просто требуется больше серверов. При настройке новых серверов пользователям необходимо использовать автоматизацию серверов для их конфигурации. Это делается для того, чтобы свести к минимуму ручное вмешательство. Ansible — это один из инструментов управления конфигурацией, который можно использовать для автоматической настройки нового сервера, что снижает вероятность человеческих ошибок при ручной настройке сервера.

Ansible — это многофункциональный инструмент с простой архитектурой. Он облегчает настройку серверов с помощью скриптов. Благодаря своей лаконичной архитектуре Ansible не требует установки какого-либо другого программного обеспечения на узлах.

В этом руководстве мы покажем вам, как использовать Ansible для автоматизации установки WordPress со стеком LAMP, работающим на сервере Ubuntu. WordPress — это CMS, которая используется для создания блогов и веб-сайтов с использованием PHP в качестве языка программирования и базы данных MySQL для хранения данных. После установки WordPress пользователи могут администрировать сайт с помощью веб-интерфейса.

Предварительные требования

  • Поскольку это руководство основано на Ubuntu, вам понадобится установленная последняя версия Ubuntu с правами sudo. Если у вас не установлена Ubuntu, вы можете воспользоваться нашим руководством Как настроить сервер Ubuntu.
  • Нам также понадобится управляющий узел Ansible. На нем должен быть настроен управляющий узел с правами sudo и включенным брандмауэром. Установка и настройка Ansible на Ubuntu 20.04 содержит подробное руководство по настройке Ansible.
  • Нам также понадобятся удаленные хосты Ansible, работающие под управлением последней версии Ubuntu. Хосты по сути являются управляемыми узлами в Ansible.

Краткое описание действий Ansible Playbook

В этом разделе мы увидим, что делает наш Ansible Playbook при его выполнении. Эта процедура является альтернативой ручной настройке, описанной здесь: Как установить WordPress с LAMP на Ubuntu 20.04.

При запуске Playbook Ansible выполнит следующие действия:

  • Установит aptitude — предпочтительный менеджер пакетов для Ansible.
  • Установит и настроит расширения PHP и пакеты LAMP.
  • Создаст новый Apache VirtualHost для веб-сайта WordPress.
  • Включит модуль mod_rewrite и отключит веб-сайт по умолчанию, предлагаемый Apache.
  • Установит пароль для пользователя root в MySQL.
  • Удалит анонимные учетные записи MySQL и тестовую базу данных.
  • Создаст нового пользователя и новую базу данных. Они будут использоваться веб-сайтом WordPress.
  • Настроит UFW для разрешения HTTP-трафика на настроенном порту ( 80 по умолчанию).
  • Скачает и распакует WordPress.
  • Настроит права доступа и владельцев для директорий.
  • Настроит новый файл wp-config.php с использованием его шаблона.

Руководство по Ansible Playbook для WordPress на LAMP

Сначала нам нужно будет получить playbook WordPress на LAMP и его зависимости из репозитория do-community/ansible-playbooks. Мы клонируем этот репозиторий внутри управляющего узла Ansible.

Вы можете запустить команду git pull как указано ниже:

Убедитесь, что у вас обновленная копия вышеупомянутого репозитория. Это на случай, если вы клонировали репозиторий ранее. Ниже описано, как получить обновление:

Теперь нам нужно найти файлы внутри папки wordpress-lamp_ubuntu . Имя этой папки может отличаться в зависимости от используемой вами версии Ubuntu. С первого взгляда вы увидите следующую структуру в этом каталоге:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Dir Struc

Ниже кратко описано назначение этих файлов:

  • files/apache.conf.j2: Apache использует VirtualHost. Этот файл используется для указания настроек для VirtualHost.
  • files/wp-config.php.j2: Этот файл содержит настройки для конфигурации WordPress.
  • vars/default.yml: Он настраивает параметры playbook.
  • playbook.yml: Если есть задачи, которые необходимо выполнить на удаленном сервере, этот файл используется для их настройки.
  • readme.md: Руководство по использованию playbook.

Нам нужно отредактировать файл переменных плейбука, чтобы настроить установку. Сначала откройте vars/default.yaml файл, который находится внутри вышеупомянутого каталога:

Этот файл довольно длинный. В нем есть ряд конфигураций, которые помогут нам с установкой:

Здесь нас интересуют следующие переменные:

  • php_modules: Массив, содержащий расширения PHP, которые должны быть установлены для поддержки вашей настройки WordPress. Если вы хотите установить больше модулей, вы можете указать их здесь.
  • mysql_root_password: Пароль для учетной записи root MySQL.
  • mysql_db: Указывает имя базы данных MySQL, которую будет использовать WordPress.
  • mysql_user: Имя пользователя MySQL, которое должно быть создано для WordPress.
  • mysql_password: Пароль для нового пользователя MySQL.
  • http_host: Доменное имя или IP-адрес сервера.
  • http_conf: Имя конфигурационного файла, который будет создан в Apache.
  • http_port: HTTP-порт для этого виртуального хоста. Этот порт используется для доступа к веб-сайту. Значение по умолчанию — 80.

Затем введите значения в указанный выше файл, сохраните и закройте его. Для пользователей, использующих редактор nano, нажмите CTRL+X, Y, и нажмите ENTER.

Теперь вы готовы запустить этот плейбук. Вы можете запустить его на одном или нескольких серверах. Если вы хотите запустить этот плейбук на каком-то конкретном сервере, вы можете использовать флаг -l. Кроме того, если вам нужно указать пользователя для подключения к удаленному серверу, укажите его с помощью флага -u .

Предположим, мы хотим выполнить наш плейбук на одном сервере, srvr1, используя пользователя u1, мы можем запустить команду ниже:

После запуска вышеуказанной команды вы получите вывод, подобный следующему:

Дождитесь завершения выполнения плейбука. Затем перейдите к server_name в вашем веб-браузере:

Вы увидите экран:

WP Page

Затем выберите нужный язык и нажмите Continue. Вы перейдете на следующий экран, где вам будет предложено ввести некоторые данные для завершения установки:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Set User Pass

После этого введите информацию и нажмите Install WordPress. Это займет некоторое время, после чего вы увидите экран, подобный приведенному ниже:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Install Success

Выберите Login для входа на свой веб-сайт и настройки параметров:

Homepage

Содержимое плейбука Ansible

Помните о папке wordpress-lamp_ubuntu . Она содержит несколько файлов внутри. Давайте разберем их по очереди:

●    vars/default.yml

Этот файл содержит значения, которые используются для настройки параметров вашего веб-сайта WordPress:

●    files/apache.conf.j2

Этот файл используется для настройки VirtualHost в Apache:

●    files/wp-config.php.j2

Этот файл используется для настройки WordPress. Он содержит уникальные ключи и соли, сгенерированные хэш-функциями:

●    playbook.yml

Этот файл содержит все задачи, определенные в этой конфигурации. Он начинается со списка серверов, на которые нацелена эта конфигурация. Он включает в себя vars/default.yml файл переменных для загрузки параметров конфигурации:

Вы можете изменить эти файлы по мере необходимости в соответствии с вашими конкретными потребностями для создаваемого веб-сайта.

Заключение

В этом руководстве мы продемонстрировали, как можно автоматизировать установку и настройку веб-сайта WordPress, работающего на стеке LAMP, в последней версии операционной системы Ubuntu с помощью Ansible.

Дополнительные руководства по работе с Ansible вы можете найти в следующих статьях в нашем блоге:

Приятной работы!

author

Preslav Dobrev

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.