1. What is PowerDNS Manager?
PowerDNS Manager is a WHMCS module that connects your billing system to PowerDNS servers. It automates DNS management for your customers with full DNSSEC support.
Key features:
- Creates and deletes DNS zones automatically
- DNSSEC with one-click activation and key management
- Zone records importer for easy migrations
- Lets customers manage their DNS records
- Works with these record types: A, AAAA, CNAME, MX, TXT, SRV, CAA, NS, TLSA
- Updates SOA serials automatically
- Protects nameserver records from accidental deletion
- Fully translated in 8 languages
Need to set up PowerDNS first? See our PowerDNS installation guide with DNSSEC.
2. Features
Automation
- Creates zones when domains are registered
- Links to existing zones instead of creating duplicates
- Deletes zones when services are terminated (optional)
- Works with master-slave DNS setups
- DNSSEC key management with automatic DS record generation
Supported DNS Records
- A, AAAA, CNAME, MX, TXT, SRV, CAA, NS, TLSA, SOA
DNSSEC Features
- On-demand DNSSEC status checking (click-to-check)
- One-click DNSSEC activation
- Automatic key generation and management
- Real-time DS records for registrar integration
- DNSSEC validation status display
- Support for all standard algorithms
- Browser caching for check results
Zone Import
- Import from BIND/RFC1035 format
- Three import modes: merge, replace, append
- Validation before import
- Preserves existing records when merging
User Interface
- Admin panel for managing all zones
- Client area for customers to manage their own DNS
- DNSSEC status indicators
- Search and filter functions
- Zone export functionality
- Instant zone listing (no blocking operations)
Languages
- Client area fully translated in 8 languages
- Included: English, Dutch, French, German, Italian, Portuguese (including Brazilian Portuguese), Russian, Spanish
- Easy to add more languages
WHMCS Integration
- Works as an addon module (for domains)
- Works as a server module (for DNS hosting products)
- Logs all actions
- Automated lifecycle hooks
Security
- Encrypts API keys in database
- Blocks direct file access
- Permission-based access control
- Protected default records
- Enhanced logging security with data sanitization
3. Requirements
- WHMCS 8.9 or newer
- PowerDNS 4.x with API enabled
- PHP 7.4+ with curl extension
- Network access from WHMCS to PowerDNS API (port 8081)
- For DNSSEC:
gmysql-dnssec=yesin/etc/powerdns/pdns.conf - Valid PowerDNS Manager license
First time using PowerDNS? Follow our server setup guide with DNSSEC configuration before installing this module.
4. PowerDNS Server Configuration
Your PowerDNS configuration file (/etc/powerdns/pdns.conf) needs these settings:
launch=gmysql gmysql-host=localhost gmysql-user=pdnsuser gmysql-dbname=pdnsdb gmysql-password=your-mysql-password api=yes api-key=your-api-key webserver=yes webserver-port=8081 webserver-address=0.0.0.0 webserver-allow-from=127.0.0.1,::1,your-whmcs-server-ip,nameserver-ip master=yes slave=no allow-axfr-ips=secondary-server-ip also-notify=secondary-server-ip gmysql-dnssec=yes
Important: Include your WHMCS server IP in webserver-allow-from. Without this, you'll get authorization errors.
After making changes, restart PowerDNS:
systemctl restart pdns
5. Installation
Step 1: Upload Files
Upload these folders to your WHMCS installation:
/modules
├─ addons
│ └─ powerdns_manager
└─ servers
└─ powerdns_manager
Important: Don't rename the folders.
Step 2: Activate the Addon
- Go to System Settings → Addon Modules
- Find "PowerDNS Manager" and click Activate
- Click Configure
- Enter your license key and PowerDNS API details:
- PowerDNS API URL:
http://your-nameserver.com:8081/api/v1 - API Key: Must match the key in
pdns.conf - Server Name: Usually
localhost - Zone Type: Choose between
Native(default) orMaster
- PowerDNS API URL:
- Configure DNSSEC and other settings
- Click Save Changes
Step 3: Set Permissions
Choose which admin groups can use the module.
Step 4: Set Up Server Module (Optional)
To sell DNS hosting as a product:
- Go to System Settings → Servers
- Add a new server
- Choose PowerDNS Manager
- Enter the same API details
Step 5: Test API Connection
From your WHMCS server, test the API:
curl -H "X-API-Key: your-api-key" http://your-nameserver.com:8081/api/v1/servers
You should see a JSON response with server information.
How It Works
- New domain registered: Creates DNS zone automatically
- Zone already exists: Links to existing zone
- Domain suspended: Unlinks from WHMCS (zone stays on server)
- Domain terminated: Can delete zone (based on your settings)
- DNSSEC enabled: Generates keys and provides DS records instantly
Using our PowerDNS setup? The zone monitoring script handles SOA and NS records automatically. Comment out those lines in the fix_zone_records function.
6. Configuration Options
- License Key
- Your ArkHost license
- PowerDNS API URL
- Example:
http://ns1.example.com:8081/api/v1 - API Key
- From your PowerDNS
pdns.conffile - Server Name
- Usually
localhost(must match PowerDNS server identifier) - Zone Type
- Choose between
Native(default) orMasterfor new zones - Primary/Secondary/Third/Fourth/Fifth NS
- Your nameservers (customers can't change the first two)
- Default TTL
- Time to live for DNS records (in seconds)
- Auto-increment SOA Serial
- Updates serial number when records change
- DNSSEC Support
- Enable DNSSEC features for zones
- Clear Data on Deactivation
- Removes WHMCS data when disabling the module
- Show Nameservers in Client Area
- Shows NS info to customers
- Public DNS Server
- DNS server for checking propagation (like 1.1.1.1)
- Access Control
- Which admin groups can use this module
7. Creating a DNS Hosting Product
- Go to Products/Services
- Create a new product
- Under Module Settings, choose PowerDNS Manager
- Save the product
When customers order this product, it creates a DNS zone automatically.
8. Daily Use
Admin Features
- View and manage all DNS zones
- Link existing zones to WHMCS domains
- Edit any DNS record
- Import zones from BIND format
- Export zones to text files
- Manage DNSSEC for all zones
- Click-to-check DNSSEC status (on-demand)
- Synchronize all zones button
- Protected records show a padlock icon
Customer Features
- Access DNS management from domain details page
- Add, edit, delete their DNS records
- Import zone records from external DNS
- Enable/disable DNSSEC with one click
- View DS records for registrar
- Check DNSSEC status on-demand
- Can't modify protected nameserver records
- Check DNS propagation status
- Export their zone data
- All features available in 8 languages
DNSSEC Management
- Enable DNSSEC: Click "Enable DNSSEC" button in client area
- View Keys: Keys are generated automatically
- DS Records: Copy DS records to domain registrar
- Validation: Click to check DNSSEC validation status on-demand
- Performance: Status checks only run when clicked, keeping page load fast
Zone Management
The PowerDNS Manager will:
- Only display zones that are associated with active domains/services in WHMCS
- Allow manual zone creation from the module admin page
- Support auto-association of existing zones with matching WHMCS domains
- Load zone listings instantly without blocking operations
9. Best Practices
- Add your WHMCS server IP to PowerDNS whitelist
- Use master-slave DNS for redundancy (module only needs to connect to master)
- Set TTL between 300-3600 seconds
- Back up your PowerDNS database regularly
- Test DNSSEC in staging before production
- Keep DS records at registrar updated when rotating keys
- Use HTTP instead of HTTPS for API URL if SSL isn't properly configured
- Configure zone type (Native/Master) based on your setup
See our master-slave guide with DNSSEC for redundant DNS setup.
10. Troubleshooting
Check These First
- Module Debug Log: Shows API communication (Setup → Logs)
- Activity Log: Shows all PowerDNS Manager actions
- Test API access:
curl -H "X-API-Key: YOUR_KEY" http://ns1:8081/api/v1/servers - Test zone listing:
curl -H "X-API-Key: YOUR_KEY" http://ns1:8081/api/v1/servers/localhost/zones - Test DNSSEC:
pdnsutil show-zone example.com - License issues: Check your license and firewall
Common Problems
- HTTP 401 or 403 error
Wrong API key or IP not whitelisted in PowerDNS. Checkwebserver-allow-fromincludes your WHMCS server IP. - HTTP 404 Not Found
Wrong API URL format or server name. Use exactly:http://your-nameserver.com:8081/api/v1and server namelocalhost. - "Nameservers list must be given" error
Your PowerDNS version (4.2 or older) requires different zone creation method. Enable PowerDNS API compatibility mode in module settings. - Zone not created after registration
Check Activity Log for "retry-failed". May need to increase PHP timeout. - Invalid license error
License doesn't match your WHMCS URL. Update it in ArkHost client area. - DNSSEC not working
Check ifgmysql-dnssec=yesis set and PowerDNS restarted. - SSL/TLS connection issues
Use HTTP instead of HTTPS if SSL certificates aren't properly configured. - Long DKIM keys truncated
TXT records now support multi-line values properly. - Slow zone listing page
Upgrade to v1.12 - DNSSEC checks now run on-demand instead of blocking page load.
FAQ
- Can multiple WHMCS installations use one PowerDNS server?
Yes, but each zone should be managed by only one WHMCS to avoid conflicts. - Does it import existing zones automatically?
Yes. Click "Auto Associate" in admin area to map existing PowerDNS zones to WHMCS domains. After that, it's automatic for new domains. - How do I migrate zones from another DNS server?
Use the zone import feature. Export zones from your old server in BIND format, then import using merge mode to preserve existing records. - Is DNSSEC supported?
Yes, full DNSSEC support with automatic key management. Just click "Enable DNSSEC" and copy the DS records to your registrar. - Why should I use Native vs Master zone type?
Native is recommended for most setups. Master is mainly for traditional AXFR-based replication. Both work with DNSSEC. - Is the module available in my language?
The client area is fully translated in 8 languages: English, Dutch, French, German, Italian, Portuguese (including Brazilian Portuguese), Russian, and Spanish. To add more languages, copyenglish.phpinlang/folder, rename it (likejapanese.php), and translate the text.
11. Upgrading
- Back up your files and database
- Upload new files (overwrite old ones)
- Go to Utilities → System → System Cleanup
- Click Empty Template Cache
- Open the addon (database updates run automatically)
Re-download and install the latest version to ensure compatibility and access to improved debugging features.
12. Security
- API keys are encrypted in database
- Direct file access is blocked
- Customers can only manage their own zones
- DNSSEC keys are managed by PowerDNS securely
- Protected records cannot be modified
- Enhanced logging security with data sanitization
13. License and Support
PowerDNS Manager requires a paid license.
- Buy: Purchase here
- Manage: ArkHost client area
- Support: Open a ticket
- Documentation: PowerDNS setup guide