PowerDNS is a powerful and flexible open-source DNS server, while PowerAdmin is a web-based front-end for managing PowerDNS zones and records. In this guide, we will walk you through the installation of both PowerDNS and PowerAdmin on Rocky Linux. Whether you're deploying this solution on a local server or using a Windows VPS UK, this guide will help you set up your DNS server with an easy-to-use web interface.
Step 1: Update Your System
Before installing any new software, ensure your system is updated. Run the following commands to update and upgrade your Rocky Linux system:
sudo dnf update -y && sudo dnf upgrade -y
This ensures your system has the latest security patches and updates, which is essential whether you're deploying PowerDNS on a local machine or on a VPS Windows Servers platform.
Step 2: Install MariaDB
PowerDNS requires a database to store its zone and record data. We will use MariaDB for this setup. Install MariaDB using the following commands:
sudo dnf install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
Secure the MariaDB installation by running the following:
sudo mysql_secure_installation
Follow the prompts to secure your installation, including setting a root password and removing anonymous users.
Step 3: Create a Database for PowerDNS
Once MariaDB is installed, create a database and user for PowerDNS. Log in to the MariaDB shell:
sudo mysql -u root -p
Then, run the following commands to create a database and user for PowerDNS:
CREATE DATABASE powerdns;
CREATE USER 'powerdns_user'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON powerdns.* TO 'powerdns_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
This sets up the database for PowerDNS, preparing it for installation, whether you're hosting locally or on a Windows VPS hosting UK.
Step 4: Install PowerDNS
PowerDNS can be installed using the official repositories. Run the following commands to install PowerDNS and the MySQL backend:
sudo dnf install pdns pdns-backend-mysql -y
After installation, configure PowerDNS to use the MySQL backend by editing the PowerDNS configuration file:
sudo nano /etc/pdns/pdns.conf
Add or update the following lines to connect PowerDNS to your MariaDB database:
launch=gmysql
gmysql-host=localhost
gmysql-user=powerdns_user
gmysql-password=yourpassword
gmysql-dbname=powerdns
Save the file and restart PowerDNS:
sudo systemctl restart pdns
sudo systemctl enable pdns
PowerDNS is now installed and connected to the database. This setup will work for both local environments and cloud-based servers such as a Windows VPS Italy.
Step 5: Install PowerAdmin
PowerAdmin is a web-based tool for managing PowerDNS. Install the necessary dependencies for PowerAdmin:
sudo dnf install httpd php php-mysqlnd php-mbstring php-xml -y
Download PowerAdmin from GitHub:
cd /var/www/html
sudo git clone https://github.com/poweradmin/poweradmin.git
Set the correct permissions for the PowerAdmin directory:
sudo chown -R apache:apache /var/www/html/poweradmin
Restart Apache to apply the changes:
sudo systemctl restart httpd
Step 6: Configure PowerAdmin
Navigate to http://your-server-ip/poweradmin/install/
in your web browser to complete the PowerAdmin installation. Enter the database details you created for PowerDNS, and follow the prompts to finish the setup.
After completing the setup, you will have access to the PowerAdmin web interface to manage your PowerDNS server, whether it is hosted locally or on a Windows VPS hosting UK.
Step 7: Secure PowerAdmin with Let's Encrypt SSL
To secure your PowerAdmin instance, you can use Let's Encrypt to obtain a free SSL certificate. Install Certbot:
sudo dnf install certbot python3-certbot-apache
Run Certbot to obtain and configure the SSL certificate for your domain:
sudo certbot --apache -d your-domain.com
Certbot will automatically configure Apache to use SSL, ensuring that your PowerAdmin interface is securely accessible, whether locally or on a Windows Virtual Private Server hosting environment.