Debian Installation
This guide will help you install Poweradmin on Debian systems. Debian 12 (PHP 8.2) is the recommended target.
Prerequisites
Install PowerDNS
Poweradmin is a frontend for an existing PowerDNS authoritative server - it does not install or run PowerDNS itself. If you do not already have PowerDNS running, install it first and configure a database backend (MySQL/MariaDB, PostgreSQL, or SQLite). See the PowerDNS installation guide for details.
Install PHP and Extensions
Install PHP and the extensions Poweradmin requires:
apt install php php-cli php-intl php-mbstring php-xml php-curl php-fpm
Note:
gettextandtokenizerare built intophp-clion Debian and do not need separate packages.php-fpmis required only if you plan to use Nginx or choose not to usemod_phpwith Apache.
Database Support
Install the appropriate PHP database driver based on your preferred database:
# For MySQL/MariaDB
apt install php-mysql
# For PostgreSQL
apt install php-pgsql
# For SQLite
apt install php-sqlite3
Web Server Configuration
Apache
Install Apache if it is not already present:
apt install apache2 libapache2-mod-php
Then:
- Enable the required Apache modules:
a2enmod rewrite headers
-
Either place Poweradmin in the default webroot (
/var/www/html/) or create a virtual host configuration. -
Ensure
AllowOverride Allis set in your Apache configuration to allow the.htaccessfile to function properly.
The .htaccess file included with Poweradmin handles URL routing, API support, and security rules automatically.
Nginx Configuration
If you prefer Nginx, use the configuration example provided in the Poweradmin repository. The configuration includes API routing, CORS support, security rules, and clean URL handling.
Version-specific configuration files:
- Poweradmin 4.0.x: Use nginx.conf.example from release/4.0.x
- Poweradmin 4.1.x+: Use nginx.conf.example from master (includes subfolder deployment support)
Save the configuration to /etc/nginx/sites-available/poweradmin and adjust:
server_name- Set to your domain nameroot- Set to your Poweradmin installation pathfastcgi_pass- Adjust PHP-FPM socket path to match your installed PHP version (e.g.,unix:/var/run/php/php8.2-fpm.sockon Debian 12)
Then enable the site:
ln -s /etc/nginx/sites-available/poweradmin /etc/nginx/sites-enabled/
nginx -t # Test the configuration
systemctl reload nginx
Caddy Configuration
For Caddy servers, use the configuration example from the repository:
- Poweradmin 4.0.x: Use Caddyfile.example from release/4.0.x
- Poweradmin 4.1.x+: Use caddy.conf.example from master (includes subfolder deployment support)
Installing Poweradmin
Obtain Poweradmin Source Code
Download the latest release from the stable line (currently the 4.2.x series). Always check the releases page for the most recent version - the example below uses v4.2.3:
VERSION=4.2.3
wget https://github.com/poweradmin/poweradmin/archive/refs/tags/v${VERSION}.zip
unzip v${VERSION}.zip
Or download directly from your browser and transfer the files to your server.
Deploy to Web Server
Move the Poweradmin files to your web server's document root:
cp -r poweradmin-${VERSION}/* /var/www/html/
chown -R www-data:www-data /var/www/html/
Complete the Installation
- Visit http://your-server/install/ in your browser
- Follow the installation steps
- Once installation is complete, remove the
installdirectory for security - Log in with the admin username and password created during installation
Troubleshooting
If you encounter issues:
- Check PHP error logs:
/var/log/apache2/error.logor/var/log/nginx/error.log - Ensure all required PHP extensions are installed and enabled
- Verify file permissions are set correctly for your web server user
- For API issues, ensure CORS headers and Authorization header forwarding are configured (see the example configs)