Skip to main content

Руководство по развёртыванию

Серверная часть Модуля может работать на операционных системах семейства Linux. Данная инструкция по развёртыванию составлена на примере Ubuntu 22.10 

  1. Получите доступ к консоли сервера от имени root (например по SSH)
  2. Обновите системное ПО до актуальный версий, командой:

    apt-get update && apt-get upgrade
  3. Установите   Docker, Docker-compose и unzip командой
    apt-get install docker.io docker-compose unzip
  4. Скопируйте zip-файл с дистрибутивом на сервер
  5. Распакуйте zip-файл с дистрибутивом в папку dist
    unzip pack.zip -d dist
  6. Перейдите в папку dist
    cd dist
  7. Создайте виртуальную сеть в Docker командой
    docker network create --subnet=172.28.0.0/16 inet
  8. Запустите файл make_docker_local.sh
    ./make_docker_local.sh
  9. Запустите файл init_setup.sh
    ./init_setup.sh

  10. Во время работы скрипта из п.9 будет запрошено имя пользователя, почта, пароль администратора.
  11. На данный момент клиентская часть  модуля доступна только с сервера и по адресу 172.28.0.219. Дальнейшие шаги описывают необязательную настройку прокси сервера для доступа к модулю из вне, однако данная задача должна решаться системным администратором самостоятельно, исходя из потребности той или иной установки
  12. Создайте папку ~/nginx :
    mkdir ~/nginx

  13. В папке nginx  создайте файл site.conf со следующим содержимым:
    
    upstream loader {
     server 172.28.0.219:80;
    }
    
    server {
    
        listen 80;
        server_name testdemo.ru;
        return 301 https://testdemo.ru/$request_uri;
    
    }
    
    server {
        listen              443 ssl;
        server_name         testdemo.ru;
        ssl_certificate_key /etc/letsencrypt/live/site/privkey.pem;
        ssl_certificate  /etc/letsencrypt/live/site/cert.pem;
    
    
        location / {
          proxy_pass http://loader;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          proxy_redirect     off;
          proxy_set_header   Host $host;
          proxy_set_header   X-Real-IP $remote_addr;
          proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header   X-Forwarded-Host $server_name;
         }
    }
    
    Установите релевантный для вашего случая server_name 
  14. Запустите контейнер  jonasal/nginx-certbot, командой:
    docker run -d -it -p 80:80 -p 443:443 \
               --env CERTBOT_EMAIL=alex@codexproj.ru \
               -v $(pwd)/nginx_secrets:/etc/letsencrypt \
               -v $(pwd)/nginx:/etc/nginx/user_conf.d:ro \
               --name nginx-certbot jonasal/nginx-certbot:latest

    Указав релевантный email

  15. Модуль доступен по адресу, указанному в server_name. В данном случае testdemo.ru