Скачать плагин
Скачать плагин можно по ссылке ↗
MD5: EB95E98DECB857F5C05E52D0C742E806
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-копии.










