Cara Membuat Private Nameserver Melalui PowerDNS
Ketika kamu ingin membuat nameserver dengan domain sendiri atau biasa disebut Private Nameserver, dibutuhkan suatu DNS server dan IP Public Static suatu server/Cloud VPS. PowerDNS salah satunya. DNS server yang banyak digunakan yaitu PowerDNS. Melalui PowerDNS, IP Public Static dari server atau Cloud VPS nantinya akan di daftarkan ke Registrar Domain sebagai IP dari Private Nameserver. Buat kamu yang ingin memiliki Cloud VPS atau sewa Virtual Private Server, silahkan ikuti Cara Order Cloud VPS DomaiNesia ya.
Apa itu Private Namserver?
Private Nameserver adalah nameserver yang dibuat dengan nama domain sendiri. Private Nameserver sering disebut juga Child Nameserver. Private Nameserver dibuat agar situs yang kamu miliki terkesan lebih profesional dan memiliki nilai jual yang cukup bagus. Sebagai contoh, biasanya name server default yang ada di DomaiNesia untuk domain adalah dns1.domainesia.com- dns4.domainesia.com. Sedangkan untuk hosting yaitu ns1.domainesia.net- ns2.domainesia.net.
Baca Juga : Web Server Adalah dan Jenis-jenisnya!
Apa itu PoweDNS?
PowerDNS merupakan DNS Server bersifat open sorce yang mendukung berbagai macam database seperti MySQL, PostgreSQL, SQLite3, Oracle dan Microsoft SQL Server, serta dalam LDAP dan di buat dengan menerapkan bahasa pemrograman C++ yang berlisensi GPL (General Public License).
Tahap Persiapan
Pada tahap persiapan ini kamu perlu melakukan beberapa instalasi untuk menunjang proses membuat private nameserver melalui PowerDNS. Tahap persiapan bisa disesuaikan dengan kebutuhan kamu. Misalnya pada panduan ini menggunakan editor nano
maka harus melakukan install editor nano
. Namun jika kamu menggunakan editor yang lain, silahkan menyesuaikan sendiri. Adapun yang harus kamu lakukan yaitu :
1. Melakukan Update OS
Melakukan update OS sangat penting dilakukan sebelum melakukan instalasi di server atau Cloud VPS. Di panduan kali ini akan menggunakan sistem operasi CentOS 8, maka dari itu kamu bisa jalankan command berikut untuk melakukan update CentOS 8.
1 |
yum update |
Catatan : Dalam melakukan update, kamu bisa menyesuaikan jenis sistem operasi yang dipakai di Cloud VPS
2. Melakukan Install Editor
Kemudian melakukan install editor command line. Kamu bisa menggunakan nano
atau vim
. Pada panduan kali ini akan menggunakan editor nano
. Untuk install nano silahkan jalankan perintah berikut :
1 |
yum install nano |
Catatan : Dalam melakukan install editor, kamu bisa menyesuaikan editor yang bisa kamu pakai.
3. Melakukan Install Git
Persiapan terakhir adalah melakukan install git. Untuk instalasi Git wajib untuk dilakukan. Hal ini karena terdapat step yang melakukan kloning git untuk instalasi PowerAdmin. Maka dari itu, kamu bisa jalankan command di bawah ini :
1 |
yum install git |
4. Melakukan Remote Server
Remote server atau Cloud VPS merupakan kegiatan untuk masuk ke dalam server yang bebas diakses darimana saja asalkan ada koneksi internet. Nah, untuk membuat private nameserver kamu perlu remote server atau Cloud VPS terlebih dahulu. Bagaimana cara remote server? Silahkan ikuti panduan Cara Remote Cloud VPS.
Saat melakukan remote server jika menemui kendala “Host Identification Has Changed”, segera ikuti langkah-langkah pada Panduan Mengatasi Remote Host Identification Has Changed Pada SSH
Cara Membuat Private Nameserver Melalui PowerDNS
Langkah- langkah untuk membuat private nameserver melalui PowerDNS yaitu :
1. Melakukan Install MariaDB/MySQL
Sebelum melakukan install PowerDNS di Cloud VPS atau server terdapat beberapa dependency yang harus kamu install terlebih dahulu. Mengapa? Karena di panduan kali ini akan menggunakan backend MySQL/MariaDB untuk PowerDNS. Untuk itu, kamu harus meng-install MariaDB/MySQL. Kamu bisa jalankan command berikut untuk install MariaDB/MySQL di CentOS 8 :
1 |
yum install -y mariadb mariadb-server |
Sekarang agar MariaDB/MySQL bisa berjalan di Cloud VPS, silahkan jalankan perintah di bawah ini :
1 2 |
systemctl start mariadb systemctl enable mariadb |
Setelah MariaDB/MySQL berhasil berjalan, lalu yang harus kamu lakukan adalah memberikan pengamanan dasar untuk MariaDB/MySQL dengan menjalankan command berikut ini :
1 |
mysql_secure_installation |
Kamu akan diberikan beberapa pertanyaan dan konfirmasi. Silahkan ikuti seperti di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. ... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! ... ... Remove anonymous users? [Y/n] y ... ... Disallow root login remotely? [Y/n] ... ... ... ... Reload privilege tables now? [Y/n] y |
Selanjutnya silahkan login ke database untuk membuat database. Jalankan perintah di bawah ini untuk membuat database.
1 |
mysql -u root -p |
Setelah berhasil masuk database menggunakan root , saatnya membuat database dengan menjalankan command berikut :
1 2 |
create database powerdns; grant all privileges on powerdns.* to 'powerdns'@'localhost' identified by 'yourpassworduserdatabasepowerdnshere'; |
Kamu bisa mengubah nama dan password database sesuai keinginan. Pada panduan ini nama databasenya adalah powerdns
. Lalu, silahkan isi tabel pada database yang telah dibuat. Untuk tabel apa saja yang harus diisi , kamu bisa mengikuti command di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
use powerdns; CREATE TABLE domains ( id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, master VARCHAR(128) DEFAULT NULL, last_check INT DEFAULT NULL, type VARCHAR(6) NOT NULL, notified_serial INT UNSIGNED DEFAULT NULL, account VARCHAR(40) CHARACTER SET ‘utf8’ DEFAULT NULL, PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET ‘latin1’; CREATE UNIQUE INDEX name_index ON domains(name); CREATE TABLE records ( id BIGINT AUTO_INCREMENT, domain_id INT DEFAULT NULL, name VARCHAR(255) DEFAULT NULL, type VARCHAR(10) DEFAULT NULL, content VARCHAR(64000) DEFAULT NULL, ttl INT DEFAULT NULL, prio INT DEFAULT NULL, disabled TINYINT(1) DEFAULT 0, ordername VARCHAR(255) BINARY DEFAULT NULL, auth TINYINT(1) DEFAULT 1, PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET ‘latin1’; CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id); CREATE INDEX ordername ON records (ordername); CREATE TABLE supermasters ( ip VARCHAR(64) NOT NULL, nameserver VARCHAR(255) NOT NULL, account VARCHAR(40) CHARACTER SET ‘utf8’ NOT NULL, PRIMARY KEY (ip, nameserver) ) Engine=InnoDB CHARACTER SET ‘latin1’; CREATE TABLE comments ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, name VARCHAR(255) NOT NULL, type VARCHAR(10) NOT NULL, modified_at INT NOT NULL, account VARCHAR(40) CHARACTER SET ‘utf8’ DEFAULT NULL, comment TEXT CHARACTER SET ‘utf8’ NOT NULL, PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET ‘latin1’; CREATE INDEX comments_name_type_idx ON comments (name, type); CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); CREATE TABLE domainmetadata ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, kind VARCHAR(32), content TEXT, PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET ‘latin1’; CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind); CREATE TABLE cryptokeys ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, flags INT NOT NULL, active BOOL, published BOOL DEFAULT 1, content TEXT, PRIMARY KEY(id) ) Engine=InnoDB CHARACTER SET ‘latin1’; CREATE INDEX domainidindex ON cryptokeys(domain_id); CREATE TABLE tsigkeys ( id INT AUTO_INCREMENT, name VARCHAR(255), algorithm VARCHAR(50), secret VARCHAR(255), PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET ‘latin1’; CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm); exit; |
2. Melakukan Install PowerDNS
Setelah selesai, saatnya install PowerDNS. Nah, sebelum memulai install PowerDNS, kamu harus menambahkan repository external selain repository bawaan yang telah ada. Untuk menambahkan repository kamu bisa jalankan command berikut ini :
1 2 |
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-8.rpm |
Jika sudah, silahkan langsung jalankan perintah di bawah ini :
1 |
yum install -y pdns-backend-mysql pdns |
Lalu, untuk melakukan setting PowerDNS kamu bisa membukan dan mengedit file /etc/pdns/pdns.conf
dengan cara menjalankan perintah berikut :
1 |
nano /etc/pdns/pdns.conf |
Setelah itu silahkan cari dan hapus tulisan launch = bind
di dalam file /etc/pdns/pdns.conf
. Kemudian paste script yang ada di bawah ini :
1 2 3 4 5 6 |
launch=gmysql launch=gmysql gmysql-host=localhost gmysql-user=powerdns gmysql-password=yourpasswordDBpowerdns gmysql-dbname=powerdns |
Catatan : Untuk host, user, password, dan nama database disesuaikan dengan database yang kamu buat
Seperti service MariaDB tadi, service PowerDNS ini juga belum berjalan, untuk menjalankan servicenya kamu bisa menjalankan command berikut.
1 2 |
systemctl start pdns systemctl enable pdns |
3. Melakukan Install PowerAdmin Dengan Nginx
Untuk mempermudah dalam melakukan konfigurasi Private Nameserver, silahkan menginstall PowerAdmin. PowerAdmin adalah web interface dari PowerDNS untuk melakukan setting DNS Server dan pembuatan Private Nameserver. Jadi, dengan adanya PowerAdmin kamu bisa membuat Private Nameserver lebih mudah. Saat melakukan install PowerAdmin, kamu memerlukan sebuah Web Server. Pada panduan ini akan menggunakan Nginx sebagai web server, untuk meng-install web server silahkan jalankan perintah berikut :
1 |
yum install -y nginx php-fpm php-cli php-mysqlnd php72-php-pecl-mcrypt php-json |
Kemudian kamu perlu mengecek konfigurasi PHP-FPM pada Nginx. Untuk mengecek PHP-FPM kamu bisa jalankan perintah berikut ini :
1 |
nano /etc/php-fpm/www.conf |
Lalu, kamu bisa mencari command seperti gambar di bawah ini. Jika command sudah ada, maka silahkan lanjut ke langkah berikutnya.
Setelah itu kamu harus mengubah owner permission pada folder /var/lib/php/session
ke user apache, dengan command ini :
1 |
chown apache:apache /var/lib/php/session |
4. Setting VirtualHost PowerAdmin
Langkah selanjutnya adalah setting VirtualHost PowerAdmin. Pada panduan kali ini menggunakan subdomain dns.websitesaya.net
untuk mengakses PowerAdmin. Sehingga setting yang dilakukan seperti perintah di bawah ini :
1 |
nano /etc/nginx/conf.d/dns.websitesaya.net.conf |
Kemudian masukkan script berikut ini :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
server { server_name dns.websitesaya.net; listen 80; root /var/www/html/dns.websitesaya.net; access_log /var/log/nginx/dns.websitesaya.net_access.log; error_log /var/log/nginx/dns.websitesaya.net_error.log; index index.php; location / { try_files $uri $uri/ /index.php?query_string; } location ~ .php$ { fastcgi_index index.php; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_keep_conn on; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_param SCRIPT_FILENAME \(document_root\)fastcgi_script_name; } location ~/.ht { deny all; } } |
Untuk mengecek apakah setting berhasil dilakukan, kamu bisa jalankan command berikut ini :
1 |
nginx-t |
Jika berhasil, maka akan muncul pesan di bawah ini :
Setelah itu, kamu bisa melakukan stop dan start VirtualHost Nginx dengan command :
1 2 |
systemctl stop nginx systemctl start nginx |
5. Mengakses PowerAdmin
Langkah selanjutnya adalah mengakses PowerAdmin. Sebelum mengakses PowerAdmin, silahkan membuat folder root terlebih dahulu dan mengubah kepemilikan folder menjadi Apache dengan perintah berikut :
1 2 |
mkdir -p /var/www/html/dns.websitesaya.net chown -R apache:apache /var/www/html/dns.websitesaya.net |
Setelah folder root dibuat, kamu bisa download PowerAdmin dengan command :
1 2 3 |
cd var/www/html/dns.websitesaya.net git clone https://github.com/poweradmin/poweradmin.git mv poweradmin/* . && rm -rf poweradmin/ |
Selanjutnya silahkan kamu mengakses URL instalasi PowerAdminnya. Pada panduan ini mengakses http://dns.websitesaya.net/install di web browser. Oiya, jangan lupa setting DNS record yang di arahkan ke subdomain kalian ya. Misalnya pada panduan ini subdomain dns.websitesaya.net
akan diarahkan ke VPS. Untuk langkah-langkahnya silahkan ikuti Cara Mengarahkan Subdomain ke Cloud VPS.
6. Melakukan Setting PowerAdmin
Untuk melakukan setting PowerAdmin, kamu bisa membuatnya dengan mengakses URL instalasi PowerAdmin. Pada panduan kali ini menggunakan http://dns.websitesaya.net/install sebagai instalasi PowerAdmin, maka akan muncul halaman seperti gambar di bawah ini. Pada Installation Step 1 kamu bisa memilih bahasa terlebih dahulu. Lalu klik Go to Step 2
.
Pada Installation Step 2, kamu bisa langsung klik Go to Step 3
.
Pada Installation Step 3 ini kamu akan diminta untuk mengisi Username Database, Password Database, Tipe Database, Hostname, Port Database, Nama Database. Kamu bisa mengisikan sesuai pada langkah 1. Jika sudah, klik Go to Step 4
.
Pada Installation Step 4, kamu bisa untuk mengisi username, password hostmaster, Primary Nameserver dan Secondary Nameserver. Kamu bisa mengisi namaserver sesuai dengan keinginan. Atau mengikuti yang ada pada panduan ini. Kemudian klik Go to Step 5
jika sudah selesai.
Setelah itu di bagian Installation Step 5 ini kamu diminta untuk membuat user MySQL. Karena pada panduan ini sebelumnya telah membuat user MySQLnya di langkah 1. Maka langsung saja klik Go to Step 6
.
Catatan : Jika di awal kamu belum pernah membuat user databasenya kalian bisa jalankan command create user MySQLnya, seperti yang tertera di step 5 ini.
Pada Installation Step 6 ini, saatnya untuk membuat file config.inc.php
. File config.inc.php
berada di folder VirtualHost kamu misalkan pada panduan ini di /var/www/html/dns.websitesata/inc
. Kamu bisa copy paste path seperti nomor 1 pada gambar di bawah ini. Kemudian jalankan perintah berikut :
1 |
nano /var/www/html/dns.websitesaya/inc/config.inc.php |
Jika sudah selanjutnya silahkan masukkan script ang ada di halaman Installation Step 6 atau di nomor 2 pada gambar di bawah ini.
Misalnya pada panduan ini yaitu :
Catatan : Pada bagian db_pass silahkan isi sesuai dengan password database
Jika sudah kamu bisa klik Go to Step 7
. Langkah terakhir adalah di Installation Step 7. Pada step 7, kamu harus menghapus folder install yang berada di folder virtualhost yang telah dibuat sebelumnya tadi.
Untuk menghapus folder install ini kamu bisa menjalankan perintah :
1 |
rm -rf /var/www/html/dns.websitesaya.net/install |
Jika kamu sudah selesai sampai step ini, itu artinya setting PowerAdmin telah selesai, selanjutnya kalian bisa mengikuti langkah berikutnya untuk membuat Private Nameserver dengan menggunakan PowerDNS dan PowerAdmin.
6. Membuat Private Nameserver Melalui PowerDNS
Langkah pertama yang harus dilakukan untuk membuat private nameserver melalui PowerDNS adalah login ke PowerAdmin melalui URL yang telah dibuat tadi, yaitu http://dns.websitesaya.net. Di bagian username secara default biasanya menggunakan admin
. Sedangkan bagian password, kamu bisa isikan seperti password saat di step 4 saat Installation PowerAdmin sebelumnya. Lalu klik Go
.
Kemudian kamu akan menemui halaman PowerAdmin seperti gambar berikut ini :
Sekarang saatnya ntuk membuat Private Nameserver. Silahkan klik menu Add Master Zone
. Pada bagian Add Master Zone
, kamu bisa klik Add Another Domain
. Pada kolom 1, silahkan isi nama domain. Untuk kolom 2, kamu bisa mengisikan PTR recordnya. PTR record biasanya memiliki format yaitu 3 digit pertama IP Public. Misalnya IP Publicnya 107.12.14.7, maka yang diambil 3 digit pertama dan dimasukan terbalik seperti ini 12.11.107.in-addr.arpa. Untuk IP Public ini, kamu bisa sesuaikan dengan IP Public VPS/Server yang kamu punya ya. Jika sudah klik Add Zone
.
Selanjutnya silahkan menuju ke menu List Zones
. Di menu List Zones
, kamu bisa membuat Private nameserver. Misalnya panduan kali ini menggunakan domain websitesaya.net. Kamu bisa klik icon pensil pada domain websitesaya.net.
Lalu akan muncul tampilan Edit Zone
. Format SOA record yang ada di Edit Zone
merupakan format SOA record secara default. Nah, kamu harus mengganti dengan format SOA record seperti di bawah ini. Contohnya ns1.websitesaya.net 2021081805 28800 7200 604800 86400
menjadi ns1.websitesaya.net hostmaster.websitesaya.net 2021081805 28800 7200 604800 86400
. Terdapat tambahan Hostmaster Email Address
yang bisa kamu tambahkan sesuai dengan saat kamu mengisi hostmaster nameserver pada langkah Installation Step 4.
1 2 3 4 5 6 7 |
Primary nameserver Hostmaster E-mail address Serial # Refresh Retry Expire Default TTL |
Selanjutnya, untuk membuat private nameserver kamu bisa scroll ke bawah hingga menemukan kolom seperti gambar di bawah ini.
Tambahkan DNS record di bawah ini di kolom pada gambar diatas. Beberapa DNS record pada domain websitesaya.net
yang perlu kamu tambahkan yaitu :
Lakukan hal yang sama dengan PTR Record 14.12.107.in-addr.arpa
dengan cara silahkan masuk terlebih dahulu ke menu List Zones
, kemudian klik ikon pensil pada 14.12.107.in-addr.arpa
. Lalu isikan DNS record di bawah ini pada kolom Edit Zone
diatas. DNS record yang harus ditambahkan :
7. Mendaftarkan Private Nameserver Domain
Setelah selesai membuat private nameserver melalui PowerDNS, saatnya mendaftarkan private nameserver ke provider domain. Di DomaiNesia, silahkan ikuti Panduan Membuat Child Nameserver (Private Nameserver).
Kesimpulan
Private Nameserver sering disebut dengan Child Nameserver. Salah satu DNS server untuk membuat private nameserber yaitu melalui PowerDNS. IP Public Static server atau Cloud VPS akan diarahkan dan didaftarkan sebagai nameserver. Untuk membuat private namerserver melalui PowerDNS memang susah- susah gampang untuk dilakukan. Namun, jika kamu melakukan semua step by step di panduan ini dengan benar, maka private nameserver akan berhasil dibuat. Cloud VPS DomaiNesia sudah berteknologi cloud modern yang membuat fungsi VPS lebih optimal, aman, stabil, dan cepat. Dapatkan penawaran menarik untuk produk Cloud VPS DomaiNesia.
Baca Juga : Beli hosting