Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы документов
Редакторы документов
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
ВКС и мессенджер
ВКС и мессенджер
Мобильные редакторы
Мобильные редакторы
Почтовый сервер
Почтовый сервер
Органайзер
Органайзер
Сервер лицензирования
Сервер лицензирования
Файл-Экспресс
Файл-Экспресс
Аналитика
Аналитика
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Инструкция по установке и работе плагина «Лимит загрузки» для Корпоративного сервера 2024 на ОС семейства Linux

Обновлено: 03.09.26

Инструкция актуальна для версий продукта: 2025.2.10.15714 – 2026.1.12.16832

Уточнение

Скачать плагин «Лимит загрузки» (версия 1.5.4) ↗

MD5: d5efe3d80808ed7a8c12d64ff5c2dbbb

 

Ознакомиться с функциями и описанием работы ↗ плагина.

1. Список необходимых пакетов

Важно

Для ВМ без внешних репозиториев и без доступа в интернет.

1.1. Что должно быть установлено (пакеты / команды)

На сервере с Корпоративным сервером 2024 обязательны:

  • nodejs
  • unzip

Уточнение

Бэкенд-плагин написан на Node.js, версия ≥ 10 (рекомендуется 16+).

Важно

Установщик пытается установить nodejs сам через apt/dnf/yum/zypper, но в офлайне рекомендуется поставить пакет заранее системными средствами.

2. Что выполняет скрипт в процессе установки

Название скрипта:

r7-upload-limit-install.sh

Скрипт выполняет установку, обновление и удаление плагина «Лимит загрузки»:

  • разворачивает бэкенд в директорию:
    /opt/r7-upload-limit
  • создаёт systemd-сервис:
    r7-upload-limit
  • создаёт и поддерживает конфигурацию:
    /opt/r7-upload-limit/config/limit.json
  • записывает runtime-параметры:
    /opt/r7-upload-limit/.env
  • копирует JS-инжекты в каталоги assets порталов:
    /var/www/r7-office/admin/assets/
    /var/www/r7-office/cddisk/assets/
  • патчит index.html порталов:
    • admin:
      /assets/inject-manager.js
      /assets/inject-upload-limit-tab.js
      /assets/inject-upload-limit-guard.js
    • cddisk:
      /assets/inject-manager.js
      /assets/inject-upload-limit-guard.js
  • патчит nginx:
    • перенаправляет POST:
      /api/v1/Documents/UploadPartial

      на:

      localhost:<SERVICE_PORT>
    • на admin-хосте публикует:
      /upload-limit/api/config
    • на обоих хостах блокирует остальные запросы к /upload-limit/api/*, возвращая код HTTP 404.
  • ведёт логи службы:
    • /var/log/r7-upload-limit/service.log
      journalctl -u r7-upload-limit.service
  • поддерживает режим удаления (с вопросом — удалять ли inject-manager.js);
  • на каждом старте службы запускает self-heal через reconcile.sh.

3. Подготовка перед запуском

Распаковать архив:

unzip Plugin-upload-limit.zip -d r7-upload-limit

После распаковки структура каталога будет выглядеть так:

r7-upload-limit-install.sh
README.md
data/
├── inject-manager.js
├── inject-upload-limit-tab.js
└── inject-upload-limit-guard.js
backend/
├── server.js
├── reconcile.sh
├── r7-upload-limit.service
├── .env.example
├── config/
│   └── limit.json
└── data/
    ├── inject-manager.js
    ├── inject-upload-limit-tab.js
    └── inject-upload-limit-guard.js

Где:

  • inject-manager.js — общий для нескольких плагинов и копируется без дублирования;
  • inject-upload-limit-tab.js — нужен только для admin-портала;
  • inject-upload-limit-guard.js — нужен и для admin, и для cddisk, потому что именно он показывает предупреждения на клиенте перед/во время загрузки.

4. Запуск скрипта

4.1. Установка

cd r7-upload-limit
chmod +x r7-upload-limit-install.sh
sudo bash ./r7-upload-limit-install.sh install

Скрипт производит установку с параметрами по умолчанию. В конце установки для справки выводятся применённые параметры.

4.2. Повторный запуск

Уточнение

Повторный запуск не ломает установленный плагин.

При повторном запуске выполняется обновление файлов плагина.

Использование ключей:

sudo bash ./r7-upload-limit-install.sh install
sudo bash ./r7-upload-limit-install.sh update
sudo bash ./r7-upload-limit-install.sh delete

Поддерживаются алиасы вида:

  • install
  • update
  • delete
  • uninstall
  • remove

4.3. Проверка после установки

Сервис:

systemctl status r7-upload-limit --no-pager
journalctl -u r7-upload-limit.service -n 200 --no-pager

NGINX:

nginx -t
systemctl reload nginx

Функциональная проверка:

  • открыть admin-портал и убедиться, что появилась вкладка «Лимит загрузки»;
  • изменить defaultLimit или правила, сохранить и проверить, что обновился /opt/r7-upload-limit/config/limit.json;
  • попробовать загрузить файл, заведомо превышающий лимит — загрузка должна быть отклонена клиентом и/или сервером с кодом HTTP 413.

4.4. Удаление плагина

sudo bash ./r7-upload-limit-install.sh delete

Во время удаления:

  • сервис останавливается и отключается;
  • systemd-unit удаляется;
  • frontend-файлы inject-upload-limit-tab.js и inject-upload-limit-guard.js удаляются из admin/cddisk;
  • nginx-патчи R7_UPLOAD_LIMIT удаляются;
  • каталог /opt/r7-upload-limit удаляется;
  • логи в /var/log/r7-upload-limit сохраняются;
  • будет задан вопрос: удалять ли inject-manager.js;
  • если в index.html обнаружены другие inject-плагины — скрипт предупреждает, что удаление manager может их сломать.

5. Инструкция для пользователя

1. Необходимо скачать любым удобным способом архив с плагином на сервер и распаковать архив:

unzip Plugin-upload-limit-*.zip -d r7-upload-limit

2. Перейти в распакованный каталог:

cd r7-upload-limit

3. Произвести установку:

chmod +x r7-upload-limit-install.sh
sudo bash ./r7-upload-limit-install.sh install

Скрипт производит установку с параметрами по умолчанию. В конце установки для справки выводятся применённые параметры.

При повторном запуске выполняется обновление файлов плагина.

Важно

Повторный запуск НЕ ломает установленный плагин.

Скрипт установки поддерживает несколько ключей:

  • install — производит установку плагина;
  • delete — производит удаление плагина;
  • update — производит обновление плагина, необходимо, если плагин был частично удалён или устанавливаете новую версию.

Пример команд:

sudo bash ./r7-upload-limit-install.sh install
sudo bash ./r7-upload-limit-install.sh delete
sudo bash ./r7-upload-limit-install.sh update

В процессе удаления будет задан вопрос «Удалять ли inject-manager.js«.

Данный менеджер нужен, если у вас установлены другие плагины, кроме этого. В таком случае следует оставить inject-manager.js.

Если это единственный установленный плагин и вы его хотите удалить полностью, тогда можно ответить на вопрос утвердительно.

Была ли эта статья полезной?

Поделитесь пожалуйста своим мнением

      В статье есть ошибкиРекомендации не помоглиТекст трудно понятьСодержание статьи не соответствует заголовкуДругое