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:
-
Установите платформу Nextcloud одним из способов:
- на сервер. Подробнее об установке см. в официальной документации Nextcloud ;
- в docker-контейнер. Скачайте контейнер из репозитория https://github.com/LC208/bill-nextcloud. Пример установки с помощью docker-контейнера см. в официальной документации Nextcloud.
- Авторизуйтесь в интерфейсе платформы и сгенерируйте пароль приложения для доступа к API: в правом верхнем углу откройте Профиль администратора платформы → Личные настройки → Безопасность → Пароли приложений → укажите произвольное название приложения → Создать пароль приложения.
Блок "Личные настройки"
Блок "Безопасность"
Форма создания пароля
Настройка на стороне BILLmanager
Установка модуля
Перед тем, как начать настройку в интерфейсе:
- Если вы используете BILLmanager версии ниже 6.128.0, обновите платформу. Подробнее см. в статье Обновление.
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
- Скопируйте репозиторий:
git clone https://github.com/LC208/bill-nextcloud.git
-
Перейдите в директорию с модулем:
Пример команды для переходаcd /usr/local/mgr5/src/bill-nextcloud
-
Запустите установку:
Скрипт для установкиsh install.sh
Подключение обработчика
Чтобы создать обработчик услуг, перейдите в раздел Интеграция → Обработчики услуг → кнопка Создать:
- Тип продукта: Резервное копирование.
- Модуль обработки: Nextcloud.
- Настройка интеграции:
- URL-адрес — укажите URL-адрес главной страницы панели Nextcloud. Например, http://my.panel.example .
- Имя пользователя — укажите имя пользователя в Nextcloud;
- Пароль — укажите пароль для доступа к API.
- Параметры обработчика услуг. Настройте внутренние (в пределах BILLmanager) параметры обработчика услуг:
- Наименование — введите наименование обработчика, которое будет отображаться в интерфейсе. Обязательное поле.
- Ответственный — выберите отдел, которому будут назначаться задачи от обработчика;
- Сортировка — укажите значение для параметра сортировки. Чем меньше значение, тем выше позиция в списке. Если имеется несколько обработчиков с одинаковым приоритетом сортировки, то между собой они будут отсортированы в алфавитном порядке.
Настройка тарифа
Чтобы настроить тариф:
- Перейдите в раздел Продукты → Тарифные планы → кнопка Создать:
- Тип продукта — выберите Резервное копирование.
- Параметры тарифного плана:
- Обработчик услуг — выберите созданный обработчик для Nextcloud.
- Внутреннее наименование
nextcloud
- Настройки обработчика:
- Группа пользователя — выберите группу, которая будет назначена аккаунту пользователя при его создании в Nextcloud.
- Отключите в содержании тарифа параметры "Облачный диск" и "Локальный диск". Они добавляются по умолчанию для типа продукта "Резервное копирование", но не обрабатываются модулем Nextcloud. Чтобы отключить параметры, перейдите Продукты → Тарифные планы → выберите тариф → кнопка Конфиг. → выберите параметр → кнопка Выкл.
Подробнее о создании тарифных планов см. в статье Создание, настройка, архивация тарифа.
Параметры типа продукта
Для управления параметрами по умолчанию перейдите в раздел Продукты → Типы продуктов → Резервное копирование → кнопка Параметры → выберите параметр для изменения → нажмите кнопку Изменить. Подробнее см. Типы продуктов.
Основные параметры продукта:
Сбор статистики
Сбор статистики выполняется по следующим наименованиям:
disk;
disc.
За сбор статистики отвечает задание планировщика cron — statdaily.cron
. Статистика за одну и ту же дату суммируется.
Логирование
Журнал взаимодействия BILLmanager с обработчиком Nextcloud хранится в файле /usr/local/mgr5/var/pmnexctloud.log