Merge pull request #1299 from dmcken/setup-new-wiki-docs-1

Wiki content updated to work from project file structure.
This commit is contained in:
Matt Scott 2022-12-08 12:52:40 -05:00 committed by GitHub
commit 0bc7f2765b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 43 additions and 34 deletions

View File

@ -1,22 +0,0 @@
Welcome to the PowerDNS-Admin wiki!
## Preparation guides
- [Prepare MySQL or MariaDB Database for PowerDNS-Admin](Prepare-MySQL-or-MariaDB-Database-for-PowerDNS-Admin)
- [Using PowerDNS-Admin with PostgreSQL](Using-PowerDNS-Admin-with-PostgreSQL)
## Installation guides
- [Running PowerDNS Admin on Ubuntu or Debian](Running-PowerDNS-Admin-on-Ubuntu-or-Debian)
- [Running PowerDNS-Admin in Centos 7](Running-PowerDNS-Admin-on-Centos-7)
- [Running PowerDNS-Admin in Fedora 30](Running-PowerDNS-Admin-on-Fedora-30)
- [Running PowerDNS-Admin on FreeBSD 12.1-RELEASE](Running-on-FreeBSD)
## Web Server configuration
- [Supervisord](Supervisord-example)
- [Systemd](Systemd-example)
- [Systemd + Gunicorn + Nginx](Running-PowerDNS-Admin-with-Systemd,-Gunicorn--and--Nginx)
- [Systemd + Gunicorn + Apache](Running-PowerDNS-Admin-with-Systemd,-Gunicorn-and-Apache)
- [uWSGI](uWSGI-example)
- [WSGI-Apache](WSGI-Apache-example)
## Feature usage
- [DynDNS2](https://github.com/ngoduykhanh/PowerDNS-Admin/wiki/DynDNS2)

View File

@ -1 +0,0 @@
Please refer to CentOS guide: https://github.com/ngoduykhanh/PowerDNS-Admin/wiki/Running-PowerDNS-Admin-on-Centos-7

23
docs/wiki/README.md Normal file
View File

@ -0,0 +1,23 @@
# Welcome to the PowerDNS-Admin wiki!
## Preparation guides
- [Prepare MySQL or MariaDB Database for PowerDNS-Admin](preparation/Prepare-MySQL-or-MariaDB-Database-for-PowerDNS-Admin.md)
- [Using PowerDNS-Admin with PostgreSQL](preparation/Using-PowerDNS-Admin-with-PostgreSQL.md)
## Installation guides
- [Running PowerDNS Admin on Ubuntu or Debian](install/Running-PowerDNS-Admin-on-Ubuntu-or-Debian.md)
- [Running PowerDNS-Admin on Centos 7](install/Running-PowerDNS-Admin-on-Centos-7.md)
- [Running PowerDNS-Admin on Fedora 23](install/Running-PowerDNS-Admin-on-Fedora-23.md)
- [Running PowerDNS-Admin on Fedora 30](install/Running-PowerDNS-Admin-on-Fedora-30.md)
- [Running PowerDNS-Admin on FreeBSD 12.1-RELEASE](install/Running-on-FreeBSD.md)
## 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)
- [Systemd + Gunicorn + Apache](web-server/Running-PowerDNS-Admin-with-Systemd,-Gunicorn-and-Apache.md)
- [uWSGI](web-server/uWSGI-example.md)
- [WSGI-Apache](web-server/WSGI-Apache-example.md)
## Feature usage
- [DynDNS2](features/DynDNS2.md)

View File

@ -1,6 +1,6 @@
*** ***
**WARNING** **WARNING**
This just uses the development server for testing purposes. For production environments you should probably go with a more robust solution, like [gunicorn](https://github.com/ngoduykhanh/PowerDNS-Admin/wiki/Running-PowerDNS-Admin-with-Systemd,-Gunicorn--and--Nginx) or a WSGI server. This just uses the development server for testing purposes. For production environments you should probably go with a more robust solution, like [gunicorn](web-server/Running-PowerDNS-Admin-with-Systemd,-Gunicorn--and--Nginx.md) or a WSGI server.
*** ***
### Following example shows a systemd unit file that can run PowerDNS-Admin ### Following example shows a systemd unit file that can run PowerDNS-Admin

View File

@ -3,6 +3,7 @@ IPv4: http://user:pass@yournameserver.yoursite.tld/nic/update?hostname=record.do
IPv6: http://user:pass@yournameserver.yoursite.tld/nic/update?hostname=record.domain.tld&myip=::1 IPv6: http://user:pass@yournameserver.yoursite.tld/nic/update?hostname=record.domain.tld&myip=::1
Multiple IPs: http://user:pass@yournameserver.yoursite.tld/nic/update?hostname=record.domain.tld&myip=127.0.0.1,127.0.0.2,::1,::2 Multiple IPs: http://user:pass@yournameserver.yoursite.tld/nic/update?hostname=record.domain.tld&myip=127.0.0.1,127.0.0.2,::1,::2
Notes:
- user needs to be a LOCAL user, not LDAP etc - user needs to be a LOCAL user, not LDAP etc
- user must have already logged-in - user must have already logged-in
- user needs to be added to Domain Access Control list of domain.tld - admin status (manage all) does not suffice - user needs to be added to Domain Access Control list of domain.tld - admin status (manage all) does not suffice

View File

@ -57,7 +57,7 @@ yum install yarn
NOTE: Please adjust `/opt/web/powerdns-admin` to your local web application directory NOTE: Please adjust `/opt/web/powerdns-admin` to your local web application directory
``` ```
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git /opt/web/powerdns-admin git clone https://github.com/PowerDNS-Admin/PowerDNS-Admin.git /opt/web/powerdns-admin
cd /opt/web/powerdns-admin cd /opt/web/powerdns-admin
virtualenv -p python3 flask virtualenv -p python3 flask
``` ```

View File

@ -0,0 +1 @@
Please refer to CentOS guide: [Running-PowerDNS-Admin-on-Centos-7](Running-PowerDNS-Admin-on-Centos-7.md)

View File

@ -36,7 +36,7 @@ npm install yarn -g
## Clone the PowerDNS-Admin repository to the installation path: ## Clone the PowerDNS-Admin repository to the installation path:
```bash ```bash
cd /opt/web/ cd /opt/web/
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git powerdns-admin git clone https://github.com/PowerDNS-Admin/PowerDNS-Admin.git powerdns-admin
``` ```
**Prepare the Virtual Environment:** **Prepare the Virtual Environment:**
@ -80,4 +80,4 @@ Open your web browser and access to `http://localhost:9191` to visit PowerDNS-Ad
At the first time you login into the PDA UI, you will be redirected to setting page to configure the PDNS API information. At the first time you login into the PDA UI, you will be redirected to setting page to configure the PDNS API information.
_**Note:**_ For production environment, i recommend to run PowerDNS-Admin with WSGI over Apache instead of flask's built-in web server... _**Note:**_ For production environment, i recommend to run PowerDNS-Admin with WSGI over Apache instead of flask's built-in web server...
Take a look at [WSGI Apache Example](https://github.com/ngoduykhanh/PowerDNS-Admin/wiki/WSGI-Apache-example#fedora) WIKI page to see how to configure it. Take a look at [WSGI Apache Example](web-server/WSGI-Apache-example#fedora) WIKI page to see how to configure it.

View File

@ -44,7 +44,7 @@ sudo apt install -y yarn
_**Note:**_ Please adjust `/opt/web/powerdns-admin` to your local web application directory _**Note:**_ Please adjust `/opt/web/powerdns-admin` to your local web application directory
```bash ```bash
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git /opt/web/powerdns-admin git clone https://github.com/PowerDNS-Admin/PowerDNS-Admin.git /opt/web/powerdns-admin
cd /opt/web/powerdns-admin cd /opt/web/powerdns-admin
python3 -mvenv ./venv python3 -mvenv ./venv
``` ```
@ -91,4 +91,4 @@ Now you can run PowerDNS-Admin by command
Open your web browser and go to `http://localhost:9191` to visit PowerDNS-Admin web interface. Register a user. The first user will be in the Administrator role. Open your web browser and go to `http://localhost:9191` to visit PowerDNS-Admin web interface. Register a user. The first user will be in the Administrator role.
This is good for testing, but for production usage, you should use gunicorn or uwsgi. See [Running PowerDNS Admin with Systemd, Gunicorn and Nginx](https://github.com/ngoduykhanh/PowerDNS-Admin/wiki/Running-PowerDNS-Admin-with-Systemd,-Gunicorn--and--Nginx) for instructions. This is good for testing, but for production usage, you should use gunicorn or uwsgi. See [Running PowerDNS Admin with Systemd, Gunicorn and Nginx](web-server/Running-PowerDNS-Admin-with-Systemd,-Gunicorn--and--Nginx) for instructions.

View File

@ -17,7 +17,7 @@ sudo pkg install libxml2 libxslt pkgconf py37-xmlsec py37-cffi py37-ldap
_**Note:**_ Please adjust `/opt/powerdns-admin` to your local web application directory _**Note:**_ Please adjust `/opt/powerdns-admin` to your local web application directory
```bash ```bash
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git /opt/powerdns-admin git clone https://github.com/PowerDNS-Admin/PowerDNS-Admin.git /opt/powerdns-admin
cd /opt/powerdns-admin cd /opt/powerdns-admin
``` ```
@ -97,6 +97,6 @@ Open your web browser and go to `http://localhost:9191` to visit PowerDNS-Admin
### Running at startup ### Running at startup
This is good for testing, but for production usage, you should use gunicorn or uwsgi. See [Running PowerDNS Admin with Systemd, Gunicorn and Nginx](https://github.com/ngoduykhanh/PowerDNS-Admin/wiki/Running-PowerDNS-Admin-with-Systemd,-Gunicorn--and--Nginx) for instructions. This is good for testing, but for production usage, you should use gunicorn or uwsgi. See [Running PowerDNS Admin with Systemd, Gunicorn and Nginx](../web-server/Running-PowerDNS-Admin-with-Systemd,-Gunicorn--and--Nginx.md) for instructions.
The right approach long-term is to create a startup script in `/usr/local/etc/rc.d` and enable it through `/etc/rc.conf`. The right approach long-term is to create a startup script in `/usr/local/etc/rc.d` and enable it through `/etc/rc.conf`.

View File

@ -1,11 +1,18 @@
# uWSGI Example
This guide will show you how to run PowerDNS-Admin via uWSGI and nginx. This guide was written using Debian 8 with the following software versions: This guide will show you how to run PowerDNS-Admin via uWSGI and nginx. This guide was written using Debian 8 with the following software versions:
- nginx 1.6.2 - nginx 1.6.2
- uwsgi 2.0.7-debian - uwsgi 2.0.7-debian
- python 2.7.9 - python 2.7.9
`sudo apt-get install uwsgi uwsgi-plugin-python nginx` ## Software installation:
### Step-by-step instructions 1. apt install the following packages:
- `uwsgi`
- `uwsgi-plugin-python`
- `nginx`
## Step-by-step instructions
1. Create a uWSGI .ini in `/etc/uwsgi/apps-enabled` with the following contents, making sure to replace the chdir, pythonpath and virtualenv directories with where you've installed PowerDNS-Admin: 1. Create a uWSGI .ini in `/etc/uwsgi/apps-enabled` with the following contents, making sure to replace the chdir, pythonpath and virtualenv directories with where you've installed PowerDNS-Admin:
```ini ```ini
[uwsgi] [uwsgi]