Инструкция по установке экземпляра ПО

Введение
Настоящее руководство описывает процесс установки серверного решения программного обеспечения PASS. 

Системные требования
Требования к серверу баз данных:
  • Процессор: 4 ядра, 2,8GHz и выше
  • Оперативная память (RAM): 32 Gb и более
  • Система хранения данных (HDD/SSD): от 300Gb, рекомендуется RAID, не менее 250 IOPS

Требования к ПО:
  • Linux (amd 64)
  • PostgreSQL Server
Должны быть установлены все актуальные обновления для используемой версии операционной системы.

Общие сведения об администрировании
Администратор обеспечивает надлежащую работоспособность платформы, выполняя функции администрирования платформы. К основным функциями администратора платформы относятся: 
  • Установка и сопровождение ПО: установка и настройка ОС, прикладного ПО на серверах приложения, СУБД, рабочих местах пользователей, мониторинг работоспособности ПО.
  • Обеспечение сохранности и актуальности данных: создание и поддержание необходимого количества резервных копий, восстановление данных при необходимости.
  • Управление учетными записями пользователей: регистрация пользователей, контроль использования учетных записей, задание ограничений на использование учетных записей, блокировка и удаление неиспользуемых учетных записей.
  • Защита данных от несанкционированного доступа: настройка учетных записей пользователей путем установки соответствующих прав пользователей.
В своей работе администратор платформы должен руководствоваться следующими документами:
  • Описание функциональных характеристик;
  • Технической документацией по ОС и СУБД.

Установка PostgreSQL
Скачиваем дистрибутив PostgreSQL.
Далее открываем установщик и начинаем инсталляцию приложения.

В процессе установки установите галочки на пунктах:
  • PostgreSQL Server — сам сервер СУБД
  • PgAdmin 4 — визуальный редактор SQL
  • Stack Builder — дополнительные инструменты для разработки (возможно вам они понадобятся в будущем)
  • Command Line Tools — инструменты командной строки

Установите пароль для пользователя postgres, он создается по умолчанию и имеет права суперпользователя.

По умолчание СУБД подключается на порту 5432, который нужно будет добавить в исключения в правилах фаервола.

Нажимаете Далее, на этом установка PostgreSQL завершена.
Чтобы разрешить сетевой доступ к вашему экземпляру PostgreSQL с других компьютеров, вам нужно создать правила в файерволе. Вы можете создать правило через командную строку или PowerShell.

Запустите командную строку от имени администратора. Введите команду:
netsh advfirewall firewall add rule name="Postgre Port" dir=in action=allow protocol=TCP localport=5432

  • rule name — имя правила;
  • Localport — разрешенный порт.
После применения команды в брандмауэре появится новое разрешающее правило для порта Postgres.

На этом установка PostgreSQL завершена.

Установка IIS для серверов
На сервере приложений должны быть установлены (или включены в компонентах):
  • IIS (роль Веб-сервер) и его дополнительные компоненты:
  • Компонент Проверка подлинности
EN: «Internet Information Services\World Wide Web Services\Security\Authentication»
RU: «Службы IIS\Службы Интернета\Безопасность\Проверка подлинности»
  • Компонент Консоль управления IIS
EN: «Internet Information Services\Web Management Tools\IIS Management Console»
RU: «Службы IIS\Средства управления веб-сайтом\Консоль управления IIS»
  • Настройка протокола https: создать или указать необходимый сертификат и добавить серверные привязки (bindings)

Для установки компонентов IIS перейдите Панель управления\Программы\Программы и компоненты, нажмите «Включение или отключение компонентов ОC».

В открывшемся окне найдите группу «Службы IIS».

В ветке Службы интернета/Безопасность включите «Проверка подлинности».

В консоли IIS (Internet Information Services Manager) необходимо настроить поддержку протокола HTTPS. В корневом каталоге выберите пункт «Сертификаты сервера».

Открыв его, в правом верхнем углу нажмите «Создать самозаверенный сертификат».

В появившемся окне введите понятное имя сертификата, например, server_name, и нажмите «ОК».

Далее выберите узел сайта в дереве, обычно это «Default Web Site». В правом меню выберите пункт «Привязки».

В открывшемся окне, если нет пункта с типом https, нажмите «Добавить».

Заполните настройки привязки:
  • Тип — https,
  • Сертификаты SSL — укажите созданный выше сертификат, в примере он имеет имя https.

Установка Nginx
Для того, чтобы поставить nginx на новой машине, необходимо подключить и настроить репозиторий пакетов nginx. После этого можно будет установить и обновлять nginx из этого репозитория.

Установите пакеты, необходимые для подключения apt-репозитория:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring

Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов. Скачайте ключ:
curl nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Проверьте, верный ли ключ был загружен:
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

Вывод команды должен содержать полный отпечаток ключа
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62:
pub rsa2048 2011−08−19 [SC] [expires: 2027−05−24]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>

Вывод команды может содержать и другие ключи, используемые для подписи пакетов.
Для подключения apt-репозитория для стабильной версии nginx, выполните следующую команду:
echo «deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list

Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:
echo «deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list

Для использования пакетов из нашего репозитория вместо распространяемых в дистрибутиве, настройте закрепление:
echo -e «Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n» \
| sudo tee /etc/apt/preferences.d/99nginx

Чтобы установить nginx, выполните следующие команды:
sudo apt update
sudo apt install nginx

Вы установили Nginх на ваш сервер.

Установка ПО PASS
Установка необходимых компонентов:
sudo apt-get update
sudo apt-get install nodejs npm git

Настройка пользователя
Создание отдельного пользователя для приложения (не рекомендуется запускать под root):
sudo adduser appuser
sudo usermod -aG sudo appuser
su - appuser

Клонирование проекта из GitLab. Получение кода приложения:
git clone https://gitlab.com/pass-repo.git
cd pass-repo

Установка зависимостей. Установка npm пакетов:
npm install

Настройка окружения. Создание файла конфигурации:
touch .env

Добавьте необходимые переменные окружения:
PORT=3000
DATABASE_URL=postgresql://user:password@localhost/dbname

Управление приложением. Установка PM2 для управления процессами:
npm install pm2 -g

Запуск приложения:
pm2 start index.js --name "pass-app"

Для автоматического запуска при перезагрузке:
pm2 startup
pm2 save

Настройка Nginx. Создание конфигурации:
sudo nano /etc/nginx/sites-available/pass-app

Добавьте следующее содержимое:
server {
    listen 80;
    server_name your-domain.com;
 
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://localhost:3000/;
        proxy_ssl_sessions on;
        proxy_ssl_server_name on;
    }
}

Активация конфигурации:
sudo ln -s /etc/nginx/sites-available/pass-app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Проверка работы
Проверка статуса нашего web приложения (ПО):
pm2 list

Проверка конфигурации Nginx:
sudo nginx -t

После выполнения всех шагов ваше Node.js приложение должно быть доступно по указанному доменному имени или IP-адресу.

Контактная информация производителя программного продукта
Телефон: +7 909 412 65 14
E-mail: info@paritettech.ru