WP BOX Installation Docker
Баннер

Установка WP BOX. Запуск WordPress через Docker Compose и Makefile

В этой секции:

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

WP BOX — это программное обеспечение, которое устанавливает серверное ПО на операционную систему на базе Linux через Docker, а поверх этого серверного ПО устанавливает WordPress, а также собственные и сторонние плагины и темы с помощью Composer и других необходимых инструментов удобных для разработки и запуска вебсайтов.

Установка может варьироваться в зависимости от типа вашего компьютера и операционной системы.

Установка WSL2 (только для Windows)

Для установки на Windows вам необходимо сначала установить WSL2.
Microsoft предоставляет подробное руководство, объясняющее, как это сделать: https://learn.microsoft.com/ru-ru/windows/wsl/install

Если коротко, то вам достаточно выполнить следующую команду в PowerShell, но могут быть нюансы, о которых рассказано по ссылке выше.

wsl --install -d Debian

WP BOX протестирован на Debian и должен хорошо работать на дистрибутивах, таких как Ubuntu. Однако вам, возможно, придется внести некоторые изменения в установочные скрипты.

Установка Docker, Make и Git

После установки WSL2, либо если вы используете MacOS или систему GNU/Linux в качестве основной, вам нужно установить Docker, Make и Git через интерфейс командной строки.

Пример команды на Debian выглядит так:

sudo apt-get install docker docker-compose git make

На MacOS вам сначала нужно установить Homebrew (из .pkg или через командную строку), а затем установить пакеты с помощью Homebrew:

sudo brew install docker docker-compose git make

На Windows вы можете установить Docker и Git на вашу основную систему, вместо Linux в подсистеме. Рекомендую скачать их в виде установочные файлы с официальных сайтов.

Клонирование проекта

Перед клонированием проекта на ваш локальный компьютер учтите, что при установке на Windows программное обеспечение веб-сервера работает гораздо быстрее на файловой системе Linux, поэтому важно клонировать проект в директорию, находящуюся внутри WSL2, а не в основной системе. Для MacOS и при использовании Linux как основной системы не требуется специально выбирать директорию, но на MacOS потребуется разрешить Docker доступ к файлам (должен вылезти попап, если файлы на рабочем столе или в документах).

На любом операционной системе нужно установить правильные права доступа к директории, чтобы она принадлежала вашему текущему пользователю, но не следует устанавливать WP BOX под root пользователем. Я обычно использую для локальной разработки такую же директорию, что и на рабочем веб-сервере — в /var/www/your.domain

sudo mkdir -p /var/www/your.domain
sudo chown -R <USER>:<GROUP> /var/www/your.domain

После того как директория создана, зайдите в нее и клонируйте проект под текущим пользователем:

cd /var/www/your.domain 
git init . 
git remote add -t \* -f origin <repository-url> 
git checkout master

Добавьте своего пользователя в группу docker:

sudo usermod -u $(id -u) -a -G docker $(whoami) newgrp docker

Наконец, скопируйте файл с переменными окружения из примера и измените его, указав свои значения, такие как ключи для API, имя и пароль базы данных, имя первого пользователя. Локально сайт должен запуститься и с настройками по умолчанию.

cp .env.example .env

Сборка и запуск Docker

По умолчанию базовые образы скачиваются с Docker Hub, но в .env проекта можно указать собственные registry для скачивания базовых образов, в случае если вы не можете использовать Docker Hub. В Dockerfile заложена логика, которая будет скачивать базовые образы из вашего registry при их указании.

С этого момента вы можете использовать команды make, указанные в файле ./Makefile. Чтобы собрать Docker-образы и запустить контейнеры, вы можете выполнить команду «всё в одном»:

make install-all

Эта команда запускает установку пакетов, а затем запускает веб-сервер, привязывает тома к директориям, запускает сервисы кэша, сервера базы данных и всё остального, кроме самих данных сайта.

Учтите что команда установки обращается к различным поставщикам пакетов, которые могут оказаться недоступны. В этом случае вы можете прибегнуть к одному из способов:

  • скачать с проксированием
  • самостоятельно заменить источники пакетов и скачать от альтернативных поставщиков
  • запросить готовые Docker образы по email — sam.tyurenkov@wp-box.org

Установка WordPress

Теперь вам нужно установить WordPress, для этого также доступна команда make:

make post-install

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

Вот и всё, попробуйте открыть сайт в вашем браузере.

(Примечание: если вы использовали доменное имя в файле .env вместо localhost, вам нужно будет добавить его в файл hosts вашей машины для разрешения DNS на ваш локальный компьютер.)