Web-0 — движок цифрового сада

Лупа для поиска
  • Свежачок
  • Карта сайта
  • Инструкция по установке движка на сервер

    Напоминаю.

    Если во время прохождения инструкций возникнут сложности, просьба задавать вопросы в официальном сообществе движка ВКонтакте в комментариях к посту из которого скачали дистрибутив.

    Итак, арендованы:

    Можно приступать к установке движка.

    1. Скачиваем дистрибутив свежей версии движка из закреплённого сообщения в официальном сообществе ВКонтакте. Допустим файл дистрибутива имеет следующее название webz-0.3.4.tar.gz, где 0.3.4 версия движка.

    2. Подключаемся к серверу от имени суперпользователя root и создаём директорию /root/webz для движка и рабочих файлов.

      $ ssh -o ServerAliveInterval=60 root@123.123.123.123
      $ mkdir --parents /root/webz/
    3. Устанавливаем 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

      Ждём около минуты (пока перезагрузится сервер). Если возникнут проблемы, заходим в панель управления сервером и там следим за состояние сервера.

    4. Копируем скаченный дистрибутив движка с локального компьютера на сервер.

      $ scp webz-*.tar.gz root@123.123.123.123:/root/webz/
    5. Подключаемся к серверу от имени суперпользователя root и начинаем настраивать движок.

      $ ssh -o ServerAliveInterval=60 root@123.123.123.123
    6. Переходим в директорию 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 (не требует изменений).
    7. Импортируем Docker-образы markup-server и webz в Docker на сервере, и удаляем файлы образов.

      $ docker load < markup-server-*.image && docker load < webz-*.image && rm markup-server-*.image webz-*.image
    8. На основе /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
    9. На основе /root/webz/.env.example создаём/root/webz/.env, указав в файле свои домены HOSTS= (через запятую) и электронный адрес EMAIL= на который будут приходить уведомления об обновлении доменных SSL-сертификатов. SSL нужен, чтобы веб-сайт открывался не только по адресу http://..., но и по адресу https://....

      $ cp /root/webz/.env.example /root/webz/.env
    10. Создаём директорию /root/webz/vault. Это будущее хранилище для документов, которые превращаются в страницы сайта.

      $ mkdir /root/webz/vault

      Создаём текстовый файл /root/webz/vault/Добро пожаловать.md с содержимым # Всё работает!.

      $ nano /root/webz/vault/Добро пожаловать.md
    11. Запускаем Docker Compose, который поднимет все сервисы описанные в файле /root/webz/docker-compose.yml: основной сервиса движка, сервиса преобразования разметки, nginx для балансировки нагрузки и сервис автоматической выдачи и обновления SSL-сертификатов для доменов.

      $ docker compose up --detach
    12. Наблюдаем за журналами, чтобы удостовериться, что всё запустилось без ошибок.

      $ docker compose logs --follow webz
      $ docker compose logs --follow markup-server
    13. Открываем адрес сайта, например https://web-0.ru, и убеждаемся, что страница с заголовком Всё работает! отображается успешно.

    Уфф! Вы молодцы! Половина пути пройдена, обратной дороги нет... движемся дальше...


    1. Подробнее ознакомиться с инструкцией по установке Docker и Docker Compose можно на официальном сайте↩︎