Инструкция по установке

Документация для установки и экспертной проверки программного обеспечения

Документ описывает состав экземпляра АПК «Верста», требования к тестовой среде, развертывание серверной части и порядок предоставления удаленного доступа эксперту.

Программное обеспечение
АПК «Верста»
Правообладатель
ООО «Гео Грин»
Модель предоставления
SaaS, серверная часть размещается на инфраструктуре правообладателя
Экземпляр для экспертизы
Изолированный тестовый контур с удаленным доступом к серверной части
Пользовательский интерфейс
Веб-приложение, доступное через современный браузер
Дата актуализации
20 октября 2026 года
Важно. Адрес VPN, IP-адрес сервера, SSH-порт, учетная запись с правами root, пароль или SSH-ключ, а также реквизиты веб-портала передаются эксперту в закрытом приложении к заявлению. Секретные реквизиты не публикуются на сайте.

1. Назначение тестового экземпляра

Тестовый экземпляр предназначен для проверки состава, развертывания и функционирования АПК «Верста». Он размещается в изолированной среде, не содержит действующих персональных данных и не взаимодействует с промышленными камерами, уведомлениями и учетными записями.

Эксперт получает доступ к операционной системе тестового сервера с максимальными привилегиями и может проверить расположение файлов, состав служб, структуру базы данных, журналы, запуск и остановку компонентов.

2. Состав программного обеспечения

КомпонентНазначениеРасположение в тестовой среде
Веб-приложение PHPПользовательский интерфейс, API, разграничение доступа, отчеты и управление объектами/var/www/versta
База данных MariaDB или MySQLХранение пользователей, камер, событий, снимков, моделей и телеметрииБаза yotabit_ai
Python-агентПолучение конфигурации, отправка состояния, снимков и телеметрии/opt/yotabit-agent
MediaMTXПроксирование тестовых RTSP- и HLS-потоков/opt/yotabit-agent/mediamtx
Службы systemdАвтоматический запуск и контроль агента и MediaMTX/etc/systemd/system
SQL-сценарииСоздание схемы и применение изменений базы данных/var/www/versta/database

3. Требования к тестовой среде

ПараметрМинимальное значениеРекомендуемое значение
Операционная системаDebian GNU/Linux 12, 64-разрядная редакция
Процессор2 виртуальных ядра4 виртуальных ядра
Оперативная память4 ГБ8 ГБ
Дисковое пространство20 ГБ без архива медиаданных40 ГБ и более
СетьHTTPS к веб-порталу, VPN и SSH для экспертного доступа
БраузерАктуальная версия Chromium, Microsoft Edge, Mozilla Firefox или эквивалентного браузера

Для воспроизведения видео и формирования снимков необходим ffmpeg. Объем диска для медиаматериалов определяется количеством камер, периодичностью снимков и сроком хранения.

4. Состав установочного комплекта

Эксперту предоставляется архив установочных файлов либо уже развернутый изолированный экземпляр. Комплект содержит:

  • каталоги assets, config, database, docs, distr, src и views;
  • точку входа index.php;
  • SQL-файлы схемы и тестовой базы;
  • Python-агент distr/agent.py;
  • бинарный файл и конфигурацию MediaMTX;
  • unit-файлы systemd;
  • перечень сторонних компонентов, версий и лицензий;
  • контрольную сумму архива, указанную в закрытом приложении к заявлению.

Все необходимые файлы и используемые образы включаются в комплект. Во время экспертной проверки программное обеспечение не должно зависеть от загрузки закрытых компонентов из внешних репозиториев.

5. Установка системных компонентов

Команды выполняются пользователем с правами root на подготовленной системе Debian GNU/Linux 12.

apt update
apt install -y nginx mariadb-server \
  php-fpm php-cli php-mysql php-curl php-mbstring \
  python3 python3-requests ffmpeg unzip curl

Проверка установленных компонентов:

php -v
python3 --version
mysql --version
ffmpeg -version
nginx -v

6. Размещение веб-приложения

  1. Создать каталог приложения:
install -d -o www-data -g www-data /var/www/versta
  1. Распаковать установочный архив в /var/www/versta.
  2. Назначить владельца файлов:
chown -R www-data:www-data /var/www/versta
find /var/www/versta -type d -exec chmod 755 {} \;
find /var/www/versta -type f -exec chmod 644 {} \;
  1. Создать рабочую копию конфигурации config/config.php и указать локальные реквизиты тестовой базы.
  2. Не размещать пароли, токены и ключи в общедоступной документации и журналах.

7. Подготовка базы данных

Создать базу и отдельного пользователя:

mysql -u root -p
CREATE DATABASE yotabit_ai CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'yotabit_ai'@'localhost' IDENTIFIED BY 'ЗАДАТЬ_СЛОЖНЫЙ_ПАРОЛЬ';
GRANT ALL PRIVILEGES ON yotabit_ai.* TO 'yotabit_ai'@'localhost';
FLUSH PRIVILEGES;

Загрузить подготовленный дамп тестовой базы и применить относящиеся к версии миграции:

mysql -u root -p yotabit_ai < /var/www/versta/database/yotabit_ai.sql
mysql -u root -p yotabit_ai < /var/www/versta/database/schema.sql

Если конкретная версия комплекта содержит дополнительные миграции, они применяются в порядке, приведенном в файле поставки database/README.txt.

8. Настройка веб-сервера

Пример виртуального сервера Nginx:

server {
    listen 80;
    server_name _;
    root /var/www/versta;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}

Фактическое имя сокета PHP-FPM определяется установленной версией PHP. После создания конфигурации:

nginx -t
systemctl enable --now nginx mariadb
systemctl reload nginx

Для опубликованного тестового контура настраивается HTTPS с действительным сертификатом.

9. Установка периферийного агента

install -d /opt/yotabit-agent
cp /var/www/versta/distr/agent.py /opt/yotabit-agent/agent.py
cp /var/www/versta/distr/mediamtx /opt/yotabit-agent/mediamtx
cp /var/www/versta/distr/mediamtx.yml /opt/yotabit-agent/mediamtx.yml
chmod 755 /opt/yotabit-agent/agent.py /opt/yotabit-agent/mediamtx
cp /var/www/versta/distr/ai.yotabit-agent.service /etc/systemd/system/
cp /var/www/versta/distr/mediamtx.service /etc/systemd/system/

В unit-файле агента задаются ключ тестового сервера, адрес тестового портала и каталог снимков. Значения передаются в закрытом комплекте экспертного доступа.

systemctl daemon-reload
systemctl enable --now mediamtx.service
systemctl enable --now ai.yotabit-agent.service

10. Запуск и проверка

Проверить состояние служб:

systemctl status nginx mariadb
systemctl status mediamtx.service
systemctl status ai.yotabit-agent.service
journalctl -u ai.yotabit-agent.service -n 100 --no-pager

Проверить ответ веб-приложения:

curl -I http://127.0.0.1/
curl -I https://demo.ai.yotabit.ru/

Ожидаемый результат — ответ HTTP 200 или штатное перенаправление на страницу входа. После этого эксперт открывает https://demo.ai.yotabit.ru/ и использует реквизиты, указанные в закрытом приложении.

11. Удаленный доступ эксперта

  1. Импортировать предоставленный профиль OpenVPN.
  2. Установить VPN-соединение и проверить доступность тестового сервера.
  3. Подключиться по SSH с реквизитами из закрытого приложения.
  4. Получить права root либо войти под учетной записью root.
  5. Проверить каталоги приложения, службы, процессы, журналы и подключение к базе данных.
  6. Открыть веб-портал и выполнить функциональные сценарии.

Для доступа допускаются OpenVPN, встроенный VPN-клиент операционной системы, командная строка SSH или PuTTY. Cisco AnyConnect и AnyDesk для экспертной проверки не используются.

12. Остановка и повторный запуск

systemctl stop ai.yotabit-agent.service mediamtx.service nginx mariadb
systemctl start mariadb nginx mediamtx.service ai.yotabit-agent.service

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

13. Техническая поддержка

Контакт ответственного технического специалиста, телефон, электронная почта и часы доступности передаются эксперту в закрытом приложении. В обращении следует указать время, адрес контура, выполненную команду, ожидаемый и фактический результат, не передавая пароли и закрытые ключи.

Документ актуализирован 20 октября 2026 года.