/poweradmin

A web-based control panel for PowerDNS

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

Poweradmin Composer

Poweradmin is a friendly web-based DNS administration tool for PowerDNS server. The interface has full support for most of the features of PowerDNS. It has full support for all zone types ( master, native and slave), for supermasters for automatic provisioning of slave zones, full support for IPv6 and comes with multi-language support.

Disclaimer

This project is not affiliated with PowerDNS.com , Open-Xchange, or any other third parties. It is independently funded and maintained. If this project does not meet your needs, please check out these other options.

Requirements

  • PHP 8.1
  • PHP intl extension
  • PHP gettext extension
  • PHP openssl extension
  • PHP filter extension
  • PHP tokenizer extension
  • PHP pdo extension
  • PHP pdo-mysql, pdo-pgsql or pdo-sqlite extension
  • PHP ldap extension (optional)
  • MySQL 5.7.x/8.x, MariaDB, PostgreSQL or SQLite database
  • PowerDNS authoritative server 4.0.0+

Tested on

Poweradmin PHP PowerDNS MariaDB MySQL PostgreSQL SQLite
3.8.x 8.1.28 4.5.5 10.11.8 - 16.3 3.45.3
3.7.x 8.1.2 4.5.3 11.1.2 8.2.0 16.0 3.40.1
3.6.x 8.1.2 4.5.3 11.1.2 8.1.0 16.0 3.40.1
3.5.x 8.1.17 4.5.3 10.11.2 8.0.32 15.2 3.34.1
3.4.x 7.4.3 / 8.1.12 4.2.1 10.10.2 8.0.31 15.1 3.34.1

Installation

Install the following dependencies:

On Debian based Systems:

apt install php-intl

For MySQL/MariaDB
apt install php-mysqlnd

For PostgreSQL
apt install php-pgsql

For SQLite
apt install php-sqlite3

On RHEL based Systems:

yum install -y php-intl

For MySQL/MariaDB
yum install -y php-mysqlnd

For PostgreSQL
yum install -y php-pgsql

Download the project files

  • Via Git:
    • Clone the repository: git clone https://github.com/poweradmin/poweradmin.git
    • Select latest tag (for example v3.7.0) or skip this if you want to run from master: git checkout tags/v3.7.0
  • Via releases:

Go to the installed system in your browser

  • Visit http(s)://URL/install/ and follow the installation steps
  • Once the installation is complete, remove the install folder
  • Point your browser to: http(s)://URL
  • Log in using the credentials created during setup

Troubleshooting

Whenever you experience a blank page or other weird behavior, check your http server logs for PHP errors. Alternatively, you can add a code block with error output to the browser (for instance, index.php if it fails):

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Screenshots

Log in

The login screen

Zone list

List of zones