Skip to main content

Встановлення середовища та налаштування БД

Встановлення основних компонент

Для розгортання нового порталу необхідно мати наступне

  • SSH / SFTP тунель до сервера замовника
  • ПЗ FileZilla
  • Доступ до https://git.softpro.ua/

Послідовність дій для розгортання порталу

  1. Підключитись до сервера замовника через SSH (Putty,BASH, etc.)

  2. За допомогою ПЗ FileZilla перекинути статичні файли. Локально вони розташовані в /data/softpro/work/{{ШЛЯХ_ДО_ФАЙЛІВ}}. До них входять такі репозиторії:

  • tpl
  • js
  • files/admin
  • files/geoportal
  1. Створити кореневий репозиторій для проектів з GIT:
mkdir -p /data/softpro/server

  1. Клонувати та встановити пакети з необхідних репозиторіїв. Необхідний мінімум - репозиторій node
cd /data/softpro/server
git clone -b dev git@git.softpro.ua:softpro/node.git
cd /data/softpro/node
npm i --ignore-scripts

За необхідності те ж саме повторити для інших проектів:

git clone -b dev git@git.softpro.ua:projects/{{НАЗВА_ПРОЕКТУ}}.git
cd /data/softpro/{{НАЗВА_ПРОЕКТУ}}
npm i --ignore-scripts


Для розгортання проталу на сторонньому сервері необхідно використовувати логін та пароль користувача, закріпленого за проектом. За відсутності такого користувача, його необхідно створити і надати доступ до відповідного проекту. Для клонування проекту та його оновлення необхідно використовувати username && password даного користувача:

git clone -b dev http://git@git.softpro.ua/softpro/node.git
git clone -b dev http://git.softpro.ua/projects/{{НАЗВА_ПРОЕКТУ}}.git

  1. Встановити необхідні пакети (node.js, postgres, pm2, etc.)
/data/softpro/server/node/script/install.sh
apt install npm
npm install pm2 -g
  1. Створення БД
psql -U postgres -c 'create database {{НАЗВА_БД}}' -p {{ПОРТ_БД}}
  1. Налаштування config файлів Необхідно створити файл index.json за шляхом /data/softpro/server/node/config/db. Для цього необхідно вказати шлях до БД, яку планується розгорнути на порталі.

Також необхідно створити файл configServer.json за шляхом /node/config/. Зазвичай достатньо просто скопіювати файл configServer.example, та змінити його розширення.

В якості порта для nginx необхідно використовувати наступний за порядком після вже використовуваного на даному сервері.

На сторонньому сервері, інші порти можуть бути закриті. За необхідності, тому їх треба буде відкрити вручну

  1. Розгорнути БД за допомогою pm2:
cd /data/softpro/server/node
npm start

Для запуску нового порталу локально необхідно виконати команду:

pm2 --name {{Назва процесу}} start index.js -- {{Порт процесу}} {{Файл index.json без розширення}}

Після цього необхідно відрудагувати config nginx, а саме файл /data/softpro/server/node/config/nginx/{{Порт для nginx}}_{{Префікс до назви}}_{{Назва БД}}.conf. В даному файлі необхідно відредагувати посилання на портал. Є 2 протоколи, під якими може здійснюватись доступ до порталу - http (80 порт) та https (443 порт).

Посилання на публічну та адмін. частину сайту вказується після змінної server_name та не містить лише хост та домен. Дані посилання мають збігатись з аналогічними з config файлу index.json.

Приклад index.json:

{

"{{АДМІН_ПОСИЛАННЯ}}.{{ДОМЕН}}":{
"project":"{{НАЗВА_ПРОЕКТУ}}",
"sid":35,
"folder":"/data/softpro/work/{{ШЛЯХ_ДО_ФАЙЛІВ}}",
"db":"postgres:1111@localhost:{{ПОРТ_БД}}/{{НАЗВА_БД}}"
},

"{{ПУБЛІЧНЕ_ПОСИЛАННЯ}}.{{ДОМЕН}}":{
"project":"{{НАЗВА_ПРОЕКТУ}}",
"sid":1,
"folder":"/data/softpro/work/{{ШЛЯХ_ДО_ФАЙЛІВ}}",
"db":"postgres:1111@localhost:{{ПОРТ_БД}}/{{НАЗВА_БД}}"
},

}

Сервіс pm2 автозапуск

Автозапуск pm2 після restart

  • pm2 startup - активація сервісу
  • pm2 save - збереження поточних запущених node

Сервіси postgresql, redis - запускаються самі