Инструкция по установке движка на сервер
Напоминаю.
Если во время прохождения инструкций возникнут сложности, просьба задавать вопросы в официальном сообществе движка ВКонтакте в комментариях к посту из которого скачали дистрибутив.
Итак, арендованы:
- сервер с операционной системой
Debian 11
или новее,1 Гб
оперативной памяти на борту и внешним IP-адресом123.123.123.123
, - а также домен
web-0.ru
.
Можно приступать к установке движка.
Скачиваем дистрибутив свежей версии движка из закреплённого сообщения в официальном сообществе ВКонтакте. Допустим файл дистрибутива имеет следующее название
webz-0.3.4.tar.gz
, где0.3.4
версия движка.Подключаемся к серверу от имени суперпользователя
root
и создаём директорию/root/webz
для движка и рабочих файлов.$ ssh -o ServerAliveInterval=60 root@123.123.123.123
$ mkdir --parents /root/webz/
Устанавливаем Docker и Docker Compose1.
# Add Docker's official GPG key: $ apt-get update $ apt-get install ca-certificates curl $ install -m 0755 -d /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc $ chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: $ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null $ apt-get update $ apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Выполняем команду, чтобы убедится в успешной установке Docker.
$ docker run hello-world
И на всякий случай перезагружаем сервер, при этом SSH-соединение будет разорвано. Если нужно самому разорвать SSH-соединение с сервером, нажмите сочетания клавиш
Ctrl + D
или просто закройте окно терминала (но тогда может быть потеряна история команд).$ reboot
Ждём около минуты (пока перезагрузится сервер). Если возникнут проблемы, заходим в панель управления сервером и там следим за состояние сервера.
Копируем скаченный дистрибутив движка с локального компьютера на сервер.
$ scp webz-*.tar.gz root@123.123.123.123:/root/webz/
Подключаемся к серверу от имени суперпользователя
root
и начинаем настраивать движок.$ ssh -o ServerAliveInterval=60 root@123.123.123.123
Переходим в директорию
webz
, распаковываем дистрибутив и удаляем его.$ cd /root/webz $ tar --extract --file webz-*.tar.gz --ungzip && rm webz-*.tar.gz
В директории
/root/webz
появилось несколько новых файлов из дистрибутива, где:nginx-vhost.d/www.web-0.ru_location_override.example
- пример настройки перенаправления запросов сwww.web-0.ru
наweb-0.ru
;.env.example
- пример конфигурации доменов;docker-compose.yml
- Docker Compose (не требует изменений);markup-server-0.3.4.image
- Docker-образ сервиса преобразования разметки;webz-0.3.4.image
- Docker-образ основного сервиса движка;webz-nginx-http.conf
- настройки nginx (не требует изменений).
Импортируем Docker-образы
markup-server
иwebz
в Docker на сервере, и удаляем файлы образов.$ docker load < markup-server-*.image && docker load < webz-*.image && rm markup-server-*.image webz-*.image
На основе
/root/webz/nginx-vhost.d/www.web-0.ru_location_override.example
создаём/root/webz/nginx-vhost.d/www.web-0.ru_location_override
, заменив в названии файла и его содержимомweb-0.ru
на свой домен.$ cp /root/webz/nginx-vhost.d/www.web-0.ru_location_override.example /root/webz/nginx-vhost.d/www.web-0.ru_location_override
На основе
/root/webz/.env.example
создаём/root/webz/.env
, указав в файле свои доменыHOSTS=
(через запятую) и электронный адресEMAIL=
на который будут приходить уведомления об обновлении доменных SSL-сертификатов. SSL нужен, чтобы веб-сайт открывался не только по адресуhttp://...
, но и по адресуhttps://...
.$ cp /root/webz/.env.example /root/webz/.env
Создаём директорию
/root/webz/vault
. Это будущее хранилище для документов, которые превращаются в страницы сайта.$ mkdir /root/webz/vault
Создаём текстовый файл
/root/webz/vault/Добро пожаловать.md
с содержимым# Всё работает!
.$ nano /root/webz/vault/Добро пожаловать.md
Запускаем Docker Compose, который поднимет все сервисы описанные в файле
/root/webz/docker-compose.yml
: основной сервиса движка, сервиса преобразования разметки, nginx для балансировки нагрузки и сервис автоматической выдачи и обновления SSL-сертификатов для доменов.$ docker compose up --detach
Наблюдаем за журналами, чтобы удостовериться, что всё запустилось без ошибок.
$ docker compose logs --follow webz
$ docker compose logs --follow markup-server
Открываем адрес сайта, например https://web-0.ru, и убеждаемся, что страница с заголовком Всё работает! отображается успешно.
Уфф! Вы молодцы! Половина пути пройдена, обратной дороги нет... движемся дальше...
Подробнее ознакомиться с инструкцией по установке Docker и Docker Compose можно на официальном сайте↩︎