Содержание
Скачать плагин
Скачать плагин можно по ссылке
MD5: 429887F808ED3714B4FC4D252F5A8BFE
1. Список необходимых пакетов
для ВМ без внешних репозиториев и без доступа в интернет
1.1. Что должно быть установлено (пакеты / команды)
На сервере Корпоративный сервер 2024
Обязательно:
- nodejs
- backend-плагин написан на Node.js
- сервис запускает node *.js
- версия ≥ 10 (рекомендуется 16+)
Установщик пытается установить nodejs сам,
но в офлайне рекомендуется установить заранее системным пакетом
Дополнительно (обычно уже есть в системе, но важно):
- openssl
- ss (из пакета iproute2)
используется для проверки занятости портов
Скрипт активно:
- патчит index.html
- модифицирует nginx-конфиг
- создает systemd-unit
2. Назначение скрипта
r7-ldap-install.sh
Скрипт выполняет установку / обновление / удаление LDAP Monitor:
- разворачивает backend в:
/opt/r7-ldap-ws-monitor - создаёт systemd-сервис: r7-ldap-monitor
- копирует JS-инжекты в:
/var/www/r7-office/admin/assets/ - патчит index.html админки:
/assets/inject-manager.js/assets/inject-ldap-card.js/assets/inject-ldap-tab.js
- патчит nginx:
- добавляет
location /ldap - настраивает proxy + websocket-заголовки
- добавляет
- поддерживает режим удаления
(с вопросом — удалять ли inject-manager.js)
3. Подготовка перед запуском
3.1. Подготовить файлы рядом со скриптом
LDAP Monitor
В одной директории со скриптом должны быть:
r7-ldap-install.sh
data/
├── inject-manager.js
├── inject-ldap-card.js
├── inject-ldap-tab.js
└── ldap-monitor/
──├── index.html
──└── ldap-monitor.js
inject-manager.js копируется только если его ещё нет и используется всеми плагинами совместно
3.2. Проверить ожидаемые пути
Скрипты жёстко рассчитывают на следующие пути:
- assets:
/var/www/r7-office/admin/assets - index.html:
/var/www/r7-office/admin/index.html - nginx config:
/etc/nginx/sites-available/admin
Если у вас нестандартная установка — требуется адаптация скрипта.
4. Запуск скрипта
4.1. Установка
unzip Plugin-ldap.zip -d r7-ldap-monitor && cd r7-ldap-monitor chmod +x r7-ldap-install.sh sudo ./r7-ldap-install.sh
Запуск сразу указывает на ключ —info для получения описания скрипта и предлагает сменить пароль, если предлагаемый порт занят или выбрать по умолчанию
Далее происходит установки и вывод конечного результата.
Во время установки:
- скрипт требует root
- запрашивает порт(ы)
- проверяет, свободны ли они
- при конфликте предлагает выбрать другой
- выполняет установку
- выводит финальный статус
4.2. Повторный запуск
При повторном запуске:
- выполняется обновление
- существующие файлы корректно перезаписываются
- inject-manager.js не дублируется
- порядок инжектов сохраняется
Использование ключей
4.3. Проверка после установки
systemctl status r7-ldap-monitor --no-pager journalctl -u r7-ldap-monitor -n 200 --no-pager
nginx -t systemctl reload nginx
4.4. Удаление
LDAP
sudo ./r7-ldap-install.sh --uninstall
Во время удаления:
- сервис останавливается и удаляется
- backend-каталоги очищаются
- nginx-патчи удаляются
- будет задан вопрос:
Удалять ли inject-manager.js?
Это важно, если установлены другие плагины.
5. Порядок работы скрипта (последовательность)
Установка
- Проверка прав root
- Проверка / запрос портов
- Проверка занятости портов (ss)
- Проверка Node.js (установка при необходимости)
- Проверка структуры файлов
- Копирование backend в
/opt/... - Создание systemd-unit’ов (inline)
- systemctl daemon-reload
- Включение и запуск сервисов
- Копирование JS в assets
- Патч index.html
(manager → plugin-инжекты) - Патч nginx (location + websocket)
- nginx -t и reload
- Финальный отчёт и статус сервисов
6. Как работает плагин (архитектура)
6.1. Общая схема
- Пользователь работает только через админку R7 Office
- Админка:
- загружает JS-инжекты
- отправляет HTTP / WS-запросы
- nginx:
- проксирует запросы на localhost
- backend:
- обрабатывает API
- отдаёт данные интерфейсу
6.2. inject-manager.js
- общий менеджер вкладок / карточек
- подключается один раз
- все плагины:
- вставляются ниже него
- не дублируют его установку
6.3. LDAP Monitor
backend: ldap-monitor.js- протокол: HTTP + (при необходимости) WS
- UI:
- вкладка LDAP
- карточка на «Обзоре»
- nginx проксирует:
/ldap→localhost:<PORT>
7. Что именно меняется в системе (для аудита)
Установка затрагивает:
/opt/r7-ldap-ws-monitor/*/etc/systemd/system/*.service/etc/nginx/sites-available/admin/var/www/r7-office/admin/assets/*.js/var/www/r7-office/admin/index.html
Для критичных файлов создаются .bak-копии.



