This documentation covers Poweradmin 4.x. Some sections are still being expanded.

Legacy Configuration (v3.x LTS)

This page documents the legacy PHP variable configuration format used in Poweradmin v3.x and earlier versions.

Note: For Poweradmin v4.0.0 and later, use the modern array-based configuration format instead.

Configuration File

Legacy configuration uses individual PHP variables in inc/config.inc.php:

<?php
$db_host = 'localhost';
$db_name = 'powerdns-db';
$db_user = 'poweradmin-db-user';
$db_pass = 'poweradmin-db-user-password';
$db_type = 'mysql';

$session_key = 'generate-some-random-text-here';

$dns_hostmaster = 'hostmaster.example.net';
$dns_ns1 = 'ns1.example.net';
$dns_ns2 = 'ns2.example.net';

Database Settings

Variable Default Description Added
$db_host - Database host -
$db_port - Database port -
$db_user - Database username -
$db_pass - Database password -
$db_name - Database name -
$db_type - Database type: mysql, mysqli, pgsql, sqlite mysqli 2.1.5, sqlite 2.1.6
$db_charset - Database charset (e.g., utf8) 2.1.8
$db_file - SQLite database file path 2.1.6
$db_debug false Show executed SQL queries 2.1.6
$pdns_db_name powerdns Separate PowerDNS database name 3.8.0

Security Settings

Variable Default Description Added
$session_key p0w3r4dm1n Session encryption key 2.1.6
$password_encryption bcrypt Password hash: md5, md5salt, bcrypt, argon2i, argon2id 2.1.6
$password_encryption_cost 12 Bcrypt cost parameter 2.1.8
$login_token_validation true Enable login token validation 3.9.0
$global_token_validation true Enable global token validation 3.9.0

Interface Settings

Variable Default Description Added
$iface_lang en_EN Interface language -
$iface_enabled_languages multiple* Enabled languages 3.8.0
$iface_style ignite CSS theme (ignite, spark for dark) -
$iface_templates templates HTML templates directory 2.2.3
$iface_rowamount 10 Maximum rows per page -
$iface_expire 1800 Session timeout (seconds) -
$iface_zonelist_serial false Show zone serial in listing -
$iface_zonelist_template false Show zone template in listing -
$iface_title Poweradmin Application title 2.1.5
$iface_add_reverse_record true Show reverse record checkbox 2.1.7
$iface_add_domain_record true Show A/AAAA record checkbox in reverse view -
$iface_zone_type_default MASTER Default zone type 2.1.9
$iface_zone_comments true Show zone comments 2.2.3
$iface_record_comments false Show record comments 3.9.0
$iface_index cards Display mode (cards or list) 3.2.0
$iface_search_group_records false Group records in search 3.8.0
$iface_edit_show_id true Show record ID in edit form 3.9.0
$iface_edit_add_record_top false Add record form on top 3.9.0
$iface_edit_save_changes_top false Save button on top 3.9.0
$iface_migrations_show false Show migrations menu (experimental) -

* Default enabled languages: cs_CZ, de_DE, en_EN, fr_FR, it_IT, ja_JP, lt_LT, nb_NO, nl_NL, pl_PL, ru_RU, tr_TR, zh_CN

DNS Settings

Variable Default Description Added
$dns_hostmaster - Default hostmaster email (e.g., hostmaster.example.net) -
$dns_ns1 - Primary nameserver -
$dns_ns2 - Secondary nameserver -
$dns_ns3 - Third nameserver -
$dns_ns4 - Fourth nameserver -
$dns_ttl 86400 Default TTL (seconds) -
$dns_soa 28800 7200 604800 86400 SOA: refresh retry expire minimum 2.2.3
$dns_strict_tld_check false Allow only official TLDs -
$dns_top_level_tld_check false Prevent top-level TLD creation 2.1.7
$dns_third_level_check false Prevent third-level domain creation 2.1.7
$dns_txt_auto_quote false Auto-quote TXT records 3.9.2

PowerDNS API Settings

Variable Default Description Added
$pdns_api_url - PowerDNS API endpoint URL 3.7.0
$pdns_api_key - PowerDNS API authentication key 3.7.0

Logging Settings

Variable Default Description Added
$logger_type null Logger type (null, native) 3.9.0
$logger_level info Log level: debug, info, notice, warning, error, critical, alert, emergency 3.9.0
$syslog_use false Enable syslog logging 2.1.6
$syslog_ident poweradmin Syslog program name 2.1.6
$syslog_facility LOG_USER Syslog facility 2.1.6
$dblog_use false Enable database logging 3.2.0

DNSSEC Settings

Variable Default Description Added
$pdnssec_use false Enable DNSSEC support 2.1.7
$pdnssec_debug false Enable DNSSEC debug 2.1.9
$pdnssec_command /usr/bin/pdnsutil Path to pdnsutil (deprecated) 2.1.7

LDAP Settings

Variable Default Description Added
$ldap_use false Enable LDAP authentication 2.1.7
$ldap_debug false Enable LDAP debug 2.1.7
$ldap_uri ldap://domaincontroller.example.com LDAP server URI 2.1.7
$ldap_basedn ou=users,dc=example,dc=com LDAP base DN 2.1.7
$ldap_search_filter - LDAP search filter 2.1.7
$ldap_binddn cn=admin,dc=example,dc=com LDAP bind DN 2.1.7
$ldap_bindpw - LDAP bind password 2.1.7
$ldap_user_attribute uid Username attribute 2.1.7
$ldap_proto 3 LDAP protocol version 2.1.7

LDAP Search Filter Examples

$ldap_search_filter = '(memberOf=cn=powerdns,ou=groups,dc=poweradmin,dc=org)';
$ldap_search_filter = '(objectClass=account)';
$ldap_search_filter = '(objectClass=person)(memberOf=cn=admins,ou=groups,dc=poweradmin,dc=org)';
$ldap_search_filter = '(cn=*admin*)';

Other Settings

Variable Default Description Added
$timezone UTC PHP timezone -
$display_stats false Show memory/execution stats -
$experimental_edit_conflict_resolution last_writer_wins Conflict handling strategy -
$record_comments_sync false Sync A/PTR record comments 3.9.0

Migrating to v4.x

When upgrading to Poweradmin v4.0.0 or later, you can migrate your configuration using:

php config/migrate-config.php

This will convert your legacy inc/config.inc.php to the modern config/settings.php format.

See Basic Configuration for the modern configuration format.