Skip to content

Configuration File

Edmondas Girkantas edited this page Dec 26, 2023 · 39 revisions

Usage

With any new installation the file inc/config-defaults.inc.php is distributed. You should not edit this file. If you do, it is very likely your changes will be overwritten with an upgrade. Instead, create the file "inc/config.inc.php" and set the variables you want to set there. Your changes will overwrite the defaults provided by us. This way, we are able to add new configuration options, including a good working default, without immediatelly breaking your configuration or requiring manual intervention.

Variables

The following configuration variables are available:

Database settings

Variable Default value Description Added in version
$db_host no default The host to connect to for access to the database.
$db_user no default The username to use to access the database.
$db_pass no default The password to use to access the database.
$db_name no default The name of the database of PowerDNS.
$db_type no default The type of the database of PowerDNS. Poweradmin currently has support for 'mysql', 'mysqli', 'pgsql' and 'sqlite'. mysqli - 2.1.5, sqlite (only 2.x) - 2.1.6
$db_charset no default The charset set which is used for communication with database (for example - 'utf8' for MySQL) 2.1.8
$db_file no default Used only for SQLite, provide full path to database file 2.1.6
$db_debug false Show all executed SQL queries (if true) 2.1.6
$db_layer PDO DB access layer. Possible values MDB2 or PDO Introduced in 2.1.6, removed in 2.1.8

API settings

Variable Default value Description Added in version
$pdns_api_url no default The endpoint for establishing a connection to the PowerDNS API. 3.7.0
$pdns_api_key no default The authentication key required for establishing a connection with the PowerDNS API. 3.7.0

Security settings

Variable Default value Description Added in version
$crypto_key p0w3r4dm1n The key used for session data encryption 2.1.5, renamed to $session_key in 2.1.6
$password_encryption "bcrypt" (2.1.9), "md5" (<2.1.9) The type of encryption used for keeping user passwords in database. Other possible values - md5, md5salt (compatible with WHMCS) 2.1.6
$password_encryption_cost 12 The algorithmic cost (needed for bcrypt) 2.1.8
$session_key p0w3r4dm1n The key used for session data encryption 2.1.6

Interface settings

Variable Default value Description Added in version
$iface_lang en_EN The language for the interface. Currently 'en_EN', 'de_DE', 'ja_JA', 'nl_NL', 'pl_PL' and 'ru_RU' are supported.
$iface_style example The CSS template to use as skin of web interface. See "style/" directory.
$iface_templates templates The HTML templates to use for web interface. See "templates/" directory. 2.2.3
$iface_rowamount 10 The maximum number of rows that should be shown (usefull if you have a large number of zones or records).
$iface_expire 1800 Session time-out in seconds. After this timeout, you are automagically logged out.
$iface_zonelist_serial false Enable (true) or disable (false) display of zone's serial in the zone listing.
$iface_title Poweradmin The title which is showed in header 2.1.5
$iface_add_reverse_record true Displays a checkbox for adding a reverse record 2.1.7
$iface_zone_type_default MASTER Default zone type when creating new zones 2.1.9
$iface_zone_comments true Show or hide zone comments 2.2.3
$timezone UTC Set timezone (for php 5.1.0+). List of supported timezones.

DNS settings

Variable Default value Description Added in version
$dns_hostmaster no default The default emailaddress to use for the RP in the SOA record. For example: 'hostmaster.example.net'.
$dns_ns1 no default The default primary nameserver.
$dns_ns2 no default The default secondary nameserver.
$dns_ns3 no default The third secondary nameserver.
$dns_ns4 no default The fourth secondary nameserver.
$dns_ttl 86400 The default TTL for records (in seconds of course).
$dns_soa 28800 7200 604800 86400 SOA settings for refresh, retry, expire and minimum 2.2.3
$dns_fancy false Enable fancy records (true) or not (false). As of PowerDNS Authoritative Server 3.0, fancy records are no longer supported! This variable was removed in 2.2.2
$dns_strict_tld_check false If enabled (true), allow official TLD's only.
$dns_top_level_tld_check false Don't allow to create top level TLDs 2.1.7
$dns_third_level_check false Don't allow to create third level domains 2.1.7

Logging

Variable Default value Description Added in version
$syslog_use false Enable (true) or disable (false) logging of authentication attempts and other operations to syslog 2.1.6
$syslog_ident poweradmin Specifies program name which is added to syslog message 2.1.6
$syslog_facility LOG_USER Specifies what type of program is logging the message 2.1.6
$dblog_use false Enable (true) or disable (false) logging to database 3.2.0

DNSSEC

Variable Default value Description Added in version
$pdnssec_use false Enable (true) or disable (false) DNSSEC support 2.1.7
$pdnssec_debug false Enable debug for DNSSEC operations 2.1.9
$pdnssec_command /usr/bin/pdnsutil Full path to pdnsutil utility 2.1.7

LDAP settings

Variable Default value Description Added in version
$ldap_use false Authenticate against directory service (LDAP/Active Directory) 2.1.7
$ldap_debug false Enable debug for LDAP connection 2.1.7
$ldap_uri ldap://domaincontroller.example.com LDAP URI 2.1.7
$ldap_basedn ou=users,dc=example,dc=com The top level of the LDAP directory tree 2.1.7
$ldap_binddn cn=admin,dc=example,dc=com LDAP user 2.1.7
$ldap_bindpw some_password password for LDAP user 2.1.7
$ldap_user_attribute uid username attribute used in LDAP search filter 2.1.7
$ldap_proto 3 LDAP protocol version 2.1.7