ISPmanager Business database structure

From ISPWiki
Jump to: navigation, search

This article describes ISPmanager Business internal database. The description is given according to ISPmanager interface modules. Presence or absence of tables in ISPmanaber can be caused by the contents of the modules. Tables required for a certain module are created while uploading the module.


Contents

Cluster nodes management module

Database structure of the cluster node management module

The "node" module

This table contains information about cluster nodes, and has the following fields:

  • id - unique identifier, primary key
  • name - name of the cluster node и
  • admusr - administrator of the cluster node
  • admpwd - administrator's password
  • admpwd_safe - password hash of the cluster node's administrator
  • mainip - primary IP address of the cluster node
  • url - URL to the control panel (ispmgrnode) on the cluster node
  • nstate - current status of the cluster node
  • comment - comment
  • ssh_port - SSH port number
  • maintain - whether the cluster node is under maintenance
  • action_required - to resolve issues, contact administrator
  • is_local - whether the cluster node is local
  • machine_id - server unique identifier
  • hostname - cluster node hostname
  • is_userlocked - whether users can be created on the cluster node

The "nodeprops" table

The table contains information about cluster node properties, and has the following fields:

  • node - unique identifier of the cluster node, primary key
  • name - property name, primary key
  • value - property value

The "noderole" table

The table contains information about roles of the cluster node, and has the following fields:

  • id - unique identifier, primary key
  • name - role name

The "noderole_assign" table

The table contains information about roles of the cluster nodes, and has the following fields:

  • id - unique identifier, primary key
  • node - cluster node unique identifier
  • noderole - role name unique identifier

The "user_location" table

The table contains information about users located on cluster nodes, and has the following fields:

  • id - unique identifier, primary key
  • noderole_assign - unique identifier of the role assigned to cluster node
  • users - user unique identifier

The "syncactions" table

The table contains information about synchronizers' names, and has the following fields:

  • id - unique identifier, primary key
  • name - synchronizer name

The "node2sync" table

The table contains information about data desynchronization on cluster nodes, and has the following fields:

  • node - cluster node unique identifier
  • syncactions - synchronizer name unique identifier
  • regtime - desynchronization date
  • has_problem - whether the desynchronization problem was registered ('on' - the synchronizer will start using notifications, 'off' -using periodic cron jobs)

The "node2sync_delayed" table

The table contains information about postponed desynchronization (for checking conditions during nest panel start) on cluster nodes, and has the following fields:

  • node - cluster node unique identifier
  • syncactions - synchronizer name unique identifier
  • regtime - date when desynchronization was registered
  • has_problem - whether the desynchronization problem was registered ('on' - the synchronizer will start using notifications, 'off' -using periodic cron jobs)

The "nodeunavail" table

The table contains information about connection problems with cluster nodes, and has the following fields:

  • id - unique identifier, primary key
  • node - cluster node unique identifier

The "nodeinfomsg" table

The table contains information about cluster node's action log, and has the following fields:

  • id - unique identifier, primary key
  • node - cluster node unique identifier
  • infotype - type of the record in action log
  • infolevel - logging level
  • date_init - date when the action was performed
  • description - detailed description of the log

IP address management module

Структура базы данных модуля управления IP-адресами

The "ipaddr" table

The table contains information about IP addresses, and has the following fields:

  • id - unique identifier, primary key
  • name - IP addresses
  • node - unique identifier of the cluster node
  • role - IP address role for users belonging to admins, or resellers
  • is_ipdb - whether IP address was allocated from the pool of IPs (internal or IPmanager) ('off' - obtained from the cluster nodes using the statistics allocation mechanism)

The "ipaddr_assign" table

The table contains information about IP addresses that were assigned to resellers or admins' users, and has the following fields:

  • id - unique identifier, primary key
  • ipaddr - IP address unique identifier
  • users - user unique identifier
  • role - role of IP addresses for resellers' users

The "ipaddr_assign_user" table

The table contains information about IP addresses that were assigned to resellers' users, and has the following fields:

  • ipaddr_assign - unique identifier of IP address assigned to reseller
  • users - user unique identifier

User management module

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

The "users" table

The table contains information about control panel users, and has the following fields:

  • id - unique identifier, primary key
  • name - username
  • active - whether the user is active or disabled
  • passwd - user password
  • safepasswd - password hash
  • level - user role:
30 — administrator-superuser,
29 — administrator,
24 — reseller,
16 — user
  • home - home directory
  • fullname - full name
  • uid - user's system unique identifier
  • gid - user group's system unique identifier
  • shell - user command line interpreter
  • users - user unique identifier (owned by reseller)
  • preset - template name
  • create_time - user creation date
  • comment - comment
  • relocation - whether the user is moving between cluster nodes or not.

The "userprops" and "remoteuserprops" tables

The table contains information about control panel users (user and reseller limits are kept in the "userprops" table), and has the following fields:

  • users - unique identifier, primary key
  • name - property name, primary key
  • value - property value

The "preset" table

The table contains information about control panel's user templates, and has the following fields:

  • id - unique identifier, primary key
  • name - template name
  • users - user unique identifier (owned by reseller)
  • level - template role. Possible values:
24 — reseller template,
16 — user template
  • comment - comment

The "preset_props" table

The table contains information about properties of user templates (information about template limits), and has the following fields:

  • preset - unique identifier, primary key
  • name - property name, primary key
  • value - property value

The "ftp_users" table

The table contains information about FTP-users of the control panel, and has the following fields:

  • id - unique identifier, primary key
  • name - FTP-user name
  • home -FTP-user home directory
  • active - whether FTP-user is active or disabled
  • password - FTP-user password
  • users - user unique identifier (пowned by reseller)
  • comment - comment
  • hash - FTP-user password hash

The "user_ids" table

The table contains information about users' UID GID, and has the following fields:

  • id - unique identifier, primary key
  • is_busy - 'on' - is already in use, and won't be assigned to control panel users.
  • get_date - date when the identifier was registered.
  • release_date - date when the identifier was released.

The "user_id_conflicts" table

The table contains information about UID and GID conflicts, and has the following fields:

  • id - unique identifier, primary key
  • objtype - conflict type
  • objname - this field can contain information about conflicting user or group
  • confl_state - conflict status
  • node - cluster node unique identifier

WWW-domain management module

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

The "webdomain" table

The table contains information about WWW domains, and has the following fields:

  • id - unique identifier, primary key
  • name - WWW-domain name
  • docroot - WWW-domain directory
  • email - administrator email
  • charset - encoding
  • dirindex - index pages
  • secure - whether SSL is active or disabled
  • ssl_port - SSL port
  • ssl_cert - SSL-certificate
  • autosubdomain - whether WWW-domain's aliases are active or not
  • php - whether PHP is active or not
  • php_mode - PHP mode
  • cgi - whether CGI is active or not
  • cgi_ext - CGI extensions
  • active - whether WWW-domain is active or not
  • users - user unique identifier (owned by user)
  • log_access - information in action log
  • log_error - information in error log
  • rotation_period - log rotation period
  • rotation_size - log file size
  • rotation_count - number of log archives
  • analyzer - log analyzer
  • analyzer_period - log analyzer period
  • analyzer_lang - log analyzer report language
  • foreground - default WWW-domain
  • comment - comment
  • redirect_http - redirect http into https

The "webdomain_alias" table

The table contains information about aliases of WWW domains, and has the following fields:

  • id - unique identifier, primary key
  • name - WWW-domain alias
  • webdomain - WWW-domain unique identifier

The "ipaddr_webdomain" table

The table contains information about IP addresses of WWW domains, and has the following fields:

  • ipaddr - unique identifier, primary key
  • webdomain - WWW domain unique identifier, primary key

The "sslcert" table

The table contains information about SSL certificates, and has the following fields:

  • id - unique identifier, primary key
  • name - SSL-certificate name
  • users - user unique identifier (owned by user)
  • valid_after - certificate validity period
  • type - SSL-certificate type

The "sslcert_csr" table

The table contains information about Certificate Signing Requests, and has the following fields:

  • id - unique identifier, primary key
  • name - name of the SSL-certificate CSR
  • users - user unique identifier (owned by user)
  • csr_pk - text of the SSL private key
  • csr_req - text of the CSR

The "webproxy" table

The table contains information about WWW redirects, and has the following fields:

  • id - unique identifier, primary key
  • name - redirect's domain name
  • aliases - redirect alias
  • target_ip - target IP address
  • https - whether HTTPS is used or not
  • rttl - redirect life time
  • node - cluster node unique identifier
  • comment - comment

The "aps" table

The table contains information about Web-scripts, and has the following fields:

  • id - unique identifier, primary key
  • name - Web-script name
  • catalog_id - web-script unique id from the list of available Web-scripts
  • timestamp - date and time of the last update
  • userusable - whether a Web-script can be used in the control panel
  • userdefault - whether a Web-script is available to users by default

The "aps_assign" table

The table contains information about Web-scripts used by WWW domains, and has the following fields:

  • id - unique identifier, primary key
  • path - path to the installed Web-script
  • webdomain - WWW domain unique identifier
  • aps - Web-script unique identifier

The "aps_entry" table

The table contains information about Web-script properties, and has the following fields:

  • id - unique identifier, primary key
  • name - property name
  • value - property value
  • lang - language used for specifying properties
  • webdomain - WWW-domain unique identifier
  • aps - Web-script unique identifier

Domain name management module

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

The "domain" table

The table contains information about domain names created in ISPmanager, and has the following fields:

  • id - unique identifier, primary key
  • name - domain name
  • dtype - domain type in DNS-server
  • users - user unique identifier (owned by user)
  • comment - comment

The "domain_auto" table

This table contains information about domain names or DNS records that were created automatically when creating other items in ISPmanager (such as mail or web-domains), and has the following fields:

  • name - primary key, record name or domain name (if the "base" field is empty (NULL or ""))
  • base - domain name associated with the record, which name is specified in the "name" field

The "slave_ns" table

The table contains information about external name servers, and has the following fields:

  • id - unique identifier, primary key
  • name - URL of the control panel of the external name server
  • username - username to login in the control panel of the external name server
  • password - user password to login in the control panel of the external name server
  • comment - comment

Mail management module

Структура базы данных модуля управления почтой

The "emaildomain" table

The table contains information on mail domains, and has the following fields:

  • id - unique identifier, primary field
  • name - mail domain name
  • ip - mail domain IP address
  • defaction - action for domain name
  • redirval - parameters of mail domain (redirect, reject with a message, etc.)
  • active - whether the mail domain is active or not
  • users - user unique identifier (owned by user)
  • comment - comment

The "emaildomain_options" table

The table contains information about domain parameters (such as greylisting, spamassassin, etc.), and has the following fields:

  • id - unique identifier, primary key
  • domain - mail domain unique identifier
  • domain_option - mail domain's parameter (if this parameter is not specified, it is considered active)

The "email" table

The table contains information about mailboxes:

  • id - unique identifier, primary key
  • name - mailbox name
  • path - path to the mailbox
  • password - mailbox password
  • maxsize - maximum size in MB
  • used - memory usage in MB
  • active - whether the mailbox is active or not
  • int_suspend - whether the mailbox was suspended by external call
  • dontsave - do not save incoming emails into mailbox
  • note - description
  • domain - mail domain unique identifier

The "email_options" table

The table contains information about mailbox properties:

  • id - unique identifier, primary
  • email - mailbox unique identifier
  • options - property name (if a paramater is not found, it is considered disabled)

The "email_alias" table

The table contains information about email aliases, and has the following fields:

  • id - unique identifier, primary key
  • name - mailbx alias
  • email - mailbox unique identifier

The "email_forward" table

The table contains information about mailbox redirects, and has the following fields:

  • id - unique identifier, primary key
  • name - mailbox redirect
  • email - mailbox unique identifier

The "email_responder" table

The table contains information about auto-reposnders, and has the following fields:

  • id - unique identifier, primary key
  • active - whether the auto-responder is active or not
  • email - mailbox unique identifier


The "email_blacklist" table

The table contains information about blacklists:

  • id - unique identifier, primary key
  • name - blacklist value

The "email_whitelist" table

The table contains information about whitelist:

  • id - unique identifier, primary key
  • name - whitelist value

The "greywlist" table

The table contains information about Greylisting:

  • id - unique identifier, primary key
  • name - greylisting value

Database management module

Database structure of the database management module

The "db_server" table

The table contains information about database servers, and has the following fields:

  • id - unique identifier, primary key
  • name - database server name
  • node - cluster node unique identifier
  • type - database type
  • host - database server address
  • username - username for database server management
  • password - user password for database server management
  • savedver - server version

The "db_assign" table

The table contains information about databases, and has the following fields:

  • id - unique identifier, primary key
  • name - database name
  • users - user unique identifier (user-owner)
  • db_server - database server unique identifier
  • comment - comment

The "db_user" table

The table contains information about database usernames, and has the following fields:

  • id - unique identifier, primary key
  • name - username
  • users - username unique identifier (owned by user)

The "db_user_assign" table

The table contains information about database users used by databases, and has the following fields:

  • db_assign - database unique identifier
  • db_user - database username unique identifier