Седат Игдеджи, Sedat Igdeci, Cedat Igdeci, Bekir Igdeci, Lidiya Igdeci, Elizaveta Igdeci

Структура базы данных ISPmanager Lite

Данная статья посвящена описанию таблиц внутренней базы данных ISPmanager Lite. Описание разбито в соответствии со структурой модулей ISPmanager. Приведены диаграммы структуры базы данных логического уровня, типы данных на физическом уровне зависят от особенностей конкретной СУБД. Тип bool на физическом уровне представлен строковым полем с длиной 3 символа и возможными значениями: «on» (true) и «off» (false). Наличие или отсутствие определенных таблиц при работе ISPmanager может быть обусловлено составом загружаемых модулей — необходимые для каждого модуля таблицы создаются при загрузке модуля.

Модуль управления пользователями


Ispdb users and ftp - Структура базы данных ISPmanager Lite

Таблица «users»

Хранит информацию о пользователях ISPmanager, а также администраторах и администраторах-суперпользователях. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — имя пользователя
  • fullname — полное имя пользователя
  • passwd, safepasswd — пароль пользователя (в шифрованном виде)
  • active — признак активности пользователя (включен-выключен)
  • uid — уникальный идентификатор пользователя (применяется для системных пользователей)
  • gid — уникальный идентификатор группы пользователя (применяется для системных пользователей)
  • home — полный путь до домашней директории пользователя
  • level — уровень доступа пользователя. Применяемые значения уровней доступа:
    30 — администратор-суперпользователь,
    29 — администратор,
    16 — пользователь
  • preset — имя используемого пользователем шаблона
  • shell — полный путь до бинарного файла shell, также используется для идентификации, доступен ли shell пользователю
  • create_time — дата и время создания пользователя
  • tag — служебное поле

Таблица «userprops»

Хранит информацию о свойствах пользователя, в частности размеры назначенных пользователю лимитов. Поля таблицы:

  • users — внешний ключ, уникальный идентификатор записи в таблице «users», часть составного первичного ключа
  • name — имя свойства пользователя, часть составного первичного ключа
  • value — значение свойства пользователя

Таблица «preset»

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

  • id — уникальный идентификатор, первичный ключ
  • name — имя шаблона
  • users — зарезервировано для дальнейшего использования
  • level — зарезервировано для дальнейшего использования, имеет значение 16 (Пользователь)

Таблица «presetprops»

Хранит информацию о свойствах шаблона, в частности размеры лимитов, назначаемых данным шаблоном. Поля таблицы:

  • preset — внешний ключ, уникальный идентификатор записи в таблице «preset», часть составного первичного ключа
  • name — имя свойства шаблона, часть составного первичного ключа
  • value — значение свойства шаблона

Таблицы вида «{type}quota»

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

  • id — уникальный идентификатор, первичный ключ
  • quota_limit — установленное значение квоты
  • quota_used — значение использованного пользователем размера квоты
  • tag — служебное поле

В настоящий момент используются таблицы:

  • Linux-подобные системы:
    • usrquota — квота системных пользователей
    • grpquota — квота системных групп пользователей
  • системы под управлением Microsoft Windows Server:
    • sysquota — квота системных пользователей
    • fsrmquota — квота управления ресурсами файлового сервера (роль FSRM)

Таблица «ftp_users»

Хранит информацию об ftp-пользователях ISPmanager. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — имя ftp-пользователя
  • home — корневой каталог ftp для данного пользователя, хранится как путь, указанный относительно домашней директории пользователя-владельца ftp-пользователя
  • passwd — пароль ftp-пользователя
  • hash — значение данного поля определяет, шифровано ли значение пароля, хранящегося в поле passwd
  • active — признак активности ftp-пользователя (включен-выключен)
  • enabled — указывает, был ли пользователь выключен автоматически при выключении владельца
  • users — внешний ключ, уникальный идентификатор записи в таблице «users», служит для определения владельца ftp-пользователя

Модуль управления Web-доменами


Ispdb web - Структура базы данных ISPmanager Lite
Структура базы данных модуля управления Web-доменами

Таблица «webdomain»

Хранит информацию о созданных с помощью ISPmanager Web-доменах. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — имя Web-домена
  • docroot — полный путь до корневой директории Web-домена
  • active — признак активности Web-домена (включен-выключен)
  • int_suspend — указывает, был ли Web-домен выключен автоматически при выключении владельца
  • email — e-mail администратора Web-домена
  • charset — кодировка страниц Web-домена
  • dirindex — список индексных страниц Web-домена
  • secure — признак активности SSL для Web-домена (включен-выключен)
  • sslport — порт SSL для Web-домена
  • framework — используемый интерфейс или фреймворк (например, rails, wsgi)
  • autosubdomain
  • php — признак использования Web-доменом PHP
  • php_mode — признак использования PHP как модуля Apache
  • cgi — признак использования Web-доменом CGI
  • cgi_ext — список расширений файлов CGI
  • dropped_down — зарезервировано для внутреннего использования
  • log_access — признак использования журнала запросов
  • log_error — признак использования журнала ошибок
  • rotation_period — период ротации журналов Web-домена
  • rotation_size — размер журнала, при котором необходимо произвести ротацию
  • rotation_count — количество сохраняемых ротированных файлов журналов
  • analyser — тип используемого анализатора журналов
  • analyser_period — период анализа журналов
  • analyser_lang — язык, используемый анализатором журналов для вывода статистики
  • users — внешний ключ, уникальный идентификатор записи в таблице «users», служит для определения владельца Web-домена

Таблица «webdomain_alias»

Хранит информацию о псевдонимах Web-доменов. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — псевдоним Web-домена
  • webdomain — внешний ключ, уникальный идентификатор записи в таблице «webdomain», служит для определения Web-домена, к которому относится псевдоним

Таблица «webdomain_ipaddr»

Содержит информацию об IP-адресах Web-доменов. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • value — IP-адрес Web-домена
  • webdomain — внешний ключ, уникальный идентификатор записи в таблице «webdomain», служит для определения Web-домена, к которому относится IP-адрес

Таблица «webdomain_error»

Содержит информацию о страницах ошибок Web-доменов. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • code — код ошибки
  • uri — url-адрес или url-путь страницы ошибки
  • webdomain — внешний ключ, уникальный идентификатор записи в таблице «webdomain», служит для определения Web-домена, к которому относится страница ошибки

Таблица «webdomain_redirect»

Содержит информацию о редиректах Web-доменов. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • status — код ответа веб-сервера при выполнении перенаправления
  • path — адрес, при вызове которого должно выполниться перенаправление
  • uri — url-адрес, на который выполняется перенаправление
  • webdomain — внешний ключ, уникальный идентификатор записи в таблице «webdomain», служит для определения Web-домена, к которому относится редирект

Таблица «webdomain_access_dir»

Хранит информацию о каталогах Web-доменов с ограниченным доступом. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • path — полный путь до каталога с ограниченным доступом
  • webdomain — внешний ключ, уникальный идентификатор записи в таблице «webdomain», служит для определения Web-домена, к которому относится каталог с ограничением доступа

Таблица «webdomain_access_users»

Хранит информацию об учетных записях пользователей каталогов Web-доменов с ограниченным доступом. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — имя пользователя в каталоге с ограничением доступа
  • passwd, pwhash — пароль пользователя
  • active — признак активности пользователя (включен-выключен)
  • webdomain_access_dir — внешний ключ, уникальный идентификатор записи в таблице «webdomain_access_dir», служит для определения каталога Web-домена с ограничением доступа, к которому относится запись о пользователе

Таблица «aps»

Предназначена для хранения информации о Web-скриптах (APS). Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — имя Web-скрипта
  • catalog_id — уникальный номер Web-скрипта из каталога доступных Web-скриптов
  • timestamp — дата и время последнего обновления данного Web-скрипта

Таблица «aps_assign»

Хранит информацию о Web-скриптах, используемых Web-доменами. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • path — путь до установленного Web-скрипта относительно домашней директории пользователя
  • webdomain — внешний ключ, уникальный идентификатор записи в таблице «webdomain», служит для определения Web-домена, для которого установлен Web-скрипт
  • aps — внешний ключ, уникальный идентификатор записи в таблице «aps», служит для определения Web-скрипта, используемого Web-доменом

Таблица «aps_entry»

Хранит информацию о свойствах Web-скрипта. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — имя свойства
  • value — значение свойства
  • lang — язык, используемый для указания значения свойства
  • webdomain — внешний ключ, уникальный идентификатор записи в таблице «webdomain», служит для определения Web-домена, для которого установлен Web-скрипт
  • aps — внешний ключ, уникальный идентификатор записи в таблице «aps», служит для определения Web-скрипта,

Модуль управления доменными именами


Ispdb dns - Структура базы данных ISPmanager Lite
Структура базы данных модуля управления доменными именами

Таблица «domain»

Хранит информацию о созданных с помощью ISPmanager доменных именах. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — доменное имя
  • dtype — тип доменного имени в управляемом DNS-сервере. Имеет два значения:
    master — доменное имя представляет основную доменную зону сервера DNS
    slave — доменное имя представляет вторичную доменную зону сервера DNS
  • users — внешний ключ, уникальный идентификатор записи в таблице «users», служит для определения владельца доменного имени. Может иметь значение NULL, в случае, если владельцем доменного имени являются администраторы сервера

Таблица «domain_auto»

Служит для предоставления информации о доменных именах и ресурсных записях DNS, которые были созданы автоматически при создании других сущностей ISPmanager (например, почтовых или Web-доменов). Имеет поля:

  • name — первичный ключ, имя ресурсной записи или доменное имя (если поле base не заполнено (имеет значение NULL или «»))
  • base — доменное имя, к которому относится ресурсная запись, имя которой указано в поле name

Таблица «slave_ns»

Хранит информацию об используемых в ISPmanager внешних серверах имён. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — URL панели управления внешним сервером имён
  • username — имя пользователя, использующегося для авторизации в панели управления внешним сервером имён
  • password — пароль пользователя для авторизации в панели управления внешним сервером имён

Модуль управления почтовыми доменами


Ispdb email - Структура базы данных ISPmanager Lite
Структура базы данных модуля управления почтовыми доменами

Таблица «emaildomain_options»

Хранит информацию о дополнительных параметрах почтовых ящиков (таких как greylisting, spamassassin и т.д.):

  • id — уникальный идентификатор, первичный ключ
  • domain — внешний ключ, уникальный идентификатор записи в таблице «emaildomain», служит для определения почтового домена для которого включен тот или иной параметр
  • option — включенный параметр почтового домена (если параметр не задан он считается выключенным)

Таблица «emaildomain»

Хранит информацию о почтовых доменах:

  • id — уникальный идентификатор, первичный ключ
  • name — имя почтового домена
  • ip — ip-адрес почтового домена
  • defaction — действие для домена:
  1. если для домена не найден почтовый ящик с таким именем получателя то выполняется действие (отклонить, перенаправить, игнорировать);
  2. если данный домен является перенаправляющим (указан перенаправленным для другого домена) то в нём производиться поиск почтового ящика с именем, которое не найдено в домене, с которого перенаправляют.
  • redirval — параметры «действия» для домена (куда перенаправить, с каким сообщением отклонить)
  • active — признак включен ли данный домен
  • int_suspend — признак выключен ли внешним вызовом
  • tag — служебное поле. Категорически не рекомендуется изменять данное значение вручную.
  • users — внешний ключ, уникальный идентификатор записи в таблице «users», служит для определения владельца домена

Таблица «email»

Хранит информацию о почтовых ящиках:

  • id — уникальный идентификатор, первичный ключ
  • name — имя почтового ящика
  • path — путь до почтового ящика
  • password — пароль почтового ящика
  • maxsize — максимальный размер в Мб.
  • used — использовано памяти в Мб.
  • active — признак включен ли данный почтовый ящик
  • int_suspend — признак выключен ли внешним вызовом
  • dontsave — признак не сохранять сообщения в почтовый ящик
  • note — описание
  • tag — служебное поле. Категорически не рекомендуется изменять данное значение вручную.
  • domain — внешний ключ, уникальный идентификатор записи в таблице «emaildomain», служит для определения принадлежности почтового ящика почтовому домену

Таблица «email_options»

Хранит информацию о параметрах почтовых ящиков:

  • id — уникальный идентификатор, первичный ключ
  • email — внешний ключ, уникальный идентификатор записи в таблице «email», служит для определения принадлежности параметра почтовому ящику
  • options — имя параметра (если параметр не найден считается что он выключен),

Таблица «email_alias»

Хранит информацию о псевдонимах почтовых ящиков:

  • id — уникальный идентификатор, первичный ключ
  • name — имя псевдонима почтового ящика
  • email — внешний ключ, уникальный идентификатор записи в таблице «email», служит для определения принадлежности псевдонима почтовому ящику

Таблица «email_forward»

Хранит информацию о перенаправлениях почтовых ящиков:

  • id — уникальный идентификатор, первичный ключ
  • name — имя перенаправления для почтового ящика
  • email — внешний ключ, уникальный идентификатор записи в таблице «email», служит для определения принадлежности перенаправления почтовому ящику

Таблица «email_responder»

Хранит информацию о автоответчиках:

  • id — уникальный идентификатор, первичный ключ
  • fromaddr — адрес который будет указан как отправитель в сообщении автоответчика
  • subject — тема письма
  • body — тело письма
  • attach — путь до прикрепляемого автоответчиком файла
  • active — признак, включен автоответчик
  • email — внешний ключ, уникальный идентификатор записи в таблице «email», служит для определения принадлежности автоответчика почтовому ящику

Таблица «email_filter»

Хранит информацию о сортировщиках:

  • id — уникальный идентификатор, первичный ключ
  • name — имя сортировщика
  • allany — сопоставление условий сортировщика (все верны, любое верно, если пусто — без условий)
  • active — признак, включен сортировщик
  • pos — позиция скрипта в файле с «.dovecot.sieve» (в директории почтового домена)
  • tag — служебное поле. Категорически не рекомендуется изменять данное значение вручную.
  • email — внешний ключ, уникальный идентификатор записи в таблице «email», служит для определения принадлежности сортировщика почтовому ящику

Таблица «mfiltercond»

Хранит информацию о условиях сортировщика:

  • id — уникальный идентификатор, первичный ключ
  • param — параметр сортировщика (header envelope size и т.д.)
  • mod — способ сравнения (match contains over и т.д.)
  • what — дополнительно к основному параметру. Например если параметр — header, то здесь указывается например subject
  • ifnot — логическое нет
  • filter — внешний ключ, уникальный идентификатор записи в таблице «email_filter», служит для определения принадлежности условия к сортировщику

Таблица «mfilteraction»

Хранит информацию о действиях сортировщика:

  • id — уникальный идентификатор, первичный ключ
  • action — действие (удалить сохранить и т.д.)
  • actval — значение действия (если отклонить — с каким сообщением, если сохранить в директорию — то в какую)
  • filter — внешний ключ, уникальный идентификатор записи в таблице «email_filter», служит для определения принадлежности действия к сортировщику

Таблица «mfiltercondvals»

Хранит информацию о значениях для сравнения в условиях сортировщика:

  • id — уникальный идентификатор, первичный ключ
  • value — значения условия
  • cond — внешний ключ, уникальный идентификатор записи в таблице «mfiltercond», служит для определения принадлежности значения к условию

Таблица «email_blacklist»

Хранит информацию о «черном списке»:

  • id — уникальный идентификатор, первичный ключ
  • name — значения «черного списка»

Таблица «email_whitelist»

Хранит информацию о «белом списке»:

  • id — уникальный идентификатор, первичный ключ
  • name — значения «белого списка»

Таблица «greywlist»

Хранит информацию о «белом списке» greylisting-а:

  • id — уникальный идентификатор, первичный ключ
  • name — значения «белого списка» greylisting-а

Модуль управления базами данных


Ispdb db - Структура базы данных ISPmanager Lite
Структура базы данных модуля управления базами данных

Таблица «db_server»

Хранит информацию об используемых пользователями ISPmanager серверах баз данных. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — имя сервера баз данных
  • type — тип СУБД, может иметь следующие значения:
    mssql — СУБД Microsoft SQL Server
    mysql — СУБД MySQL
    postgresql — СУБД PostgreSQL
  • host — адрес сервера баз данных
  • username — имя пользователя, используемого для управления сервером баз данных
  • password — пароль пользователя, используемого для управления сервером баз данных

Таблица «db_assign»

Хранит информацию о базах данных, используемых пользователями ISPmаnager. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • name — имя базы данных
  • users — внешний ключ, уникальный идентификатор записи в таблице «users», служит для определения владельца базы данных
  • db_server — внешний ключ, уникальный идентификатор записи в таблице «db_server», служит для определения сервера баз данных, на котором создана база данных

Таблица «db_cache»

Используется для хранения сведений кэширования информации о базах данных. Имеет следующие поля:

  • id — уникальный идентификатор, первичный ключ
  • next_check — дата и время следующей проверки базы данных
  • size — текущий размер базы данных
  • db_assign — внешний ключ, уникальный идентификатор записи в таблице «db_assign», служит для определения базы данных, к которой относится информация
info@mustanhost.by
8.00-20.00
Седат Игдеджи, Sedat Igdeci, Cedat Igdeci, Bekir Igdeci, Lidiya Igdeci, Elizaveta Igdeci