PDNS Gui is a web-based graphical user interface for the PowerDNS DNS server. In this tutorial, we will go through the process of installing PDNS Gui on Arch Linux.
Before we begin, you will need the following:
Open the terminal of your Arch Linux computer.
Install the required dependencies:
sudo pacman -S python python-pip python-virtualenv uwsgi uwsgi-plugin-python nginx
git clone https://github.com/odoucet/pdns-gui.git
cd pdns-gui
virtualenv -p /usr/bin/python3 venv
source venv/bin/activate
pip install -r requirements.txt
cp pdns_gui/settings.py.sample pdns_gui/settings.py
Edit the pdns_gui/settings.py
file to configure the application. For example, you can change the database settings, the host and port on which the application will run, and the secret key.
Migrate the database schema using the following command:
python manage.py migrate
python manage.py collectstatic
deactivate
sudo nano /etc/systemd/system/pdns-gui.service
[Unit]
Description=PDNS Gui
After=network.target
[Service]
User=<your-username>
Group=<your-group>
WorkingDirectory=/path/to/pdns-gui
Environment="PATH=/path/to/pdns-gui/venv/bin"
ExecStart=/usr/bin/uwsgi --ini /path/to/pdns-gui/pdns_gui/uwsgi.ini
Restart=always
[Install]
WantedBy=multi-user.target
Replace <your-username>
and <your-group>
with the username and group of the user who will run the PDNS Gui application.
Replace /path/to/pdns-gui
with the absolute path to the PDNS Gui repository.
Save and close the file.
Reload the systemd daemon:
sudo systemctl daemon-reload
sudo systemctl enable pdns-gui
sudo systemctl start pdns-gui
sudo systemctl status pdns-gui
You should see a message indicating that the PDNS Gui service is active and running.
sudo nano /etc/nginx/sites-available/pdns-gui
server {
listen 80;
server_name example.com; # Replace with your domain name
location / {
proxy_pass http://localhost:8000; # Replace with the same port as in uwsgi.ini file
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Save and close the file.
Create a symbolic link to the Nginx virtual host file in the sites-enabled
directory:
sudo ln -s /etc/nginx/sites-available/pdns-gui /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
http://example.com
(replace with your domain name).Congratulations! You have successfully installed PDNS Gui on Arch Linux. We hope you found this tutorial helpful.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!