deployment:network:powerdns:install-postgres

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
deployment:network:powerdns:install-postgres [2026/02/27 00:58] – [Buat Database & User PostgreSQL] ilyasadeployment:network:powerdns:install-postgres [2026/02/27 20:04] (current) – [Konfigurasi PowerDNS Database Conection] ilyasa
Line 20: Line 20:
  
 ==== Buat Database & User PostgreSQL ==== ==== Buat Database & User PostgreSQL ====
- 
-=== Masuk sebagai user postgres: === 
-<code bash> 
-sudo -u postgres psql 
-</code> 
  
 === Buat database dan user: === === Buat database dan user: ===
 <code sql> <code sql>
-CREATE DATABASE powerdns; +sudo -u postgres psql -c "CREATE USER pdns WITH PASSWORD 'PasswordYangKuat';" 
-CREATE USER pdns WITH PASSWORD 'passwordku'; +sudo -u postgres psql -c "CREATE DATABASE powerdns OWNER pdns;"
-ALTER DATABASE powerdns OWNER TO pdns; +
-GRANT ALL PRIVILEGES ON DATABASE powerdns TO pdns; +
-\q+
 </code> </code>
  
 === Import schema bawaan PowerDNS: === === Import schema bawaan PowerDNS: ===
 <code bash> <code bash>
-sudo -u postgres psql powerdns /usr/share/pdns-backend-pgsql/schema/schema.pgsql.sql+sudo -u postgres psql -d powerdns -c "SET ROLE pdns;" -f /usr/share/pdns-backend-pgsql/schema/schema.pgsql.sql
 </code> </code>
  
  
-=== Fix Permission: === +=== Grant Permission to user pdns: ===
-<code bash> +
-sudo -u postgres psql +
-</code>+
 <code sql> <code sql>
-GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO pdns; +sudo -u postgres psql -d powerdns -c "ALTER SCHEMA public OWNER TO pdns;" 
-GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO pdns;+sudo -u postgres psql -d powerdns -c "GRANT CREATE ON SCHEMA public TO pdns;"
 </code> </code>
  
Line 97: Line 86:
 gpgsql-dbname=powerdns gpgsql-dbname=powerdns
 gpgsql-user=pdns gpgsql-user=pdns
-gpgsql-password=passwordku+gpgsql-password=PasswordYangKuat
 </code> </code>
 === Restart Service === === Restart Service ===
Line 105: Line 94:
 systemctl status pdns systemctl status pdns
 </code> </code>
 +
 +
 +
 +==== Testing dengan pembuatan domain ====
 +=== Install tools ===
 +
 +<code bash>
 +apt install pdns-tools dnsutils -y
 +</code>
 +
 +=== Buat Zones dengan pdnsutil ===
 +
 +<code bash>
 +sudo pdnsutil create-zone test.local
 +</code>
 +
 +=== Tambahkan Recods ===
 +
 +<code bash>
 +# Add SOA record
 +sudo pdnsutil add-record test.local @ SOA "ns1.test.local. admin.test.local. 1 3600 900 604800 300"
 +
 +# Add NS record
 +sudo pdnsutil add-record test.local @ NS ns1.test.local
 +
 +# Add A record for nameserver
 +sudo pdnsutil add-record test.local ns1 A 192.168.1.1
 +
 +# Add A record for test host
 +sudo pdnsutil add-record test.local www A 192.168.1.10
 +
 +</code>
 +=== Verify Zones ===
 +
 +<code bash>
 +sudo pdnsutil list-zone test.local
 +</code>
 +
 +=== Check Zones ===
 +
 +<code bash>
 +sudo pdnsutil check-zone test.local
 +</code>
 +
 +=== Test DNS Query ===
 +
 +<code bash>
 +# Query your PowerDNS server directly
 +dig @127.0.0.1 www.test.local A
 +dig @127.0.0.1 test.local NS
 +dig @127.0.0.1 test.local SOA
 +</code>
 +
 +
 +
  • deployment/network/powerdns/install-postgres.1772128680.txt.gz
  • Last modified: 2026/02/27 00:58
  • by ilyasa