Установка CMS

  Установка CMS


  Размещение и запуск кода CMS

  Для выполнение установки скачате .zip файл с кодом приложения. При помощи файлового менеджера или команды
$ sudo mkdir -p /var/www/cmsTC
создайте папку для приложения CMS в директории веб-сервера NGINX и перенесите в нее скаченый .zip файл, а затем разверните его в эту папку.  Найдите файл appsettings.json и отредактируте его следующим образом:
в поле "EmailSettings" внесите текущие имя пользователя и пароль и др. для подключения к аккаунту вашей почты. Это будет необходимо для подтверждения при регистрации пользователя на вашем сайте. Теперь можно произвести первый запуск самого приложения. Для этого в папке /var/www/cmsTC выполните команду
$ sudo dotnet cmsTCfree.dll

Если запуск прошел успешно, создадим системную службу, которая будет запускать приложение при старте системы. Для этого создадим файл со следующим содержимым и перезагрузим систему:

/etc/systemd/system/kestrel-cmsTCfree.service

    [Unit]

    Description=Example .NET Web API App running on Linux

    [Service]

    WorkingDirectory=/var/www/cmsTC

    ExecStart=/usr/bin/dotnet /var/www/cmsTC/cmsTC.Server.dll --urls='https://127.0.0.1:44456'
  
    Restart=always

    # Restart service after 10 seconds if the dotnet service crashes:

    RestartSec=10

    KillSignal=SIGINT

    SyslogIdentifier=dotnet-example

    User=root

    Environment=ASPNETCORE_ENVIRONMENT=Production

    Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false


    [Install]

    WantedBy=multi-user.target




  Настройка веб-сервера NGINX

  Создайте новый файл конфигурации NGINX с приведенным содержимым и с указанным именем. Замените в нем yourdomain.name на ваш домен и проверьте путь к файлам сертификата .key и .crt. Если файлы сертификатов отсутствуют, их необходимо создать по инструкции хостинга или самостоятельно, например с использованием Certbot Let's Encrypt.

/etc/nginx/site-enabled/cmsTC

#=========================================================================================
    server {

    listen 80;
    listen [::]:80;
    return 301 https://$host$request_uri;

    }

    server {

    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    server_name yourdomain.name *.yourdomain.name;

    ssl_certificate /root/.aspnet/https/cert.crt;
    ssl_certificate_key /root/.aspnet/https/cert.key;

    location / {

    proxy_pass https://localhost:44456;
    proxy_set_header   Host $host;

    }

    }

    upstream dotnet {
    zone dotnet 64k;
    server 127.0.0.1:44456;
    }

Перегрузите веб-сервер:
$ sudo systemctl restart nginx
и проверьте через браузер работу вашего сайта.