Интеграция с Nextcloud

Nextcloud — это платформа для создания приватного облачного хранилища (аналог Google Drive или Dropbox), которую можно развернуть на собственных серверах. Она позволяет пользователям хранить файлы, делиться ими и работать совместно. Модуль интеграции BILLmanager и Nextcloud позволяет хостинг-провайдерам:

  • автоматизировать продажи дискового пространства как услуги;
  • управлять квотами пользователей Nextcloud напрямую из BILLmanager;
  • настроить продажу дискового пространства: 
    • по фиксированному объёму;
    • на основе статистики использования.

Интеграция реализуется через внешний модуль обработки услуг  pmnextcloud , взаимодействующий с API Nextcloud. Основные компоненты для интеграции:

  • обработчик услуг в BILLmanager с типом продукта "Резервное копирование";
  • внешний скрипт для установки из репозитория bill-nextcloud, обеспечивающий связь между BILLmanager и Nextcloud API ;
  • API Nextcloud для управления пользователями и квотами.

Требования к установке и настройке интеграции

Интеграция настраивается в рамках создания обработчика услуг в BILLmanager.

Общие требования

Для корректной интеграции Nextcloud с BILLmanager необходимо выполнение следующих условий:

  • один экземпляр Nextcloud может использоваться только для одной платформы BILLmanager. Каждая платформа BILLmanager создаёт учётные записи, начиная с id 1 (user_1), что приводит к конфликтам имён и невозможности корректной работы;
  • рекомендуется использовать изолированные среды. Для Nextcloud это достигается одним из способов:

    • запуск в docker-контейнере;
    • установка на отдельном физическом или виртуальном сервере.

Требования для установки Nextcloud

Для успешной установки и настройки платформы Nextcloud необходимо выполнение следующих условий:

  • сервер для установки платформы Nextcloud или запуска docker-контейнера с доступом к командной строке. Подробнее о требованиях к серверу Nextcloud см. в официальной документации Nextcloud.
  • на сервере должны быть установлены утилиты:
    • git;
    • bash;
    • curl или wget .     
  • доступ в Интернет для клонирования репозитория.

Настройка на стороне Nextcloud

Чтобы настроить интеграцию на стороне Nextcloud:

  1. Установите платформу Nextcloud одним из способов:

  2. Авторизуйтесь в интерфейсе платформы и сгенерируйте пароль приложения для доступа к API: в правом верхнем углу откройте Профиль администратора платформы → Личные настройки →  БезопасностьПароли приложений → укажите произвольное название приложения → Создать пароль приложения.

       

    Блок "Личные настройки"


       

    Блок "Безопасность"


     

    Форма создания пароля

Настройка на стороне BILLmanager

Установка модуля

Перед тем, как начать настройку в интерфейсе:

  1. Если вы используете BILLmanager версии ниже 6.128.0, обновите платформу. Подробнее см. в статье Обновление.
  2. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  3. Скопируйте репозиторий:
    git clone https://github.com/LC208/bill-nextcloud.git
  4. Перейдите в директорию с модулем: 

    Пример команды для перехода
    cd /usr/local/mgr5/src/bill-nextcloud
  5. Запустите установку:

    Скрипт для установки
    sh install.sh

Подключение обработчика

Чтобы создать обработчик услуг, перейдите в раздел Интеграция → Обработчики услуг → кнопка Создать:

  1. Тип продукта: Резервное копирование.
  2. Модуль обработки: Nextcloud.
  3. Настройка интеграции:
    1. URL-адрес — укажите URL-адрес главной страницы панели Nextcloud. Например, http://my.panel.example .
    2. Имя пользователя — укажите имя пользователя в Nextcloud;
    3. Пароль — укажите пароль для доступа к API.
  4. Параметры обработчика услуг. Настройте внутренние (в пределах BILLmanager) параметры обработчика услуг:
    1. Наименование — введите наименование обработчика, которое будет отображаться в интерфейсе. Обязательное поле.
    2. Ответственный — выберите отдел, которому будут назначаться задачи от обработчика;
    3. Сортировка — укажите значение для параметра сортировки. Чем меньше значение, тем выше позиция в списке. Если имеется несколько обработчиков с одинаковым приоритетом сортировки, то между собой они будут отсортированы в алфавитном порядке.

Настройка тарифа

Чтобы настроить тариф:

  1.  Перейдите в раздел ПродуктыТарифные планы → кнопка Создать:
    1. Тип продукта — выберите Резервное копирование.
    2. Параметры тарифного плана:
      1. Обработчик услуг — выберите созданный обработчик для Nextcloud.
      2. Внутреннее наименование nextcloud
      3. Настройки обработчика:
        1. Группа пользователя — выберите группу, которая будет назначена аккаунту пользователя при его создании в Nextcloud.
  2. Отключите в содержании тарифа параметры "Облачный диск" и "Локальный диск". Они добавляются по умолчанию для типа продукта "Резервное копирование", но не обрабатываются модулем Nextcloud. Чтобы отключить параметры, перейдите ПродуктыТарифные планы → выберите тариф → кнопка Конфиг. → выберите параметр → кнопка Выкл.

Подробнее о создании тарифных планов см. в статье Создание, настройка, архивация тарифа.

Параметры типа продукта

Для управления параметрами по умолчанию перейдите в раздел Продукты  Типы продуктов Резервное копирование → кнопка Параметры → выберите параметр для изменения → нажмите кнопку Изменить. Подробнее см. Типы продуктов.

Основные параметры продукта не должны изменяться клиентом. Чтобы запретить клиенту изменение, в настройках параметра в поле Доступ для изменения выберите Сотрудник или Супер пользователь.

Основные параметры продукта:

Внутреннее имя параметраОписание
userpasswordпароль пользователя Nextcloud
usernameимя пользователя Nextcloud
urlURL-адрес главной страницы платформы Nextcloud
disk
disc
cлужебное имя дополнения "Дисковое пространство"

Сбор статистики

Сбор статистики выполняется по следующим наименованиям:

  • disk;
  • disc.

За сбор статистики отвечает задание планировщика cron — statdaily.cron. Статистика за одну и ту же дату суммируется.

Логирование

Журнал взаимодействия BILLmanager с обработчиком Nextcloud хранится в файле /usr/local/mgr5/var/pmnexctloud.log 

Дата последнего обновления статьи: 05.08.2025. Статья подготовлена техническими писателями ISPsystem