Files
Lexema-RPA_Studio_Docs/docs/install.md
2023-05-22 01:04:30 +05:00

348 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Установка 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
```