ZoneControl is a Python Django application and is provided by PowerDNS in two different formats:
RPM package (for RedHat Enterprise Linux, CentOS, etc.)
DEB package (For Debian, Ubuntu, etc.)
These packages contain a Python Virtual Environment (virtualenv) with all required Python dependencies.
As ZoneControl comes bundled with its dependencies, the only requirement of the target system is a Python 3.4 or newer installation.
Installation using Ansible¶
PowerDNS will provide an Ansible role to install ZoneControl and set up an initial user.
This role comes with a
README file that describes all variables for the role.
This installation method is highly recommended over manual installations.
Installation on RPM-based Distributions¶
RedHat Enterprise Linux and CentOS, both version 6 and 7, provide Python 3.4 through Extra Packages for Enterprise Linux (EPEL).
To ensure this is installed as a dependency for ZoneControl, install the
yum install epel-release
Should this installation fail, please refer to the EPEL website mentioned above.
If PowerDNS provided a repository to use, add its configuration to
[pdns-zonecontrol] baseurl = $URL_PROVIDED gpgcheck = 1 gpgkey = $URL_TO_PUBLICKEY_PROVIDED name = PowerDNS ZoneControl Repository priority = 90
And install the package:
yum install zonecontrol
If only the RPM file was supplied, install it through rpm:
rpm -iv zonecontrol-$VERSION.rpm
Installation on Debian-based Distributions¶
On Debian-based operating systems, the provided Python 3 is new enough to not require external repositories.
If a repository for ZoneControl is provided add the repository to
/etc/apt/sources.d/zonecontrol and install ZoneControl:
apt-get update && apt-get install zonecontrol
I only a .deb file is provided, install it:
dpkg -i zonecontrol_$VERSION.deb
After the initial installation, ZoneControl needs to be configured. See the Configuration section on how to configure.
After configuration, the database needs to be populated, run:
Now create a superuser (if required):