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.
