DirectAdmin

Материал из ISPWiki

Перейти к: навигация, поиск

Содержание

Создание аккаунта:

Функция OpenAccount

  • Проверка в базе наличия сервера, домена, пользователя, тарифа....
  • Извлечение из базы информации об ip адресах аккаунта (есть ли у него выделенные ip,их количество).
  • Запрос на сервер DirectAdmin, в результате которого будет получен список ip адресов.
  • Запрос на сервер DirectAdmin, в результате которого будет создан аккаунт.

(имя пользователя, домен, тарифный план, электронный адрес берутся из базы, пароль генерируется, если необходим выделенный ip, он назначается из результатов предыдущего запроса, в противном случае назначается общий ip адрес, также полученный ранее. При отсутствии ip адреса необходимого типа будет сгенерирована ошибка "FATAL error", которая будет записана в /usr/local/ispmg/var/cpadmin.log. Если будет затребовано больше одного выделенного ip адреса, в журнал запишется warning, в результате все равно будет выделен лишь один ip.

  • Вызывается AddDetails (переписывает ограничения тарифа на ограничения, добавленные вручную (если таковые имеются): bandwidth, disk, emaillimit,

databaselimit, webdomainlimit.

Удаление аккаунта:

Функция DeleteAccount

  • Проверка в базе наличия аккаунта.
  • Запрос серверу DirectAdmin(удаление аккаунта).
  • Удаление из таблицы itemip всех ip адресов, принадлежавших аккаунту.

Отключение аккаунта:

Функция SuspendAccount

  • Проверка в базе наличия аккаунта.
  • Запрос серверу DirectAdmin (аккаунт отключается).

Включение аккаунта:

Функция ResumeAccount

  • Проверка в базе наличия аккаунта.
  • Запрос серверу DirectAdmin (аккаунт включается).

Смена тарифного плана:

Функция SetAccountParam

  • Вызывается AddDetails (которая считывает ограничения нового тарифного плана, перезаписывает ограничения старого тарифного плана, записывает ограничения, добавленные вручную (если таковые имеются):bandwidth, disk, emaillimit, databaselimit, webdomainlimit.

Получение информации о тарифных планах (шаблонах) с сервера DirectAdmin:

Функция GetServerConfig

  • Запрос серверу DirectAdmin (в результате которого считываются названия тарифных планов (шаблонов аккаунтов) на сервере DirectAdmin).
  • Все тарифные планы, полученные с сервера, записываются в таблицу server, в столбец config.


Проверка соединения с сервером DirectAdmin:

Функция CheckServerConnection

  • Запрос серверу DirectAdmin (в результате которого проверяется соединение с сервером).

Получение статистики с сервера DirectAdmin:

Функция GetStats

  • Запрос серверу DirectAdmin (в результате которого собирается статистика о трафике, использованном за месяц).
  • Запрос к базе данных возвращает суммарный трафик, который уже учтен в биллинге, затем вычисляется разница между тем, что вернул сервер, и тем, что было в базе. Результат записывается.

Дополнительная информация

Приведение информации в актуальное состояние выполняется при помощи функции fix. Файл журнала : /usr/local/ispmgr/var/cpadmin.log.

Переход из BILLmanager в DirectAdmin НЕ работает. Это связано с тем, что для реализации перехода пришлось бы передавать логин и пароль к серверу в открытом виде, мы не стали делать этого в целях безопасности.

Если при автопродлении возникает ошибка

INFO Request: prolong 1
../../src/billmgr/controlpanel/cpadmin.cpp:664 DEBUG Prolong action
FATAL unsupport action

То убрать галочку "Продление" в свойствах обслуживающего сервера.

Была ли эта информация полезной? Да | Нет
Личные инструменты