TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #4423 10.4K
Самой популярной CMS в мире является Wordpress. Если не ошибаюсь, то в интернете и самих сайтов в целом больше всего именно на ней, а не только среди CMS. Сейчас не уверен, что это так, не проверял специально. Но лет 5 назад видел такую статистику.

У меня и свои сайты всегда были на Wordpress, и кучу проектов на них вёл и веду. Да и вообще, большинство блогов сделаны на WP. Это реально удобный движок. Ему приписывают проблемы с безопасностью и общую тормознутость. Но это всё мимо кассы претензии. Проблемы с безопасностью обычно в плагинах, не надо ставить всё подряд. А вопросы производительности хорошо решаются кэшированием. Контентные сайты вообще полностью в кэш загоняются и напрямую статические html отдаёт веб сервер. И всё это средствами самого движка WP. Удобно и просто в настройке.

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

У меня будет 4 контейнера:
▪️mysql:8.4 - база данных;
▪️nginx:latest - веб сервер;
▪️wordpress:php8.3-fpm - образ с php-fpm от wordpress;
▪️wordpress:cli - консольный инструмент для управления конфигурацией wordpress.

Отдельно остановлюсь на wp-cli. Это консольная утилита, с помощью которой можно автоматизировать управление Wordpress. С её помощью можно делать как преднастройки новой установки, так и управлять уже работающим сайтом. Последнее я покажу в следующей заметке, а сейчас займёмся начальной установкой.

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

# git clone https://gitflic.ru/project/serveradmin/wordpress.git
# cd wordpress

В директории 3 файла:

- docker-compose.yml
- nginx_default.conf
- configure-wp.sh  

С первыми двумя всё стандартно, не буду на них задерживаться. Остановлюсь подробно только на последнем файле. Это bash скрипт для wp-cli, который:

1. Устанавливает WP с заданной настройкой url и учёткой админа.
2. Устанавливает новую тему и удаляет стандартные.
3. Устанавливает и удаляет плагины.
4. Устанавливает русский язык.

Показал эти действия для примера. Туда же можно добавить какие-то материалы в виде xml файлов и через импорт их туда загнать. Это может быть удобно, если вы на потоке создаёте или тестируете какие-то темы, плагины с набором данных. Делается это примерно так:

curl -O https://raw.githubusercontent.com/manovotny/wptest/master/wptest.xml
wp import wptest.xml --authors=create

Эти команды надо добавить в конец configure-wp.sh. Этот файл - простой набор консольных команд с wp-cli.

Перед запуском измените имя домена в nginx_default.conf и configure-wp.sh. А также название сайта, имя пользователя и пароль в configure-wp.sh. Больше ничего менять не надо. Запускаем:

# docker compose up

Через пару минут получите настроенный сайт wordpress с заданными параметрами и наполнением. В директориях ./db и ./wp будут лежать файлы СУБД и сайта. Возможно вам будет удобнее хранить их в volumes. Мне в директории как-то привычнее.

Если вы разработчик и работаете с Wordpress, то просто клонируйте этот проект, меняйте url, настраивайте CMS через конфиг wp-cli и всегда будете иметь возможность очень быстро развернуть свой проект в любом месте.

Данный проект не предусматривает настройку TLS, так как я подразумеваю, что входящие соединения приходят куда-то на прокси и оттуда уже летят на эти контейнеры, либо это локальный запуск для разработки. Для запуска в работу в таком виде нужно будет добавить ещё что-то для настройки сертификатов. Можно взять другой образ с Nginx, где это уже сделано. Таких образов полно. Например, linuxserver/swag. Кстати, интересный контейнер. Можно о нём отдельно рассказать.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#wordpress
  • 👍 154
  • 👎 4
More from @srv_admin
  1. Oct 10, 2026Когда я работал в одной небедной компании, там регулярно обновляли парк оборудования, а ст…
  2. Oct 9, 2026▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересны…
  3. Oct 9, 2026Астра Мониторинг впустил ИИ-агентов в системы мониторинга заказчика И приглашает вас увиде…
  4. Oct 9, 2026В пятницу расскажу про один сервис, который не имеет отношения к теме канала, но который м…
  5. Oct 7, 2026Рассказываю про одну простую, но очень полезную в хозяйстве штуку для передачи файлов межд…
  6. Oct 7, 2026❓Какие реальные возможности у 1С:Расширенная корпоративная лицензия (1С:РКЛ) и как компани…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →