Процесс установки Sherpa Orchestrator (локальная версия)
Подготовка сервера
Добавление пользователя в группу sudo
# Войдите под root пользователем
su
# Добавьте пользователя в группу sudo
/sbin/usermod -aG sudo <userName>
# Перезагрузите систему для применения изменений
exit💡 Комментарии к добавлению пользователя в sudo
/sbin/usermod -aG sudo - добавляет пользователя в группу sudo
-a- append (добавляет к существующим группам)-G sudo- добавляет в группу sudo<userName>- замените на имя вашего пользователя
Важно: После выполнения команды необходимо перезагрузить систему для применения изменений.
Настройка часового пояса
# Установите часовой пояс UTC
sudo timedatectl set-timezone UTC
# Проверьте настройку
timedatectl💡 Комментарии к настройке часового пояса
sudo timedatectl set-timezone UTC - устанавливает часовой пояс UTC timedatectl - показывает текущие настройки времени и даты
Рекомендуется использовать UTC для серверных приложений.
Обновление системы
💡 Комментарии к обновлению системы
sudo apt -y update - обновляет список доступных пакетов из репозиториев sudo apt -y install software-properties-common gnupg2 - устанавливает инструменты для работы с репозиториями
software-properties-common- утилиты для управления репозиториямиgnupg2- инструмент для работы с GPG ключами
sudo apt -y upgrade - обновляет все установленные пакеты до последних версий
-y- автоматическое подтверждение установки
Распаковка архива с обновлением
На этом этапе вы распакуете архив с файлами Sherpa Orchestrator и подготовите систему к установке.
💡 Комментарии к распаковке архива
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.
Подготовка скриптов к выполнению
💡 Комментарии к подготовке скриптов
cd sh_scripts/ - переходит в директорию со скриптами установки
*chmod +x .sh - устанавливает права исполнения для всех shell-скриптов
chmod +x- добавляет право исполнения*.sh- все файлы с расширением .sh
cd .. - возвращает в корневую директорию проекта
Инициализация конфигурации
💡 Комментарии к инициализации конфигурации
sudo ./sh_scripts/create_config.sh - запускает скрипт инициализации базовой конфигурации
Создает необходимые директории
Настраивает базовые параметры системы
Подготавливает структуру для дальнейшей настройки
Установка СУБД MariaDB
💡 Комментарии к установке MariaDB
Добавление репозитория:
sudo apt-key adv --recv-keys- добавляет GPG ключ репозиторияsudo add-apt-repository- добавляет репозиторий MariaDB$(lsb_release -cs)- автоматически определяет кодовое имя дистрибутива
Установка пакетов:
mariadb-server- сервер базы данныхmariadb-client- клиент для подключения к базе данных
Базовая настройка безопасности MySQL/MariaDB
Вопросы и варианты ответов настройки безопасности:
💡 Комментарии к настройке безопасности
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) - перезагрузить таблицы привилегий
Настройка базы данных и пользователя
💡 Комментарии к настройке базы данных
GRANT ALL ON orchestrator. TO 'orchestrator'@'localhost'...* - создает пользователя orchestrator с полными правами на базу orchestrator
'orchestrator'@'localhost'- пользователь может подключаться только с localhostWITH GRANT OPTION- пользователь может давать права другим пользователям
FLUSH PRIVILEGES - перезагружает таблицы привилегий
UPDATE accounts... - устанавливает parent_account_id для системного аккаунта
Важно: Замените пароль 'mD2vjt(HqZKW' на надежный уникальный пароль!
Установка веб-сервера и PHP
💡 Комментарии к установке веб-сервера
Добавление репозитория PHP:
Добавляется GPG ключ репозитория PHP от sury.org
Добавляется репозиторий для PHP 8.3
Установка пакетов:
nginx- веб-серверphp8.3- PHP интерпретаторphp8.3-fpm- FastCGI Process Manager для PHPphp8.3-*- расширения PHP для различных функций
Настройка PHP
💡 Комментарии к настройке PHP
upload_max_filesize = 100M - максимальный размер загружаемого файла post_max_size = 100M - максимальный размер POST данных
sudo service php8.3-fpm restart - перезапускает PHP-FPM для применения изменений
Настройка Nginx
💡 Комментарии к настройке Nginx
client_max_body_size 100m - устанавливает максимальный размер тела запроса клиента
Должно быть в секции
http { ... }Значение соответствует настройкам PHP
Настройка домена и конфигурации Sherpa
💡 Комментарии к настройке домена
Замена домена: Необходимо заменить все вхождения "orchestrator.sherparpa.ru" на ваш реальный домен или IP адрес
Настройка PHP-FPM socket: Путь зависит от дистрибутива Linux:
Debian/Ubuntu обычно:
/run/php/php8.3-fpm.sockCentOS:
/run/php-fpm/www.sock
Важно: Если путь неправильный, проверьте логи Nginx: /var/log/nginx/error.log
Настройка SSL-сертификатов
💡 Комментарии к SSL-сертификатам
Требования к сертификатам:
Сертификат должен быть переименован в
orchestrator.crtПриватный ключ должен быть переименован в
orchestrator.keyФорматы: .crt/.pem для сертификата, .key для ключа
Получение сертификатов:
Обратитесь к системному администратору за корпоративными сертификатами
Используйте Let's Encrypt для бесплатных сертификатов
Для тестирования можно создать самоподписные сертификаты
Настройка конфигурации приложения
💡 Комментарии к конфигурации приложения
Параметры базы данных:
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
💡 Комментарии к активации Nginx
sudo cp ... /etc/nginx/sites-available/default - копирует конфигурацию сайта в активные конфигурации Nginx
sudo systemctl restart nginx - перезапускает Nginx для применения новой конфигурации
Установка разрешений
💡 Комментарии к установке разрешений
sudo chown -R www-data:www-data /opt/SherpaOrchestrator - устанавливает www-data как владельца файлов
www-data- пользователь веб-сервера Nginx/PHP-FPM-R- рекурсивно для всех файлов и директорий
sudo chmod -R 775 /opt/SherpaOrchestrator - устанавливает разрешения на файлы
775- владелец и группа могут читать/писать/исполнять, остальные только читать/исполнять
Создание архивной базы данных
💡 Комментарии к архивной базе данных
CREATE DATABASE IF NOT EXISTS orchestrator_archive - создает архивную базу данных
IF NOT EXISTS- создает только если не существуетCHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci- устанавливает кодировку UTF-8 с поддержкой Unicode
Обновление структуры базы данных
Ожидаемый результат после успешного обновления:
💡 Комментарии к обновлению базы данных
Проверка phinx.php:
sudo ./migrate.sh - запускает миграции базы данных через Phinx
Обновляет структуру таблиц
Добавляет необходимые индексы
Создает триггеры и процедуры
Настройка CRON задач
💡 Комментарии к настройке CRON
sudo crontab -e - открывает редактор CRON для root пользователя
* * * * *- выполняется каждую минутуphp /opt/SherpaOrchestrator/backend/app/scheduleCronRunner.php- запускает планировщик задач Sherpa
Планировщик задач:
Управляет расписанием выполнения задач
Обрабатывает отложенные задания
Выполняет автоматическую очистку
Установка Node.js и PM2
💡 Комментарии к установке Node.js и PM2
curl -sL https://deb.nodesource.com/setup_22.x | bash - - добавляет репозиторий Node.js
-sL- silent и follow redirectssetup_22.x- скрипт для Node.js версии 22.x
sudo apt-get install -y nodejs - устанавливает Node.js
sudo npm install -g pm2 - устанавливает PM2 глобально
PM2 - менеджер процессов для Node.js приложений
Автоматический перезапуск приложений
Управление логами и мониторинг
Настройка WebSocket сервиса
💡 Комментарии к настройке WebSocket
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, пропустите данный пункт.
Инициализация Оркестратора
Обратитесь по URL адресу:
https://<ваш_домен_или_IP>/setup.phpЕсли IP адрес отображается верно, нажмите на кнопку "Отправить"
В ответе скрипта будет указан GUID оркестратора - запишите его вместе с регистрационными данными
На этом установка завершена!
Система Sherpa Orchestrator доступна в браузере по доменному имени или IP-адресу.
Далее необходимо добавить и активировать лицензию для оркестратора и лицензии для роботов в веб-интерфейсе оркестратора.
Last updated