PowerDNS 5.x requires a parent 'launch=' directive before any
incremental 'launch+=' can be used. Since the install script
comments out the default 'launch=' in pdns.conf, the 'launch+='
in gsqlite3.conf fails with:
Fatal error: Incremental setting 'launch' without a parent
Use 'launch=gsqlite3' (non-incremental) since gsqlite3 is the
only backend needed.
The /opt/poweradmin/ directory was owned by www-data:www-data (755),
but pdns runs as the 'pdns' user which had no write access to the
directory. SQLite requires write access to the database directory to
create journal/WAL files (powerdns.db-journal, powerdns.db-wal).
Without this, pdns fails to start.
Changes:
- Set directory group to 'pdns' instead of 'www-data' so pdns user
can create SQLite journal/WAL files (via group write 775)
- Apply same permissions fix in update_script (ct/powerdns.sh)
- Fix msg_info -> msg_ok for 'Created Service' completion message
Fixes#12572
- Comment out empty 'launch=' in pdns.conf that overrides launch+= directives
- Remove default bind.conf and create gsqlite3.conf pointing to the
Poweradmin SQLite database (/opt/poweradmin/powerdns.db)
- Set correct ownership (pdns:pdns) and permissions (664) on the
database file so pdns_server can read/write it
- Add www-data to pdns group for shared database access
- Restart pdns service alongside apache2