From 02b7bda2920d45c726a1d8475ea457b845af5a34 Mon Sep 17 00:00:00 2001 From: David Mc Ken Date: Fri, 9 Dec 2022 12:32:23 -0400 Subject: [PATCH 1/8] Update supported versions of python. --- docs/wiki/install/General.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/wiki/install/General.md b/docs/wiki/install/General.md index 98dfa1f..28184e1 100644 --- a/docs/wiki/install/General.md +++ b/docs/wiki/install/General.md @@ -1,7 +1,18 @@ # General installation - ## Requirements: - -- A linux based system with python 3 or later available. Debian and Red-hat based systems are recommended, others (Arch-based for example) may work but are currently not tested. -- A database for PowerDNS-Admin, if you are using a database for PowerDNS itself this must be separate to that database. \ No newline at end of file +- A linux based system. Others (Arch-based for example) may work but are currently not tested. + - Ubuntu versions tested: + - To fill in + - Red hat versions tested: + - To fill in + - Python versions tested: + - 3.6 + - 3.7 + - 3.8 + - 3.9 + - 3.10 + - 3.11 - Failing due to issue with python3-saml later than 1.12.0 +- A database for PowerDNS-Admin, if you are using a database for PowerDNS itself this must be separate to that database. The currently supported databases are: + - MySQL + - PostgreSQL From 89d0ab12f55e760917d8225203045d56213bedac Mon Sep 17 00:00:00 2001 From: David Mc Ken Date: Mon, 12 Dec 2022 22:06:10 -0400 Subject: [PATCH 2/8] Add general arch doc. --- docs/wiki/install/Architecture.png | Bin 0 -> 8620 bytes docs/wiki/install/General.md | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 docs/wiki/install/Architecture.png diff --git a/docs/wiki/install/Architecture.png b/docs/wiki/install/Architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..04440be3d5f06b5a8379657d914d77e491877fcc GIT binary patch literal 8620 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 JvHG>^{|lzj-_!sA literal 0 HcmV?d00001 diff --git a/docs/wiki/install/General.md b/docs/wiki/install/General.md index 28184e1..a4bbcbc 100644 --- a/docs/wiki/install/General.md +++ b/docs/wiki/install/General.md @@ -1,6 +1,18 @@ # General installation -## Requirements: +## PowerDNS-Admin Architecture + +![PowerDNS-Admin Component Layout](Architecture.png) + +A PowerDNS-Admin installation includes four main components: +- PowerDNS-Admin Database +- PowerDNS-Admin Application Server +- PowerDNS-Admin Frontend Web server +- PowerDNS server that + +All 3 components can be installed on one server or if your installation is large enough or for security reasons can be split across multiple servers. + +## Requirements for PowerDNS-Admin: - A linux based system. Others (Arch-based for example) may work but are currently not tested. - Ubuntu versions tested: - To fill in @@ -16,3 +28,4 @@ - A database for PowerDNS-Admin, if you are using a database for PowerDNS itself this must be separate to that database. The currently supported databases are: - MySQL - PostgreSQL +- A PowerDNS server that PowerDNS-Admin will manage. From 6f450457ef6ba98369f139a24971e4d89ef2ad8b Mon Sep 17 00:00:00 2001 From: David Mc Ken Date: Mon, 12 Dec 2022 22:06:44 -0400 Subject: [PATCH 3/8] Update env docs from legal_envvars --- .../configuration/Environment-variables.md | 56 ++++++++++++++++++- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/docs/wiki/configuration/Environment-variables.md b/docs/wiki/configuration/Environment-variables.md index 7b835e2..3ee84c4 100644 --- a/docs/wiki/configuration/Environment-variables.md +++ b/docs/wiki/configuration/Environment-variables.md @@ -2,8 +2,60 @@ | Variable | Description | Required | Default value | | ---------| ----------- | -------- | ------------- | -| SQLALCHEMY_DATABASE_URI | SQL Alchemy URI to connect to database | N | no default | +| BIND_ADDRESS | +| CSRF_COOKIE_SECURE | +| FILESYSTEM_SESSIONS_ENABLED | +| LDAP_ENABLED | +| LOCAL_DB_ENABLED | +| LOG_LEVEL | +| MAIL_DEBUG | +| MAIL_DEFAULT_SENDER | +| MAIL_PASSWORD | +| MAIL_PORT | +| MAIL_SERVER | +| MAIL_USERNAME | +| MAIL_USE_SSL | +| MAIL_USE_TLS | +| OFFLINE_MODE | +| OIDC_OAUTH_API_URL | | | | +| OIDC_OAUTH_AUTHORIZE_URL | +| OIDC_OAUTH_TOKEN_URL | | | | +| PORT | +| REMOTE_USER_COOKIES | +| REMOTE_USER_LOGOUT_URL | +| SALT | +| SAML_ASSERTION_ENCRYPTED | +| SAML_ATTRIBUTE_ACCOUNT | +| SAML_ATTRIBUTE_ADMIN | +| SAML_ATTRIBUTE_EMAIL | +| SAML_ATTRIBUTE_GIVENNAME | +| SAML_ATTRIBUTE_GROUP | +| SAML_ATTRIBUTE_NAME | +| SAML_ATTRIBUTE_SURNAME | +| SAML_ATTRIBUTE_USERNAME | +| SAML_CERT | +| SAML_DEBUG | +| SAML_ENABLED | +| SAML_GROUP_ADMIN_NAME | +| SAML_GROUP_TO_ACCOUNT_MAPPING | +| SAML_IDP_SSO_BINDING | +| SAML_IDP_ENTITY_ID | +| SAML_KEY | +| SAML_LOGOUT | +| SAML_LOGOUT_URL | +| SAML_METADATA_CACHE_LIFETIME | +| SAML_METADATA_URL | +| SAML_NAMEID_FORMAT | +| SAML_PATH | +| SAML_SIGN_REQUEST | +| SAML_SP_CONTACT_MAIL | +| SAML_SP_CONTACT_NAME | +| SAML_SP_ENTITY_ID | +| SAML_WANT_MESSAGE_SIGNED | | SECRET_KEY | Flask secret key [^1] | Y | no default | - +| SESSION_COOKIE_SECURE | +| SIGNUP_ENABLED | +| SQLALCHEMY_DATABASE_URI | SQL Alchemy URI to connect to database | N | no default | +| SQLALCHEMY_TRACK_MODIFICATIONS | [^1]: Flask secret key (see https://flask.palletsprojects.com/en/1.1.x/config/#SECRET_KEY for how to generate) From cc63d069f68c3e79ca4a6b6bf2e9313b45443aa4 Mon Sep 17 00:00:00 2001 From: David Mc Ken Date: Mon, 12 Dec 2022 22:41:41 -0400 Subject: [PATCH 4/8] Fill in MySQL server installation directions. --- .../database-setup/Setup-MySQL-or-MariaDB.md | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md b/docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md index 00586a5..aaa4eaa 100644 --- a/docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md +++ b/docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md @@ -2,28 +2,35 @@ This guide will show you how to prepare a MySQL or MariaDB database for PowerDNS-Admin. -We assume the database is installed per your platform's directions (apt, yum, etc). +Directions to do this can be found below: +- MariaDB: + - https://mariadb.com/kb/en/getting-installing-and-upgrading-mariadb/ + - https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04 +- MySQL: + - https://dev.mysql.com/downloads/mysql/ + - https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04 + +We assume the database is installed per your platform's directions (apt, yum, etc). The following directions assume a default configuration and for productions setups `mysql_secure_installation` has been run. ## Setup database: -Connect to the database (Usually using `mysql -u root -p` - then enter your MySQL/MariaDB root users password if applicable), then enter the following: +Connect to the database (Usually using `mysql -u root -p` if a password has been set on the root database user or `sudo mysql` if not), then enter the following: ``` CREATE DATABASE `powerdnsadmin` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL PRIVILEGES ON `powerdnsadmin`.* TO 'pdnsadminuser'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD_HERE'; FLUSH PRIVILEGES; -quit ``` - If your database server is located on a different machine then change 'localhost' to '%' - Replace YOUR_PASSWORD_HERE with a secure password. +Once there are no errors you can type `quit` in the mysql shell to exit from it. + ## Install required packages: ### Red-hat based systems: ``` yum install MariaDB-shared mariadb-devel mysql-community-devel ``` -If you use MariaDB ( from [MariaDB repositories](https://mariadb.com/resources/blog/installing-mariadb-10-on-centos-7-rhel-7/) ) - ### Debian based systems: ``` apt install libmysqlclient-dev @@ -34,7 +41,6 @@ apt install libmysqlclient-dev pip3 install mysqlclient==2.0.1 ``` - ## Known issues: Problem: If you plan to manage large zones, you may encounter some issues while applying changes. This is due to PowerDNS-Admin trying to insert the entire modified zone into the column history.detail. @@ -42,7 +48,9 @@ Problem: If you plan to manage large zones, you may encounter some issues while Using MySQL/MariaDB, this column is created by default as TEXT and thus limited to 65,535 characters. Solution: Convert the column to MEDIUMTEXT: -``` -USE powerdnsadmin; -ALTER TABLE history MODIFY detail MEDIUMTEXT; -``` +1. Connect to the database shell as described in the setup database section: +2. Execute the following commands: + ``` + USE powerdnsadmin; + ALTER TABLE history MODIFY detail MEDIUMTEXT; + ``` From 94ce26eaad94ce86faf03f6a350332a50138461b Mon Sep 17 00:00:00 2001 From: David Mc Ken Date: Mon, 12 Dec 2022 22:49:51 -0400 Subject: [PATCH 5/8] Minor cleanup of MySQL docs. --- docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md b/docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md index aaa4eaa..5242b69 100644 --- a/docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md +++ b/docs/wiki/database-setup/Setup-MySQL-or-MariaDB.md @@ -2,7 +2,7 @@ This guide will show you how to prepare a MySQL or MariaDB database for PowerDNS-Admin. -Directions to do this can be found below: +We assume the database is installed per your platform's directions (apt, yum, etc). Directions to do this can be found below: - MariaDB: - https://mariadb.com/kb/en/getting-installing-and-upgrading-mariadb/ - https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04 @@ -10,7 +10,7 @@ Directions to do this can be found below: - https://dev.mysql.com/downloads/mysql/ - https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04 -We assume the database is installed per your platform's directions (apt, yum, etc). The following directions assume a default configuration and for productions setups `mysql_secure_installation` has been run. +The following directions assume a default configuration and for productions setups `mysql_secure_installation` has been run. ## Setup database: From dcbc4c3f7e47702e01d2a758a163aa2187e8340d Mon Sep 17 00:00:00 2001 From: David Mc Ken Date: Mon, 12 Dec 2022 22:50:26 -0400 Subject: [PATCH 6/8] Add PostgreSQL install documentation. --- docs/wiki/database-setup/Setup-PostgreSQL.md | 38 ++++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/docs/wiki/database-setup/Setup-PostgreSQL.md b/docs/wiki/database-setup/Setup-PostgreSQL.md index 74af46f..a6e3364 100644 --- a/docs/wiki/database-setup/Setup-PostgreSQL.md +++ b/docs/wiki/database-setup/Setup-PostgreSQL.md @@ -1,8 +1,15 @@ # Setup Postgres database for PowerDNS-Admin -We assume you already have a postgres database software installed for your platform. +This guide will show you how to prepare a PostgreSQL database for PowerDNS-Admin. -### Create database +We assume the database is installed per your platform's directions (apt, yum, etc). Directions to do this can be found below: + +- https://www.postgresql.org/download/ +- https://www.digitalocean.com/community/tutorials/how-to-install-postgresql-on-ubuntu-22-04-quickstart + +We assume a default configuration and only the postgres user existing. + +## Setup database The below will create a database called powerdnsadmindb and a user of powerdnsadmin. ``` @@ -42,19 +49,6 @@ On debian based systems these files are located in: /etc/postgresql//main/ ``` -## Docker -TODO: Setup a local Docker postgres database ready to go (should probably move to the top). -``` -docker run --name pdnsadmin-test -e BIND_ADDRESS=0.0.0.0 --e SECRET_KEY='a-very-secret-key' --e PORT='9191' --e SQLA_DB_USER='powerdns_admin_user' --e SQLA_DB_PASSWORD='exceptionallysecure' --e SQLA_DB_HOST='192.168.0.100' --e SQLA_DB_NAME='powerdns_admin_test' --v /data/node_modules:/var/www/powerdns-admin/node_modules -d -p 9191:9191 ixpict/powerdns-admin-pgsql:latest -``` - ## Install required packages: ### Red-hat based systems: ``` @@ -74,3 +68,17 @@ pip3 install psycopg2 ## Known Issues: ** To fill in ** + + +## Docker (TODO: to move to docker docs) +TODO: Setup a local Docker postgres database ready to go (should probably move to the top). +``` +docker run --name pdnsadmin-test -e BIND_ADDRESS=0.0.0.0 +-e SECRET_KEY='a-very-secret-key' +-e PORT='9191' +-e SQLA_DB_USER='powerdns_admin_user' +-e SQLA_DB_PASSWORD='exceptionallysecure' +-e SQLA_DB_HOST='192.168.0.100' +-e SQLA_DB_NAME='powerdns_admin_test' +-v /data/node_modules:/var/www/powerdns-admin/node_modules -d -p 9191:9191 ixpict/powerdns-admin-pgsql:latest +``` From b0159beaec2d5c764e64736542228aff966f1389 Mon Sep 17 00:00:00 2001 From: David Mc Ken Date: Mon, 12 Dec 2022 23:12:03 -0400 Subject: [PATCH 7/8] Add SQLite as a supported database. --- docs/wiki/install/General.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/wiki/install/General.md b/docs/wiki/install/General.md index a4bbcbc..f0823c8 100644 --- a/docs/wiki/install/General.md +++ b/docs/wiki/install/General.md @@ -28,4 +28,5 @@ All 3 components can be installed on one server or if your installation is large - A database for PowerDNS-Admin, if you are using a database for PowerDNS itself this must be separate to that database. The currently supported databases are: - MySQL - PostgreSQL + - SQLite - A PowerDNS server that PowerDNS-Admin will manage. From 4d529ec1d6fb1dbe99105f668d960eec5fd53b1f Mon Sep 17 00:00:00 2001 From: David Mc Ken Date: Tue, 13 Dec 2022 02:29:05 -0400 Subject: [PATCH 8/8] Linted the main menu. --- docs/wiki/README.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/wiki/README.md b/docs/wiki/README.md index 8a002bd..62f1bf1 100644 --- a/docs/wiki/README.md +++ b/docs/wiki/README.md @@ -1,10 +1,12 @@ -# Welcome to the PowerDNS-Admin wiki! +# PowerDNS-Admin wiki + +## Database Setup guides -## Database Setup guides: - [MySQL / MariaDB](database-setup/Setup-MySQL-or-MariaDB.md) - [PostgreSQL](database-setup/Setup-PostgreSQL.md) -## Installation guides: +## Installation guides + - [General (Read this first)](install/General.md) - BSD: - [Install on FreeBSD 12.1-RELEASE](install/Running-on-FreeBSD.md) @@ -17,16 +19,15 @@ - [Install on Fedora 23](install/Running-PowerDNS-Admin-on-Fedora-23.md) - [Install on Fedora 30](install/Running-PowerDNS-Admin-on-Fedora-30.md) +### Post install Setup - - -### Post install Setup: - [Environment Variables](configuration/Environment-variables.md) - [Getting started](configuration/Getting-started.md) - SystemD: - [Running PowerDNS-Admin as a service using Systemd](install/Running-PowerDNS-Admin-as-a-service-(Systemd).md) -### Web Server configuration: +### Web Server configuration + - [Supervisord](web-server/Supervisord-example.md) - [Systemd](web-server/Systemd-example.md) - [Systemd + Gunicorn + Nginx](web-server/Running-PowerDNS-Admin-with-Systemd-Gunicorn-and-Nginx.md) @@ -34,10 +35,12 @@ - [uWSGI](web-server/uWSGI-example.md) - [WSGI-Apache](web-server/WSGI-Apache-example.md) -## Using PowerDNS-Admin: +## Using PowerDNS-Admin + - Setting up a domain - Adding a record - ## Feature usage + - [DynDNS2](features/DynDNS2.md) \ No newline at end of file