Есть официальные образы для развертывания WordPress и использования wp-cli. Но при их совместном использовании мне приходилось расшаривать всю папку WordPress и хотелось, чтобы было больше возможностей для кастомизации установки.


Очень хотелось после запуска контейнера видеть в браузере не приглашение к выбору языка установки, а готовый сайт.


Эта статья предлагает один из способов развертывания сайтов на WordPress.


Установка


git clone https://github.com/eustatos/wordpress-docker-dev-env.git

или, если предпочитаете ssh:


git clone git@github.com:eustatos/wordpress-docker-dev-env.git

Затем:


cd wordpress-docker-dev-env
docker-compose up -d
docker-compose exec -T wp-cli sh < install.sh

На этом установка окончена. Откройте localhost:8080 в предпочитаемом браузере.
Доступ к админ панели localhost:8080/wp-admin.
Логин пользователя — admin
Пароль пользователя — 123


Изменить эти и другие переменные окружения и установки можно в файлах site.env и .env.


В папке проекта появляется папка wp-content, где можно создавать и\или изменять темы и плагины.


Если есть проблемы с правами на файлы в папке wp-content:


sudo usermod -a -G www-data $USER

Кастомизация сборки


Вы можете управлять сборкой, как удобно. Например, если не нужно создавать темы и\или плагины по-умолчанию — просто внесите изменения в install.sh.


#!/usr/bin/env bash

wp core download --force --allow-root
wp config create   --dbhost=$WORDPRESS_DB_HOST   --dbname=$WORDPRESS_DB_NAME   --dbuser=$WORDPRESS_DB_USER   --dbpass=$WORDPRESS_DB_PASSWORD   --allow-root
wp core install   --title=$TITLE   --url=$URL   --admin_user=$ADMIN_USER   --admin_password=$ADMIN_PASSWORD   --admin_email=$ADMIN_EMAIL # add for skip creation default themes
  --skip-themes
# add for skip creation default plugins
  --skip-plugins
  --allow-root

Полее подробно о возможностях wp core install можно узнать
здесь


Пример создания темы


Например, для создания темы основанной на underscoresвыполните следующую команду


docker-compose exec -T wp-cli wp scaffold _s   sample-theme   --theme_name="Sample Theme"   --author="John Doe"

Эта команда создаст папку sample-theme в папкеwp-content с файлами темы и вы можете тут же начать ее модифицировать.


В завершении, короткое видео для наглядности:


Комментарии (0)