Продукты Р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.

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

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

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

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