Меню

МАСТЕР - УСТАНОВКА И НАСТРОЙКА PIX MASTER
НА СЕРВЕРЕ LINUX
Настройки сервера, необходимые перед установкой PIX Master

Установка модулей .Net Core на Linux
Для установки необходимых модулей используется терминал (можно найти в поисковой строке по слову cmd). Чтобы выполнить последующие команды, необходим доступ от пользователя root, для этого в командной строке необходимо выполнить инструкцию "su root" и ввести пароль пользователя root, указанный при установке операционной системы.
Для установки модулей .Net Core в командной строке необходимо выполнить следующие операции:


В случае, если при установке пакетов возникает ошибка, нужно выполнить инструкции, представленные в подразделах дистрибутивов Linux на сайте https://docs.microsoft.com/ru-ru/dotnet/core/install/linux
    Установка и конфигурация сервера Apache

    • sudo apt-get install apache2

    Создаем сертификат
    • cd /etc/apache2
    • mkdir ssl
    • cd ssl
    • openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj "/C=RU/ST=Msk/L=Msk/O=YourCompany/OU=IT Department/CN=master.yourcompany.local/CN=master"

    • sudo a2enmod proxy_http proxy_html proxy_wstunnel ssl
    • sudo a2enmod rewrite
    • sudo systemctl restart apache2

    После этого нужно создать конфигурационный файл для установки прокси на Apache. Для этого нужно выполнить команду:

    • sudo nano etc/apache2/conf-enabled/netcore.conf
    В появившийся файл нужно скопировать следующий текст:

    <VirtualHost *:443>

    ServerName www.CurrentDomain.com
    DocumentRoot /var/netcore

    SSLEngine on

    SSLCertificateFile ssl/cert.pem

    SSLCertificateKeyFile ssl/cert.key

    #SSLCertificateChainFile ssl/cert.ca-bundle

    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:5000/
    ProxyPassReverse / http://127.0.0.1:5000/
    RewriteEngine on

    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
    RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
    RewriteRule /(.*) ws://127.0.0.1:5000/$1 [P]
    ErrorLog /var/log/apache2/netcore-error.log
    CustomLog /var/log/apache2/netcore-access.log common
    </VirtualHost>

      После этого нужно перезапустить сервер Apache, для чего в командной строке нужно прописать:

      • sudo service apache2 restart
      • sudo apachectl configtest
        Установка Postgres


        Внимание!
        Для корректной работы PIX Master необходима версия PostgreSQL не ниже 10.


        Для установки postgresql в командной строке нужно выполнить команду:

        • sudo apt-get install postgresq
        Для изменения пароля пользователя postgresql нужно выполнить следующие команды:

        • sudo -u postgres psql postgres
        • ALTER USER postgres WITH PASSWORD 'new_password';
        Где new_password - новый пароль пользователя. Его затем можно будет указать в appsettings.json в строке подключения к базе данных.

        Для работы с Entity Framework нужно будет установить соответствующий пакет с помощью следующей команды:

        • dotnet tool install --global dotnet-ef --version 3.0.0
        Конфигурация и запуск сервиса

        Перенести папку с опубликованным проектом можно с помощью команды:

        • sudo cp -a<folder><target folder>
        Где <folder> - путь до переносимой папки, <target folder> - путь, где будет развернуто приложение. В примере ниже будет использоваться путь /var/netcore/ в качестве рабочей папки приложения.

        Файл сервиса можно создать с помощью следующей команды:

        • sudo nano /etc/systemd/system/Master.service
        где Master.service – название сервиса для проекта.

        В этот файл нужно скопировать следующие данные:

        [Unit]

        Description=ASP .NET Web Application

        [Service]

        WorkingDirectory=/var/netcore

        ExecStart=/usr/bin/dotnet /var/netcore/Master.dll

        Restart=always

        RestartSec=10

        SyslogIdentifier=netcore-demo

        User=www-data

        Environment=ASPNETCORE_ENVIRONMENT=Production

        [Install]

        WantedBy=multi-user.target


          После этого нужно будет запустить сервис с помощью следующих команд:

          • sudo systemctl enable Master.service
          • sudo systemctl start Master.service
          Теперь можно получить доступ к приложению через порт 5000.

          Для получения данных о работе сервиса можно выполнить следующую команду:

          • sudo journalctl -fu Master.service
            Настройка развернутого приложения

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

            Настройка конфигурации приложения
            Зайдите в папку, куда было установлено приложение. Там нужно открыть файл "appsettings.json". Он должен иметь примерно следующее содержание:
              В ключе "Provider" указывается СУБД, которая будет использоваться: "MSSQL" или "PostgreSQL".

              В разделе ConnectionStrings для ключа PostgreSqlConnection нужно прописать строку подключения к базе данных.

              ОБЯЗАТЕЛЬНО! В ключе "CryptographyKeysFolder" нужно прописать путь до папки, где будут храниться ключи криптографии. Этот пункт специфичен для только для Linux.
              После Данные для входа в систему изначального пользователя-администратора:

              Логин: admin
              Пароль: Admin1Default@