348 lines
17 KiB
Markdown
348 lines
17 KiB
Markdown
# Установка LexemaRPA Orchestrator
|
||
|
||
### Технические требования
|
||
|
||
<table>
|
||
<tr>
|
||
<td>OS platform</td>
|
||
<td>Microsoft Windows, Mac OS, Linux x32/x64</td>
|
||
</tr>
|
||
<tr>
|
||
<td>RAM</td>
|
||
<td>не менее 4Gb</td>
|
||
</tr>
|
||
<tr>
|
||
<td>CPU</td>
|
||
<td>2.2+ GHz</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Database</td>
|
||
<td>PostgreSQL v10 и позднее</td>
|
||
</tr>
|
||
<tr>
|
||
<td>NodeJS</td>
|
||
<td>14.0.0 и позднее</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Наличие FTP сервера:</td>
|
||
<td>обязательно</td>
|
||
</tr>
|
||
</table>
|
||
</br>
|
||
|
||
### Архив с файлами
|
||
|
||
Оркестратор поставляется в виде запакованного в архив приложения.
|
||
Распакуйте `Orchestrator-server-new.zip` в любое удобное место.
|
||
|
||
## БД
|
||
Оркестратор работает с БД `PostgreSQL` v10 и позднее.
|
||
|
||
Вам необходимо создать новую БД для оркестратора и предоставить пользователя БД.
|
||
|
||
Если Вы не знаете, как это сделать, следуйте ниже указанному руководству. Далее в руководстве будет показано как создать пользователя с именем `orchestrator` и БД `orchestrator`.
|
||
|
||
Если же знаете и у Вас не возникнет с этим трудностей, то сразу перейдите к пункту
|
||
[«Конфигурирование оркестратора»](http://localhost:8000/install/#_8).
|
||
|
||
### Установка PostgreSQL
|
||
|
||
Перейдите на [страницу EDB](https://www.enterprisedb.com/downloads/postgres-postgresql-downloads) и выберите установщик для вашей ОС. Скачайте его и затем запустите.
|
||
|
||
На приветственном окошке нажмите `«Next»`.
|
||
|
||
Затем будет предложен выбор пути установки, оставьте путь по умолчанию и нажмите `«Next»`.
|
||
|
||
В окошке «Выбрать компоненты» или «Select components» поставьте все галочки как на Рисунке ниже. Нажмите `«Next»`.
|
||
|
||
<center><img src="../media/image400.png" style="width:4.32692in" /></center>
|
||
|
||
В окошке «Password» или «Пароль» вводится пароль суперпользователя. По умолчанию PostgreSQL создает суперпользователя с именем postgres (понимается как учетная запись администратора сервера базы данных).
|
||
|
||
<center><img src="../media/image401.png" style="width:4.32692in" /></center>
|
||
|
||
Здесь нужно будет указать пароль для суперпользователя (пользователя c именем postgres).
|
||
|
||
Позже для оркестратора можно будет указать либо этого пользователя, либо создать нового и назначить ему отдельные доступы и роли, инструкция будет ниже. А сейчас необходима учетная запись суперпользователя, чтобы начать использовать СУБД.
|
||
|
||
Нажмите «Next».
|
||
|
||
Далее необходимо назначить порт, на котором будет работать СУБД.
|
||
|
||
<center><img src="../media/image402.png" style="width:4.32692in" /></center>
|
||
|
||
Порт по умолчанию - `5432`. Если PostgreSQL устанавливается впервые, то он скорее всего свободен. Если окажется, что этот порт уже занят другим экземпляром PostgreSQL, можно указать другое значение, например: `5433`.
|
||
|
||
Далее везде нажимать «Next» и дождаться установки. В завершающем поздравительном окошке нажать «Finish».
|
||
|
||
После успешной установки PostgreSQL сервер уже будет запущен.
|
||
|
||
Теперь на вашей машине есть, следующие компоненты:
|
||
- Сервер PostgreSQL.
|
||
- SQL Shell (psql), инструмент командной строки для управления базами данных.
|
||
- pgAdmin, графический инструмент для управления базами данных.
|
||
|
||
По некоторым причинам pgAdmin может не входить в некоторые установщики. Если у вас он не установился его можно скачать дополнительно по ссылке: [https://www.pgadmin.org/download/](https://www.pgadmin.org/download/).
|
||
|
||
|
||
### Создание пользователя БД
|
||
|
||
Если Вы планируете использовать для подключения оркестратора к БД пользователя «postgres» (суперпользователь), то пропустите этот пункт.
|
||
|
||
Рекомендуется создать отдельного пользователя для оркестратора.
|
||
|
||
В данном пункте есть руководства как производить создание БД и пользователя через графический интерфейс pgAdmin, либо если его нет на вашей машине, через командную строку.
|
||
|
||
#### Создание пользователя через pgAdmin
|
||
|
||
Откройте pgAdmin.
|
||
|
||
При первом запуске pgAdmin потребуется задать мастер пароль в окне «Set Master Password». Это нужно для дополнительного шифрования паролей, которые мы будем позже сохранять. Например, при подключении к серверу БД. Вводим и нажимаем «Сохранить».
|
||
|
||
<center>
|
||
<img src="../media/image403.gif" style="width:6.0in" />
|
||
</center>
|
||
|
||
При последующих входах в pgAdmin будет запрашиваться мастер пароль.
|
||
|
||
Далее в левой части окна будет «Обозреватель» или «Browser». На верхнем уровне дерева отображаются доступные сервера PostgreSQL.
|
||
|
||
Если обозреватель серверов пуст, необходимо добавить наш PostgreSQL сервер.
|
||
|
||
<center>
|
||
<img src="../media/image404.gif" style="width:6.0in" />
|
||
</center>
|
||
|
||
В первой вкладке в поле «Имя» или «Name» введите любое удобное Вам название сервера.
|
||
Затем перейдите во вкладку «Соединение» или «Connection».
|
||
|
||
В поле «Имя/адрес сервера» введите «localhost».
|
||
|
||
В поле «Порт» введите тот порт, который вы вводили при установке СУБД.
|
||
|
||
В поле «Пароль» введите тот пароль, который вы вводили на этапе установки СУБД.
|
||
|
||
Нажмите «Сохранить». Если подключение пройдет успешно, то в обозревателе серверов появится ранее запущенный сервер.
|
||
|
||
Теперь вернемся к созданию пользователя.
|
||
|
||
<center>
|
||
<img src="../media/create_user.gif" style="width:6.0in" />
|
||
</center>
|
||
|
||
В обозревателе серверов два раза кликните по добавленному серверу, чтобы раскрылись вложенные вкладки.
|
||
|
||
Чтобы создать пользователя правой кнопкой мыши кликните по «Роль входа/группы», затем «Создать» > «Роль входа/группы». Откроется окно создания роли:
|
||
|
||
<center>
|
||
<img src="../media/image405.png" style="width:6.0in" />
|
||
</center>
|
||
|
||
В поле «Имя» вводится название пользователя. Например, «orchestrator»
|
||
|
||
Далее во вкладке «Определение» вводится пароль нового пользователя.
|
||
|
||
<center>
|
||
<img src="../media/image406.png" style="width:6.0in" />
|
||
</center>
|
||
|
||
Затем во вкладке «Права» необходимо установить переключатели как на Рисунке ниже.
|
||
|
||
<center>
|
||
<img src="../media/image407.png" style="width:6.0in" />
|
||
</center>
|
||
|
||
Нажать «Сохранить».
|
||
|
||
Таким образом пользователь БД создан.
|
||
|
||
#### Создание пользователя через командную строку
|
||
|
||
Это альтернативный способ создания пользователя без графического интерфейса.
|
||
|
||
<center>
|
||
<img src="../media/create_user_cmd.gif" style="width:6.0in" />
|
||
</center>
|
||
|
||
Запустите «SQL Shell (psql)». Найти его можно через поиск Windows
|
||
|
||
<center>
|
||
<img src="../media/image408.png" style="width:6.0in" />
|
||
</center>
|
||
|
||
После этого терминал запросит пароль пользователя postgresql. Введите пароль, который вы указывали при установке СУБД. Нажмите «Enter».
|
||
|
||
***Примечание:*** * при вводе паролей через терминал курсор печатания будет оставаться на одном и том же месте.*
|
||
|
||
<center>
|
||
<img src="../media/image409.png" style="width:6.0in" />
|
||
</center>
|
||
|
||
При успешном входе выведется версия psql. В начале строки появиться пометка «postgres=#», что значит вы можете запускать команду.
|
||
|
||
<center>
|
||
<img src="../media/image410.png" style="width:6.0in" />
|
||
</center>
|
||
|
||
Далее скопируйте и вставьте в терминал следующий код (выделите и скопируйте):
|
||
|
||
```sql
|
||
CREATE ROLE orchestrator WITH LOGIN NOSUPERUSER CREATEDB CREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD 'root';
|
||
```
|
||
|
||
Нажмите `«Enter»`.
|
||
|
||
Закройте psql shell.
|
||
|
||
Пользователь создан.
|
||
|
||
### Создание БД
|
||
|
||
Для оркестратора необходимо создать новую БД.
|
||
|
||
В этом пункте руководства будет показано как создать БД через графический интерфейс pgAdmin, либо если его нет на вашей машине, через командную строку.
|
||
|
||
#### Создание БД через pgAdmin
|
||
|
||
Откройте pgAdmin.
|
||
|
||
<center>
|
||
<img src="../media/create_database.gif" style="width:6.0in" />
|
||
</center>
|
||
|
||
В «обозревателе» (Browser) раскройте вложенные сервера, затем раскройте сервер Postgres, нажмите ПКМ на «Базы данных» (Databases) > «Создать» (Create) > «База данных…».
|
||
|
||
Откроется окно. В поле «База данных» введите название БД. Остальные параметры оставьте по умолчанию.
|
||
|
||
Нажмите `«Сохранить»`.
|
||
|
||
БД создана.
|
||
|
||
#### Создание БД через командную строку
|
||
|
||
Это альтернативный способ создания БД без графического интерфейса.
|
||
|
||
<center>
|
||
<img src="../media/create_database_cmd.gif" style="width:6.0in" />
|
||
</center>
|
||
|
||
Запустите «SQL Shell (psql)». Найти его можно через поиск Windows.
|
||
|
||
После этого терминал запросит пароль пользователя postgresql. Введите пароль, который вы указывали при установке СУБД.
|
||
|
||
Нажмите `«Enter»`.
|
||
|
||
***Примечание:**** при вводе паролей через терминал курсор печатания будет оставаться на одном и том же месте.*
|
||
|
||
Далее скопируйте и вставьте в терминал следующий код (выделите и скопируйте):
|
||
```sql
|
||
CREATE DATABASE orchestrator;
|
||
```
|
||
|
||
Нажмите `«Enter»`.
|
||
|
||
Вот так БД создана через командную строку.
|
||
|
||
## Конфигурирование оркестратора
|
||
|
||
Для конфигурирования оркестратора используется `.env` файл. Такой файл необходимо создать в корне распакованной папки `Orchestrator-server-new`.
|
||
|
||
```bash
|
||
Orchestrator-server-new/
|
||
├── dist/
|
||
│ └── main.js
|
||
├── client
|
||
├── files
|
||
├── node_modules
|
||
└── .env # <-- env файл
|
||
|
||
```
|
||
|
||
В нем должны быть указаны, как минимум, все обязательные для старта параметры. Параметры указываются в формате КЛЮЧ=ЗНАЧЕНИЕ, например:
|
||
|
||
```bash
|
||
APP_PORT_HTTP=5000
|
||
```
|
||
|
||
Пример `.env` файла со всеми обязательными параметрами:
|
||
|
||
```bash
|
||
APP_PORT_HTTP=5000 # порт, на котором стартует оркестратор
|
||
|
||
# Database connection
|
||
|
||
DB_USER=postgres # пользователь базы данных
|
||
DB_PASSWORD=root # пароль пользователя
|
||
DB_HOST=localhost # адрес сервера БД
|
||
DB_PORT=5432 # порт БД
|
||
DB_DATABASE=orchestrator # название БД
|
||
DB_SCHEMA=public # схема БД
|
||
|
||
# или можно использовать в виде db connection url
|
||
|
||
DB_CONNECTION_STRING=example # db connection string
|
||
|
||
# Crypto
|
||
|
||
JWT_SECRET=secret
|
||
JWT_REFRESH_TOKEN_SECRET=refreshSecret
|
||
SALT_ROUNDS=10 # число хеширований паролей
|
||
|
||
CRYPTO_KEY=cryptoKey # ключ шифрования персональных данных
|
||
|
||
# Email service
|
||
|
||
EMAIL_SERVICE=Mail.ru # почтовый сервис, например Mail.ru, Yandex, Gmail
|
||
EMAIL_USER=example@mail.ru # почта для оркестратора
|
||
EMAIL_PASSWORD=example # пароль пользователя или пароль приложения
|
||
|
||
# FTP connection
|
||
|
||
FTP_HOST=192.168.56.136
|
||
FTP_USER=example
|
||
FTP_PASSWORD=example
|
||
FTP_PATH=/rpa
|
||
```
|
||
|
||
По желанию можно добавить дополнительные настройки:
|
||
|
||
```bash
|
||
|
||
APP_DEFAULT_LANGUAGE # язык текстовых сообщений оркестратора, по умолчанию = ru, доступны en, ru
|
||
|
||
CRYPTO_ALGORITHM # выбрать алгоритм шифрования AES, DES, TripleDES, RC4, RC4Drop, по умолчанию AES
|
||
|
||
PASSWORD_ATTEMPTS_CHECKING_MINUTES # Кол-во минут, в течении которых учитываются подряд идущие неудачные попытки. По умолчанию 1.
|
||
|
||
PASSWORD_MAX_ATTEMPTS # Допустимое количество неправильных попыток входа. По превышении этого кол-ва пользователь получает бан. Например, 10. По умолчанию 5
|
||
|
||
PASSWORD_LENGTH_MIN
|
||
PASSWORD_LENGTH_MAX
|
||
PASSWORD_REG_EXP
|
||
PASSWORD_INVALID_MESSAGE
|
||
```
|
||
|
||
## Запуск оркестратора
|
||
|
||
Для запуска оркестратора необходимо запустить файл `main.js` в папке `dist`.
|
||
|
||
```bash
|
||
Orchestrator-server-new/
|
||
├── dist/
|
||
│ └── main.js # <-- исполняемый файл
|
||
├── client
|
||
├── files
|
||
├── node_modules
|
||
└── .env
|
||
```
|
||
|
||
Перейдите в распакованную папку `Orchestrator-server-new`, затем в `dist`, и выполните:
|
||
|
||
```js
|
||
node main.js
|
||
```
|
||
|
||
|
||
|
||
|