
WP BOX — это программное обеспечение, которое устанавливает серверное ПО на операционную систему на базе Linux через Docker, а поверх этого серверного ПО устанавливает WordPress, а также собственные и сторонние плагины и темы с помощью Composer и других необходимых инструментов удобных для разработки и запуска вебсайтов.
Установка может варьироваться в зависимости от типа вашего компьютера и операционной системы.
Для установки на Windows вам необходимо сначала установить WSL2.
Microsoft предоставляет подробное руководство, объясняющее, как это сделать: https://learn.microsoft.com/ru-ru/windows/wsl/install
Если коротко, то вам достаточно выполнить следующую команду в PowerShell, но могут быть нюансы, о которых рассказано по ссылке выше.
wsl --install -d Debian
WP BOX протестирован на Debian и должен хорошо работать на дистрибутивах, таких как Ubuntu. Однако вам, возможно, придется внести некоторые изменения в установочные скрипты.
После установки 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 Hub, но в .env проекта можно указать собственные registry для скачивания базовых образов, в случае если вы не можете использовать Docker Hub. В Dockerfile заложена логика, которая будет скачивать базовые образы из вашего registry при их указании.
С этого момента вы можете использовать команды make, указанные в файле ./Makefile. Чтобы собрать Docker-образы и запустить контейнеры, вы можете выполнить команду «всё в одном»:
make install-all
Эта команда запускает установку пакетов, а затем запускает веб-сервер, привязывает тома к директориям, запускает сервисы кэша, сервера базы данных и всё остального, кроме самих данных сайта.
Учтите что команда установки обращается к различным поставщикам пакетов, которые могут оказаться недоступны. В этом случае вы можете прибегнуть к одному из способов:
Теперь вам нужно установить WordPress, для этого также доступна команда make:
make post-install
Эта команда заполняет базу данных WordPress и добавляет некоторые начальные данные, такие как первый пользователь с правами администратора, активирует тему и т.д.
Вот и всё, попробуйте открыть сайт в вашем браузере.
(Примечание: если вы использовали доменное имя в файле .env вместо localhost, вам нужно будет добавить его в файл hosts вашей машины для разрешения DNS на ваш локальный компьютер.)