Установка 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
и проверьте через браузер работу вашего сайта.