mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2024-12-28 14:05:41 +00:00
2.3 KiB
2.3 KiB
Installing PowerDNS-Admin on Ubuntu or Debian based systems
First setup your database accordingly: Database Setup
Install required packages:
Install required packages for building python libraries from requirements.txt file
sudo apt install -y python3-dev git libsasl2-dev libldap2-dev libssl-dev libxml2-dev libxslt1-dev libxmlsec1-dev libffi-dev pkg-config apt-transport-https virtualenv build-essential curl
Install NodeJs
curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt install -y nodejs
Install yarn to build asset files
sudo curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update -y
sudo apt install -y yarn
Checkout source code and create virtualenv
Note: Please adjust /opt/web/powerdns-admin
to your local web application directory
git clone https://github.com/PowerDNS-Admin/PowerDNS-Admin.git /opt/web/powerdns-admin
cd /opt/web/powerdns-admin
python3 -mvenv ./venv
Activate your python3 environment and install libraries:
source ./venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
Running PowerDNS-Admin
Create PowerDNS-Admin config file and make the changes necessary for your use case. Make sure to change SECRET_KEY
to a long random string that you generated yourself (see Flask docs), do not use the pre-defined one. E.g.:
cp /opt/web/powerdns-admin/configs/development.py /opt/web/powerdns-admin/configs/production.py
vim /opt/web/powerdns-admin/configs/production.py
export FLASK_CONF=../configs/production.py
Do the DB migration
export FLASK_APP=powerdnsadmin/__init__.py
flask db upgrade
Then generate asset files
yarn install --pure-lockfile
flask assets build
Now you can run PowerDNS-Admin by command
./run.py
This is good for testing, but for production usage, you should use gunicorn or uwsgi. See Running PowerDNS Admin with Systemd, Gunicorn and Nginx for instructions.
From here you can now follow the Getting started guide.