Процесс установки Sherpa Orchestrator (локальная версия)

Подготовка сервера

Добавление пользователя в группу sudo

# Войдите под root пользователем
su

# Добавьте пользователя в группу sudo
/sbin/usermod -aG sudo <userName>

# Перезагрузите систему для применения изменений
exit
chevron-right💡 Комментарии к добавлению пользователя в sudohashtag

/sbin/usermod -aG sudo - добавляет пользователя в группу sudo

  • -a - append (добавляет к существующим группам)

  • -G sudo - добавляет в группу sudo

  • <userName> - замените на имя вашего пользователя

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

Настройка часового пояса

# Установите часовой пояс UTC
sudo timedatectl set-timezone UTC

# Проверьте настройку
timedatectl
chevron-right💡 Комментарии к настройке часового поясаhashtag

sudo timedatectl set-timezone UTC - устанавливает часовой пояс UTC timedatectl - показывает текущие настройки времени и даты

Рекомендуется использовать UTC для серверных приложений.

Обновление системы

chevron-right💡 Комментарии к обновлению системыhashtag

sudo apt -y update - обновляет список доступных пакетов из репозиториев sudo apt -y install software-properties-common gnupg2 - устанавливает инструменты для работы с репозиториями

  • software-properties-common - утилиты для управления репозиториями

  • gnupg2 - инструмент для работы с GPG ключами

sudo apt -y upgrade - обновляет все установленные пакеты до последних версий

  • -y - автоматическое подтверждение установки

Распаковка архива с обновлением

На этом этапе вы распакуете архив с файлами Sherpa Orchestrator и подготовите систему к установке.

chevron-right💡 Комментарии к распаковке архиваhashtag

cd /opt - переходит в директорию с файлами установки tar -xvzf "$(ls orchestrator_local_update_*.tgz | sort -V | tail -n 1)" - распаковывает архив с обновлением

  • tar -xvzf - распаковывает архив с подробным выводом

  • ls orchestrator_local_update_*.tgz - находит все файлы архивов обновлений

  • sort -V - сортирует версии естественно (1.0 < 1.1 < 1.10)

  • tail -n 1 - выбирает самый свежий файл

cd SherpaOrchestrator - переходит в директорию с распакованными файлами

Ожидаемый результат: Будут распакованы необходимые файлы и директории для установки Sherpa Orchestrator.

Подготовка скриптов к выполнению

chevron-right💡 Комментарии к подготовке скриптовhashtag

cd sh_scripts/ - переходит в директорию со скриптами установки

*chmod +x .sh - устанавливает права исполнения для всех shell-скриптов

  • chmod +x - добавляет право исполнения

  • *.sh - все файлы с расширением .sh

cd .. - возвращает в корневую директорию проекта

Инициализация конфигурации

chevron-right💡 Комментарии к инициализации конфигурацииhashtag

sudo ./sh_scripts/create_config.sh - запускает скрипт инициализации базовой конфигурации

  • Создает необходимые директории

  • Настраивает базовые параметры системы

  • Подготавливает структуру для дальнейшей настройки

Установка СУБД MariaDB

chevron-right💡 Комментарии к установке MariaDBhashtag

Добавление репозитория:

  • sudo apt-key adv --recv-keys - добавляет GPG ключ репозитория

  • sudo add-apt-repository - добавляет репозиторий MariaDB

  • $(lsb_release -cs) - автоматически определяет кодовое имя дистрибутива

Установка пакетов:

  • mariadb-server - сервер базы данных

  • mariadb-client - клиент для подключения к базе данных

Базовая настройка безопасности MySQL/MariaDB

Вопросы и варианты ответов настройки безопасности:

chevron-right💡 Комментарии к настройке безопасностиhashtag

mysql_secure_installation - интерактивный скрипт для базовой настройки безопасности MySQL/MariaDB

Рекомендуемые ответы:

  • Switch to unix_socket authentication - да (y) - использовать аутентификацию через unix socket

  • Change the root password - да (y) - установить пароль для root пользователя

  • Remove anonymous users - да (y) - удалить анонимных пользователей

  • Disallow root login remotely - нет (n) - разрешить root подключаться удаленно

  • Remove test database - да (y) - удалить тестовую базу данных

  • Reload privilege tables - да (y) - перезагрузить таблицы привилегий

Настройка базы данных и пользователя

chevron-right💡 Комментарии к настройке базы данныхhashtag

GRANT ALL ON orchestrator. TO 'orchestrator'@'localhost'...* - создает пользователя orchestrator с полными правами на базу orchestrator

  • 'orchestrator'@'localhost' - пользователь может подключаться только с localhost

  • WITH GRANT OPTION - пользователь может давать права другим пользователям

FLUSH PRIVILEGES - перезагружает таблицы привилегий

UPDATE accounts... - устанавливает parent_account_id для системного аккаунта

Важно: Замените пароль 'mD2vjt(HqZKW' на надежный уникальный пароль!

Установка веб-сервера и PHP

chevron-right💡 Комментарии к установке веб-сервераhashtag

Добавление репозитория PHP:

  • Добавляется GPG ключ репозитория PHP от sury.org

  • Добавляется репозиторий для PHP 8.3

Установка пакетов:

  • nginx - веб-сервер

  • php8.3 - PHP интерпретатор

  • php8.3-fpm - FastCGI Process Manager для PHP

  • php8.3-* - расширения PHP для различных функций

Настройка PHP

chevron-right💡 Комментарии к настройке PHPhashtag

upload_max_filesize = 100M - максимальный размер загружаемого файла post_max_size = 100M - максимальный размер POST данных

sudo service php8.3-fpm restart - перезапускает PHP-FPM для применения изменений

Настройка Nginx

chevron-right💡 Комментарии к настройке Nginxhashtag

client_max_body_size 100m - устанавливает максимальный размер тела запроса клиента

  • Должно быть в секции http { ... }

  • Значение соответствует настройкам PHP

Настройка домена и конфигурации Sherpa

chevron-right💡 Комментарии к настройке доменаhashtag

Замена домена: Необходимо заменить все вхождения "orchestrator.sherparpa.ru" на ваш реальный домен или IP адрес

Настройка PHP-FPM socket: Путь зависит от дистрибутива Linux:

  • Debian/Ubuntu обычно: /run/php/php8.3-fpm.sock

  • CentOS: /run/php-fpm/www.sock

Важно: Если путь неправильный, проверьте логи Nginx: /var/log/nginx/error.log

Настройка SSL-сертификатов

chevron-right💡 Комментарии к SSL-сертификатамhashtag

Требования к сертификатам:

  • Сертификат должен быть переименован в orchestrator.crt

  • Приватный ключ должен быть переименован в orchestrator.key

  • Форматы: .crt/.pem для сертификата, .key для ключа

Получение сертификатов:

  • Обратитесь к системному администратору за корпоративными сертификатами

  • Используйте Let's Encrypt для бесплатных сертификатов

  • Для тестирования можно создать самоподписные сертификаты

Настройка конфигурации приложения

chevron-right💡 Комментарии к конфигурации приложенияhashtag

Параметры базы данных:

  • database_host - адрес сервера базы данных (обычно 127.0.0.1 для локальной установки)

  • database_port - порт MySQL/MariaDB (по умолчанию 3306)

  • database_user - пользователь базы данных (orchestrator)

  • database_password - пароль пользователя (должен совпадать с созданным ранее)

  • database_dbname - имя базы данных (orchestrator)

Важно: Пароль должен точно совпадать с паролем, установленным при создании пользователя БД

Настройка phinx.php (миграции БД)

Файл backend/config/phinx.php используется Phinx для выполнения миграций. Пароль в нём должен совпадать с паролем БД из config.ini:

В секции environments в блоке используемой БД (например, orchestrator или mysql) параметр 'pass' должен совпадать с database_password из config.ini. Иначе миграции при установке или обновлении завершатся ошибкой.

Активация конфигурации Nginx

chevron-right💡 Комментарии к активации Nginxhashtag

sudo cp ... /etc/nginx/sites-available/default - копирует конфигурацию сайта в активные конфигурации Nginx

sudo systemctl restart nginx - перезапускает Nginx для применения новой конфигурации

Установка разрешений

chevron-right💡 Комментарии к установке разрешенийhashtag

sudo chown -R www-data:www-data /opt/SherpaOrchestrator - устанавливает www-data как владельца файлов

  • www-data - пользователь веб-сервера Nginx/PHP-FPM

  • -R - рекурсивно для всех файлов и директорий

sudo chmod -R 775 /opt/SherpaOrchestrator - устанавливает разрешения на файлы

  • 775 - владелец и группа могут читать/писать/исполнять, остальные только читать/исполнять

Создание архивной базы данных

chevron-right💡 Комментарии к архивной базе данныхhashtag

CREATE DATABASE IF NOT EXISTS orchestrator_archive - создает архивную базу данных

  • IF NOT EXISTS - создает только если не существует

  • CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci - устанавливает кодировку UTF-8 с поддержкой Unicode

Обновление структуры базы данных

Ожидаемый результат после успешного обновления:

chevron-right💡 Комментарии к обновлению базы данныхhashtag

Проверка phinx.php:

sudo ./migrate.sh - запускает миграции базы данных через Phinx

  • Обновляет структуру таблиц

  • Добавляет необходимые индексы

  • Создает триггеры и процедуры

Настройка CRON задач

chevron-right💡 Комментарии к настройке CRONhashtag

sudo crontab -e - открывает редактор CRON для root пользователя

  • * * * * * - выполняется каждую минуту

  • php /opt/SherpaOrchestrator/backend/app/scheduleCronRunner.php - запускает планировщик задач Sherpa

Планировщик задач:

  • Управляет расписанием выполнения задач

  • Обрабатывает отложенные задания

  • Выполняет автоматическую очистку

Установка Node.js и PM2

chevron-right💡 Комментарии к установке Node.js и PM2hashtag

curl -sL https://deb.nodesource.com/setup_22.x | bash - - добавляет репозиторий Node.js

  • -sL - silent и follow redirects

  • setup_22.x - скрипт для Node.js версии 22.x

sudo apt-get install -y nodejs - устанавливает Node.js

sudo npm install -g pm2 - устанавливает PM2 глобально

  • PM2 - менеджер процессов для Node.js приложений

  • Автоматический перезапуск приложений

  • Управление логами и мониторинг

Настройка WebSocket сервиса

chevron-right💡 Комментарии к настройке WebSockethashtag

sudo npm install - устанавливает зависимости Node.js из package.json

sudo pm2 start index.js --watch --ignore-watch="node_modules" --name "Websockets"

  • --watch - перезапуск при изменении файлов

  • --ignore-watch="node_modules" - игнорировать изменения в node_modules

  • --name "Websockets" - имя процесса в PM2

sudo pm2 startup - настраивает автозапуск PM2 при загрузке системы sudo pm2 save - сохраняет текущую конфигурацию процессов

Настройка доменного имени (опционально)

Если вам достаточно доступа к интерфейсу Оркестратора через серверный IP, пропустите данный пункт.

Инициализация Оркестратора

  1. Обратитесь по URL адресу: https://<ваш_домен_или_IP>/setup.php

  2. Если IP адрес отображается верно, нажмите на кнопку "Отправить"

  3. В ответе скрипта будет указан GUID оркестратора - запишите его вместе с регистрационными данными

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

Система Sherpa Orchestrator доступна в браузере по доменному имени или IP-адресу.

Далее необходимо добавить и активировать лицензию для оркестратора и лицензии для роботов в веб-интерфейсе оркестратора.

Last updated