{"id":32728,"date":"2025-10-25T07:41:08","date_gmt":"2025-10-25T04:41:08","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32728"},"modified":"2025-10-25T07:41:08","modified_gmt":"2025-10-25T04:41:08","slug":"centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Alan Ad\u0131 Sistemi (DNS), internetin temel yap\u0131 ta\u015flar\u0131ndan biridir. \u0130nsanlar\u0131n hat\u0131rlamas\u0131 kolay alan adlar\u0131n\u0131 (\u00f6rne\u011fin, google.com) makinelerin anlayabilece\u011fi IP adreslerine (\u00f6rne\u011fin, 172.217.160.142) d\u00f6n\u00fc\u015ft\u00fcrerek web sitelerine eri\u015fimi, e-posta g\u00f6nderimini ve di\u011fer internet tabanl\u0131 hizmetlerin \u00e7al\u0131\u015fmas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lar. G\u00fcvenilir ve y\u00fcksek performansl\u0131 bir DNS sunucusu, herhangi bir a\u011f altyap\u0131s\u0131n\u0131n kritik bir bile\u015fenidir. Bu ba\u011flamda PowerDNS, esnekli\u011fi, mod\u00fcler yap\u0131s\u0131 ve \u00e7e\u015fitli veritaban\u0131 arka u\u00e7lar\u0131n\u0131 desteklemesiyle \u00f6ne \u00e7\u0131kan pop\u00fcler bir a\u00e7\u0131k kaynak DNS sunucusudur.<\/p>\n<p>Bu makale, CentOS 6.3 x64 i\u015fletim sistemi y\u00fckl\u00fc bir sunucu \u00fczerine PowerDNS Authoritative Server&#8217;\u0131n ad\u0131m ad\u0131m nas\u0131l kurulaca\u011f\u0131n\u0131 ve yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ayr\u0131nt\u0131l\u0131 olarak a\u00e7\u0131klamaktad\u0131r. CentOS 6.3 her ne kadar eski bir i\u015fletim sistemi olsa da, bir\u00e7ok eski sistemde hala aktif olarak kullan\u0131lmakta veya belirli proje gereksinimleri nedeniyle tercih edilmektedir. Bu rehber, PowerDNS&#8217;i kaynak koddan derleyerek ve MySQL veritaban\u0131 arka ucunu kullanarak kurulumu ger\u00e7ekle\u015ftirecektir. Bu y\u00f6ntem, size en g\u00fcncel PowerDNS s\u00fcr\u00fcm\u00fcn\u00fc (CentOS 6.3 uyumlu olan\u0131) kurma ve yap\u0131land\u0131rma \u00fczerinde tam kontrol sa\u011flar.<\/p>\n<p>PowerDNS, geleneksel DNS sunucular\u0131ndan (BIND gibi) farkl\u0131 olarak, DNS kay\u0131tlar\u0131n\u0131 dosya tabanl\u0131 sistemler yerine veritabanlar\u0131nda (MySQL, PostgreSQL, SQLite, Oracle, LDAP vb.) saklayabilme yetene\u011fi sunar. Bu, \u00f6zellikle b\u00fcy\u00fck \u00f6l\u00e7ekli ve dinamik DNS ortamlar\u0131 i\u00e7in y\u00f6netim kolayl\u0131\u011f\u0131, otomasyon potansiyeli ve geli\u015fmi\u015f performans avantajlar\u0131 sa\u011flar. Ayr\u0131ca, PowerDNS&#8217;in mod\u00fcler mimarisi, DNSSEC deste\u011fi, geli\u015fmi\u015f g\u00fcvenlik \u00f6zellikleri ve geni\u015fletilebilirlik imkanlar\u0131, onu modern DNS ihtiya\u00e7lar\u0131 i\u00e7in cazip bir se\u00e7enek haline getirir.<\/p>\n<p>Bu kapsaml\u0131 rehberde, CentOS 6.3 sunucunuzu PowerDNS kurulumu i\u00e7in haz\u0131rlamaktan, MySQL veritaban\u0131n\u0131 kurup yap\u0131land\u0131rmaya, PowerDNS&#8217;i kaynak koddan derleyip kurmaya, temel yap\u0131land\u0131rma ayarlar\u0131n\u0131 yapmaya, bir init scripti olu\u015fturarak servisi y\u00f6netmeye, g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131 d\u00fczenlemeye ve ilk alan ad\u0131n\u0131z\u0131 ekleyerek sistemi test etmeye kadar t\u00fcm ad\u0131mlar\u0131 bulacaks\u0131n\u0131z. Amac\u0131m\u0131z, rehberin sonunda \u00e7al\u0131\u015fan, g\u00fcvenli ve y\u00f6netilebilir bir PowerDNS Authoritative Server&#8217;a sahip olman\u0131z\u0131 sa\u011flamakt\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>PowerDNS kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olman\u0131z \u00f6nemlidir:<\/p>\n<h4>CentOS 6.3 x64 \u0130\u015fletim Sistemi<\/h4>\n<p>Kurulumu yapaca\u011f\u0131n\u0131z, temiz bir CentOS 6.3 x64 i\u015fletim sistemi y\u00fckl\u00fc bir sunucuya ihtiyac\u0131n\u0131z var. Bu sunucunun minimum 1GB RAM ve 20GB disk alan\u0131na sahip olmas\u0131 \u00f6nerilir. Daha b\u00fcy\u00fck ve yo\u011fun DNS trafi\u011fi beklenen ortamlar i\u00e7in bu de\u011ferler art\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<h4>Root veya Sudo Yetkileri<\/h4>\n<p>T\u00fcm kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131 i\u00e7in <code>root<\/code> kullan\u0131c\u0131s\u0131 olarak oturum a\u00e7man\u0131z veya <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 kullanman\u0131z gerekmektedir. Bu rehberdeki komutlar <code>root<\/code> kullan\u0131c\u0131s\u0131 taraf\u0131ndan \u00e7al\u0131\u015ft\u0131r\u0131lacak \u015fekilde yaz\u0131lm\u0131\u015ft\u0131r. E\u011fer <code>sudo<\/code> kullan\u0131yorsan\u0131z, her komutun ba\u015f\u0131na <code>sudo<\/code> eklemeniz gerekecektir.<\/p>\n<h4>\u0130nternet Ba\u011flant\u0131s\u0131<\/h4>\n<p>Sunucunuzun, gerekli paketleri indirmek ve PowerDNS kaynak kodunu \u00e7ekmek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131na sahip olmas\u0131 gerekmektedir.<\/p>\n<h4>Temel Linux Komut Sat\u0131r\u0131 Bilgisi<\/h4>\n<p>Linux komut sat\u0131r\u0131 ve temel metin d\u00fczenleyici (vi\/vim veya nano gibi) kullan\u0131m\u0131 hakk\u0131nda bilgi sahibi olman\u0131z, kurulum s\u00fcrecini daha rahat y\u00f6netmenizi sa\u011flayacakt\u0131r.<\/p>\n<h4>Firewall Ayarlar\u0131<\/h4>\n<p>DNS hizmeti, varsay\u0131lan olarak 53 numaral\u0131 TCP ve UDP portlar\u0131n\u0131 kullan\u0131r. Sunucunuzun g\u00fcvenlik duvar\u0131n\u0131n (iptables) bu portlardan gelen ba\u011flant\u0131lara izin verecek \u015fekilde yap\u0131land\u0131r\u0131lmas\u0131 gerekecektir. Bu ad\u0131m\u0131 kurulumun ilerleyen a\u015famalar\u0131nda detayl\u0131 olarak ele alaca\u011f\u0131z.<\/p>\n<h4>SELinux Durumu<\/h4>\n<p>SELinux (Security-Enhanced Linux), CentOS gibi sistemlerde ek bir g\u00fcvenlik katman\u0131 sa\u011flar. Baz\u0131 durumlarda, SELinux politikalar\u0131 PowerDNS&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131n\u0131 engelleyebilir. Kurulum s\u0131ras\u0131nda sorun ya\u015fanmamas\u0131 ad\u0131na, SELinux&#8217;u ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rakmak veya izin veren kurallar eklemek gerekebilir. Genellikle, PowerDNS varsay\u0131lan SELinux politikalar\u0131yla \u00e7al\u0131\u015fabilse de, derleme ve servis ba\u015flatma sorunlar\u0131 ya\u015farsan\u0131z bunu kontrol etmeniz faydal\u0131 olacakt\u0131r. SELinux&#8217;u ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in <code>setenforce 0<\/code> komutunu kullanabilirsiniz. Kal\u0131c\u0131 olarak devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in <code>\/etc\/selinux\/config<\/code> dosyas\u0131n\u0131 d\u00fczenlemeniz gerekir. Ancak, g\u00fcvenlik a\u00e7\u0131s\u0131ndan kal\u0131c\u0131 devre d\u0131\u015f\u0131 b\u0131rakma yerine uygun politikalar\u0131n yap\u0131land\u0131r\u0131lmas\u0131 \u00f6nerilir. Bu rehberde, varsay\u0131lan olarak SELinux&#8217;un PowerDNS&#8217;in \u00e7al\u0131\u015fmas\u0131na engel olmayaca\u011f\u0131 varsay\u0131lm\u0131\u015ft\u0131r.<\/p>\n<h3>Sistem G\u00fcncellemesi ve Temel Ba\u011f\u0131ml\u0131l\u0131klar\u0131n Kurulumu<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce sistemin g\u00fcncel oldu\u011fundan ve PowerDNS&#8217;i derlemek i\u00e7in gerekli temel ba\u011f\u0131ml\u0131l\u0131klar\u0131n y\u00fckl\u00fc oldu\u011fundan emin olal\u0131m.<\/p>\n<h4>Sistem G\u00fcncellemesi<\/h4>\n<p>\u00d6ncelikle, sistemdeki t\u00fcm mevcut paketleri g\u00fcncelleyerek olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131n ve en g\u00fcncel paket s\u00fcr\u00fcmlerine sahip olun.<\/p>\n<pre><code class=\"language-bash\">yum update -y<\/code><\/pre>\n<p>Bu komut, sisteminizdeki t\u00fcm paketleri g\u00fcncelleyecek ve <code>-y<\/code> parametresi sayesinde t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verecektir. G\u00fcncelleme i\u015flemi tamamland\u0131ktan sonra, baz\u0131 \u00e7ekirdek veya sistem bile\u015fenleri g\u00fcncellenmi\u015fse, sunucuyu yeniden ba\u015flatman\u0131z \u00f6nerilir:<\/p>\n<pre><code class=\"language-bash\">reboot<\/code><\/pre>\n<h4>Gerekli Ba\u011f\u0131ml\u0131l\u0131klar\u0131n Kurulumu<\/h4>\n<p>PowerDNS&#8217;i kaynak koddan derlemek i\u00e7in \u00e7e\u015fitli geli\u015ftirme ara\u00e7lar\u0131na ve k\u00fct\u00fcphanelere ihtiyac\u0131m\u0131z olacakt\u0131r. Ayr\u0131ca, MySQL veritaban\u0131 arka ucunu kullanaca\u011f\u0131m\u0131z i\u00e7in MySQL geli\u015ftirme paketlerini de kurmam\u0131z gerekmektedir.<\/p>\n<pre><code class=\"language-bash\">yum install -y wget gcc make automake autoconf libtool openssl-devel boost-devel libyaml-devel lua-devel mysql-devel postgresql-devel sqlite-devel recode-devel lmdb-devel openldap-devel net-snmp-devel bind-utils<\/code><\/pre>\n<p>Bu komutla y\u00fcklenen \u00f6nemli paketler ve i\u015flevleri \u015funlard\u0131r:<br \/>\n*   <code>wget<\/code>: PowerDNS kaynak kodunu indirmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>gcc<\/code>, <code>make<\/code>, <code>automake<\/code>, <code>autoconf<\/code>, <code>libtool<\/code>: Kaynak koddan yaz\u0131l\u0131m derlemek i\u00e7in gerekli temel geli\u015ftirme ara\u00e7lar\u0131d\u0131r.<br \/>\n*   <code>openssl-devel<\/code>: SSL\/TLS deste\u011fi i\u00e7in gerekli geli\u015ftirme k\u00fct\u00fcphanesidir.<br \/>\n*   <code>boost-devel<\/code>: PowerDNS&#8217;in baz\u0131 bile\u015fenleri taraf\u0131ndan kullan\u0131lan Boost C++ k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131d\u0131r.<br \/>\n*   <code>libyaml-devel<\/code>, <code>lua-devel<\/code>, <code>mysql-devel<\/code>, <code>postgresql-devel<\/code>, <code>sqlite-devel<\/code>, <code>recode-devel<\/code>, <code>lmdb-devel<\/code>, <code>openldap-devel<\/code>, <code>net-snmp-devel<\/code>: PowerDNS&#8217;in farkl\u0131 mod\u00fclleri ve veritaban\u0131 arka u\u00e7lar\u0131 i\u00e7in gerekli olan geli\u015ftirme k\u00fct\u00fcphaneleridir. Bu rehberde sadece <code>mysql-devel<\/code> do\u011frudan kullan\u0131lacak olsa da, <code>configure<\/code> beti\u011fi di\u011ferlerinin varl\u0131\u011f\u0131n\u0131 kontrol edebilir, bu y\u00fczden hepsini kurmak derleme s\u00fcrecini sorunsuz hale getirecektir.<br \/>\n*   <code>bind-utils<\/code>: <code>dig<\/code> gibi DNS sorgulama ara\u00e7lar\u0131n\u0131 i\u00e7erir. Kurulum sonras\u0131 testler i\u00e7in faydal\u0131d\u0131r.<\/p>\n<h3>Veritaban\u0131 Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>PowerDNS, DNS kay\u0131tlar\u0131n\u0131 depolamak i\u00e7in bir veritaban\u0131 kullan\u0131r. Bu rehberde, MySQL&#8217;i tercih edece\u011fiz.<\/p>\n<h4>MySQL Kurulumu<\/h4>\n<p>CentOS 6.3 \u00fczerinde MySQL sunucusunu ve istemci paketlerini kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">yum install -y mysql-server mysql<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra MySQL servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in ayarlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">service mysqld start\nchkconfig mysqld on<\/code><\/pre>\n<p>MySQL sunucunuzu temel g\u00fcvenlik ayarlar\u0131yla yap\u0131land\u0131rmak i\u00e7in <code>mysql_secure_installation<\/code> beti\u011fini \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">mysql_secure_installation<\/code><\/pre>\n<p>Bu betik size a\u015fa\u011f\u0131daki sorular\u0131 soracakt\u0131r:<br \/>\n1.  <code>Enter current password for root (enter for none):<\/code> \u0130lk kurulumda root \u015fifresi olmad\u0131\u011f\u0131 i\u00e7in do\u011frudan Enter tu\u015funa bas\u0131n.<br \/>\n2.  <code>Set root password? [Y\/n]<\/code> <code>Y<\/code> yaz\u0131p Enter&#8217;a bas\u0131n ve g\u00fc\u00e7l\u00fc bir root \u015fifresi belirleyin.<br \/>\n3.  <code>Remove anonymous users? [Y\/n]<\/code> <code>Y<\/code><br \/>\n4.  <code>Disallow root login remotely? [Y\/n]<\/code> <code>Y<\/code> (G\u00fcvenlik i\u00e7in root kullan\u0131c\u0131s\u0131n\u0131n sadece localhost&#8217;tan ba\u011flanmas\u0131na izin vermek iyi bir uygulamad\u0131r.)<br \/>\n5.  <code>Remove test database and access to it? [Y\/n]<\/code> <code>Y<\/code><br \/>\n6.  <code>Reload privilege tables now? [Y\/n]<\/code> <code>Y<\/code><\/p>\n<h4>PowerDNS \u0130\u00e7in Veritaban\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/h4>\n<p>\u015eimdi PowerDNS i\u00e7in \u00f6zel bir veritaban\u0131 ve bu veritaban\u0131na eri\u015fim yetkisi olan bir kullan\u0131c\u0131 olu\u015ftural\u0131m. MySQL root kullan\u0131c\u0131s\u0131 olarak giri\u015f yap\u0131n:<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>\u015eifrenizi girdikten sonra MySQL komut istemine d\u00fc\u015feceksiniz. A\u015fa\u011f\u0131daki SQL komutlar\u0131n\u0131 s\u0131ras\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE powerdns;\nCREATE USER 'pdnsuser'@'localhost' IDENTIFIED BY 'GucluSifrenizBurayaGelecek';\nGRANT ALL PRIVILEGES ON powerdns.* TO 'pdnsuser'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p>*   <code>CREATE DATABASE powerdns;<\/code>: PowerDNS kay\u0131tlar\u0131n\u0131 saklamak i\u00e7in <code>powerdns<\/code> ad\u0131nda bir veritaban\u0131 olu\u015fturur.<br \/>\n*   <code>CREATE USER 'pdnsuser'@'localhost' IDENTIFIED BY 'GucluSifrenizBurayaGelecek';<\/code>: <code>pdnsuser<\/code> ad\u0131nda, sadece <code>localhost<\/code>&#8216;tan ba\u011flanabilen ve belirtti\u011finiz g\u00fc\u00e7l\u00fc \u015fifreye sahip bir kullan\u0131c\u0131 olu\u015fturur. <code>GucluSifrenizBurayaGelecek<\/code> k\u0131sm\u0131n\u0131 kendi g\u00fc\u00e7l\u00fc \u015fifrenizle de\u011fi\u015ftirmeyi unutmay\u0131n.<br \/>\n<em>   <code>GRANT ALL PRIVILEGES ON powerdns.<\/em> TO 'pdnsuser'@'localhost';<\/code>: <code>pdnsuser<\/code> kullan\u0131c\u0131s\u0131na <code>powerdns<\/code> veritaban\u0131 \u00fczerindeki t\u00fcm yetkileri verir.<br \/>\n*   <code>FLUSH PRIVILEGES;<\/code>: Yetki tablolar\u0131n\u0131 yenileyerek de\u011fi\u015fikliklerin aktif olmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>EXIT;<\/code>: MySQL komut isteminden \u00e7\u0131kar.<\/p>\n<h4>PowerDNS Veritaban\u0131 \u015eemas\u0131n\u0131 Y\u00fckleme<\/h4>\n<p>PowerDNS&#8217;in veritaban\u0131 ile \u00e7al\u0131\u015fabilmesi i\u00e7in belirli bir tablo yap\u0131s\u0131na (\u015fema) ihtiyac\u0131 vard\u0131r. Bu \u015fema, PowerDNS kaynak kodunun i\u00e7inde bulunur.<\/p>\n<p>PowerDNS kaynak kodunu indirdikten sonra \u015fema dosyas\u0131n\u0131 bulaca\u011f\u0131z. \u015eimdilik, PowerDNS&#8217;i indirdi\u011finiz ve <code>pdns-4.x.x<\/code> dizinine girdi\u011finiz varsay\u0131m\u0131yla devam edelim. (PowerDNS indirme ad\u0131m\u0131 bir sonraki b\u00f6l\u00fcmde daha detayl\u0131 ele al\u0131nacakt\u0131r.)<\/p>\n<p>\u015eema dosyas\u0131 genellikle <code>modules\/gmysql\/schema.mysql.sql<\/code> yolunda bulunur. PowerDNS kaynak kodunu indirdikten sonra, bu dosyay\u0131 kullanarak veritaban\u0131 \u015femas\u0131n\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\"># PowerDNS kaynak kodunu indirdi\u011finiz ve a\u00e7t\u0131\u011f\u0131n\u0131z dizinde oldu\u011funuzu varsayal\u0131m.\n<h2>\u00d6rne\u011fin, \/root\/pdns-4.x.x\/ dizinindeyseniz:<\/h2>\nmysql -u pdnsuser -p powerdns < modules\/gmysql\/schema.mysql.sql<\/code><\/pre>\n<p>Bu komut, <code>pdnsuser<\/code> kullan\u0131c\u0131s\u0131 ve \u015fifresiyle <code>powerdns<\/code> veritaban\u0131na ba\u011flanacak ve <code>schema.mysql.sql<\/code> dosyas\u0131ndaki SQL komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rarak gerekli tablolar\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h3>PowerDNS Kaynak Kodundan Derleme ve Kurulumu<\/h3>\n<p>CentOS 6.3'\u00fcn varsay\u0131lan depolar\u0131nda PowerDNS'in g\u00fcncel bir s\u00fcr\u00fcm\u00fcn\u00fc bulmak zor olabilir. Bu nedenle, PowerDNS'i kaynak koddan derlemek, size en g\u00fcncel (ve CentOS 6.3 ile uyumlu) s\u00fcr\u00fcm\u00fc kurma esnekli\u011fi sa\u011flar. Bu rehberde PowerDNS Authoritative Server 4.0.x veya 4.1.x serisinden bir s\u00fcr\u00fcm\u00fc hedefleyece\u011fiz, zira bu s\u00fcr\u00fcmler CentOS 6.3 ile iyi bir uyumluluk sunarken modern \u00f6zellikleri de bar\u0131nd\u0131r\u0131r.<\/p>\n<h4>Kaynak Kodunu \u0130ndirme<\/h4>\n<p>PowerDNS'in resmi web sitesinden veya GitHub deposundan en son kararl\u0131 s\u00fcr\u00fcm\u00fcn kaynak kodunu indirebilirsiniz. Bu rehber i\u00e7in, \u00f6rne\u011fin PowerDNS 4.1.1'i kullanaca\u011f\u0131z. <code>wget<\/code> komutu ile kaynak kodunu indirelim:<\/p>\n<pre><code class=\"language-bash\">cd \/usr\/local\/src\/ # Kaynak kodlar\u0131 genellikle burada saklan\u0131r\nwget https:\/\/downloads.powerdns.com\/releases\/pdns-4.1.1.tar.gz<\/code><\/pre>\n<p>\u0130ndirme tamamland\u0131ktan sonra, s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f ar\u015fivi a\u00e7\u0131n ve olu\u015fturulan dizine ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">tar -zxvf pdns-4.1.1.tar.gz\ncd pdns-4.1.1<\/code><\/pre>\n<h4>Derleme ve Kurulum<\/h4>\n<p>\u015eimdi PowerDNS'i derlemeye ve kurmaya ba\u015flayabiliriz. Bu s\u00fcre\u00e7, <code>configure<\/code>, <code>make<\/code> ve <code>make install<\/code> komutlar\u0131n\u0131 i\u00e7erir.<\/p>\n<p>\u00d6ncelikle, <code>configure<\/code> beti\u011fini \u00e7al\u0131\u015ft\u0131rarak derleme se\u00e7eneklerini belirleyelim. <code>--with-modules=\"gmysql\"<\/code> parametresi, MySQL arka ucunu derlemeye dahil etmek i\u00e7in kritik \u00f6neme sahiptir. <code>--prefix<\/code>, <code>--sysconfdir<\/code>, <code>--localstatedir<\/code> gibi parametreler ise PowerDNS'in sistemde nereye kurulaca\u011f\u0131n\u0131 ve yap\u0131land\u0131rma dosyalar\u0131n\u0131n nerede bulunaca\u011f\u0131n\u0131 belirler.<\/p>\n<pre><code class=\"language-bash\">.\/configure --with-modules=\"gmysql\" \\\n            --prefix=\/usr \\\n            --sysconfdir=\/etc\/powerdns \\\n            --localstatedir=\/var \\\n            --enable-unit-tests=no<\/code><\/pre>\n<p>*   <code>--with-modules=\"gmysql\"<\/code>: MySQL veritaban\u0131 arka ucunu (gmysql mod\u00fcl\u00fc) etkinle\u015ftirir.<br \/>\n*   <code>--prefix=\/usr<\/code>: Kurulumun ana dizinini <code>\/usr<\/code> olarak ayarlar. Bu, PowerDNS ikili dosyalar\u0131n\u0131n <code>\/usr\/bin<\/code> gibi standart Linux dizinlerine kurulmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>--sysconfdir=\/etc\/powerdns<\/code>: Yap\u0131land\u0131rma dosyalar\u0131n\u0131n <code>\/etc\/powerdns<\/code> dizininde saklanmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>--localstatedir=\/var<\/code>: Log dosyalar\u0131 ve di\u011fer ge\u00e7ici verilerin <code>\/var<\/code> dizini alt\u0131nda saklanmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>--enable-unit-tests=no<\/code>: Birim testlerinin derlenmesini devre d\u0131\u015f\u0131 b\u0131rak\u0131r. Bu, genellikle \u00fcretim sunucular\u0131nda gereksizdir ve derleme s\u00fcresini k\u0131salt\u0131r.<\/p>\n<p><code>configure<\/code> beti\u011fi, sisteminizdeki ba\u011f\u0131ml\u0131l\u0131klar\u0131 kontrol edecek ve derleme i\u00e7in bir <code>Makefile<\/code> olu\u015fturacakt\u0131r. Herhangi bir hata veya eksik ba\u011f\u0131ml\u0131l\u0131k uyar\u0131s\u0131 al\u0131rsan\u0131z, ilgili paketi <code>yum install<\/code> komutuyla kurman\u0131z gerekebilir.<\/p>\n<p><code>configure<\/code> i\u015flemi ba\u015far\u0131yla tamamland\u0131ktan sonra, <code>make<\/code> komutuyla PowerDNS'i derleyin:<\/p>\n<pre><code class=\"language-bash\">make<\/code><\/pre>\n<p>Bu ad\u0131m, sisteminizin i\u015flem g\u00fcc\u00fcne ba\u011fl\u0131 olarak biraz zaman alabilir. Derleme i\u015flemi hatas\u0131z tamamlan\u0131rsa, <code>make install<\/code> komutuyla PowerDNS'i sisteminize kurun:<\/p>\n<pre><code class=\"language-bash\">make install<\/code><\/pre>\n<p>Bu komut, derlenmi\u015f PowerDNS ikili dosyalar\u0131n\u0131, k\u00fct\u00fcphanelerini ve yap\u0131land\u0131rma \u00f6rneklerini belirlenen dizinlere kopyalayacakt\u0131r.<\/p>\n<h4>Kullan\u0131c\u0131 ve Grup Olu\u015fturma<\/h4>\n<p>G\u00fcvenlik a\u00e7\u0131s\u0131ndan, PowerDNS servisini <code>root<\/code> kullan\u0131c\u0131s\u0131 yerine ayr\u0131cal\u0131ks\u0131z bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131rmak en iyi uygulamad\u0131r. Bunun i\u00e7in bir <code>pdns<\/code> grubu ve <code>pdns<\/code> kullan\u0131c\u0131s\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">groupadd pdns\nuseradd -g pdns -s \/sbin\/nologin -M pdns<\/code><\/pre>\n<p>*   <code>groupadd pdns<\/code>: <code>pdns<\/code> ad\u0131nda bir grup olu\u015fturur.<br \/>\n*   <code>useradd -g pdns -s \/sbin\/nologin -M pdns<\/code>: <code>pdns<\/code> grubuna ait, sistemde oturum a\u00e7amayan (<code>\/sbin\/nologin<\/code>) ve ana dizini olmayan (<code>-M<\/code>) bir <code>pdns<\/code> kullan\u0131c\u0131s\u0131 olu\u015fturur.<\/p>\n<p>PowerDNS'in log dosyalar\u0131n\u0131 veya di\u011fer \u00e7al\u0131\u015fma zaman\u0131 verilerini saklayaca\u011f\u0131 dizinler i\u00e7in de uygun sahiplik ve izinleri ayarlaman\u0131z gerekebilir. \u00d6rne\u011fin, PowerDNS'in loglar\u0131n\u0131 <code>\/var\/log\/powerdns<\/code> dizinine yazmas\u0131n\u0131 istiyorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">mkdir -p \/var\/log\/powerdns\nchown -R pdns:pdns \/var\/log\/powerdns<\/code><\/pre>\n<h3>PowerDNS Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>PowerDNS'in ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/powerdns\/pdns.conf<\/code> olacakt\u0131r. Kurulum s\u0131ras\u0131nda bir \u00f6rnek yap\u0131land\u0131rma dosyas\u0131 olu\u015fturulmu\u015f olabilir.<\/p>\n<p>\u00d6ncelikle, yap\u0131land\u0131rma dizinine ge\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\/powerdns<\/code><\/pre>\n<p>E\u011fer <code>pdns.conf<\/code> dosyas\u0131 yoksa, \u00f6rnek dosyay\u0131 kopyalayarak ba\u015flayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">cp pdns.conf.sample pdns.conf<\/code><\/pre>\n<p>\u015eimdi <code>pdns.conf<\/code> dosyas\u0131n\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n (<code>vi<\/code> veya <code>vim<\/code> kullanabilirsiniz):<\/p>\n<pre><code class=\"language-bash\">vi pdns.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki temel yap\u0131land\u0131rma parametrelerini bulun ve kendi ortam\u0131n\u0131za g\u00f6re d\u00fczenleyin veya ekleyin. Yorum sat\u0131rlar\u0131n\u0131 (<code>#<\/code> ile ba\u015flayanlar) dikkate alarak gerekli de\u011fi\u015fiklikleri yap\u0131n.<\/p>\n<pre><code class=\"language-ini\"># Veritaban\u0131 arka ucunu (backend) etkinle\u015ftirir. MySQL kullan\u0131yoruz.\nlaunch=gmysql\n\n<h2>MySQL veritaban\u0131 ba\u011flant\u0131 ayarlar\u0131<\/h2>\ngmysql-host=localhost\ngmysql-user=pdnsuser\ngmysql-password=GucluSifrenizBurayaGelecek # MySQL kurulumunda belirledi\u011finiz \u015fifre\ngmysql-dbname=powerdns\n\n<h2>PowerDNS'in bir daemon olarak \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/h2>\ndaemon=yes\n\n<h2>PowerDNS'in hangi kullan\u0131c\u0131 ve grup alt\u0131nda \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirler.<\/h2>\nsetgid=pdns\nsetuid=pdns\n\n<h2>Loglama seviyesi (4 genellikle yeterlidir, daha detayl\u0131 bilgi i\u00e7in 6 veya 9 kullan\u0131labilir).<\/h2>\nloglevel=4\nlog-timestamp=yes\nquery-logging=yes # Gelen sorgular\u0131n loglanmas\u0131n\u0131 sa\u011flar (performans\u0131 etkileyebilir, dikkatli kullan\u0131n)\n\n<h2>Sunucunun dinleyece\u011fi IP adresi ve port. 0.0.0.0 t\u00fcm aray\u00fczlerde dinlemeyi sa\u011flar.<\/h2>\nlocal-address=0.0.0.0\nlocal-port=53\n\n<h2>Rek\u00fcrsif sorgulara izin verilip verilmeyece\u011fi. Yetkili sunucu oldu\u011fumuz i\u00e7in 'no' olmal\u0131.<\/h2>\nallow-recursion=no\n\n<h2>E\u011fer bu sunucu master DNS sunucusu olacaksa 'yes' olarak ayarlay\u0131n.<\/h2>\nmaster=yes\n\n<h2>E\u011fer bu sunucu slave DNS sunucusu olacaksa 'yes' olarak ayarlay\u0131n.<\/h2>\n<h2>Hem master hem de slave olabiliyorsa ikisi de 'yes' olabilir.<\/h2>\n<h2>Bu rehberde master olarak yap\u0131land\u0131r\u0131yoruz.<\/h2>\nslave=no\n\n<h2>Varsay\u0131lan SOA (Start of Authority) kayd\u0131nda kullan\u0131lacak e-posta adresi ve isim sunucusu.<\/h2>\n<h2>Bu de\u011ferler, veritaban\u0131na eklenen her yeni alan ad\u0131 i\u00e7in varsay\u0131lan olarak kullan\u0131l\u0131r.<\/h2>\ndefault-soa-name=ns1.example.com\ndefault-soa-mail=admin.example.com\ndefault-soa-serial=2023010101 # YYYYMMDDNN format\u0131nda, her de\u011fi\u015fiklikte art\u0131r\u0131lmal\u0131\ndefault-soa-refresh=10800 # 3 saat\ndefault-soa-retry=3600    # 1 saat\ndefault-soa-expire=604800 # 1 hafta\ndefault-soa-minimum=3600  # 1 saat\n\n<h2>DNSSEC deste\u011fi i\u00e7in gerekli mod\u00fcller (iste\u011fe ba\u011fl\u0131, ileri seviye yap\u0131land\u0131rma)<\/h2>\n<h2>enable-dnssec=yes<\/h2>\n<h2>gmysql-dnssec=yes<\/h2>\n\n<h2>Web aray\u00fcz\u00fc veya API kullan\u0131m\u0131 i\u00e7in (iste\u011fe ba\u011fl\u0131)<\/h2>\n<h2>webserver=yes<\/h2>\n<h2>webserver-address=127.0.0.1<\/h2>\n<h2>webserver-port=8081<\/h2>\n<h2>api-key=your_api_key_here<\/code><\/pre>\n<\/h2>\n<p><code>GucluSifrenizBurayaGelecek<\/code> k\u0131sm\u0131n\u0131 MySQL i\u00e7in belirledi\u011finiz <code>pdnsuser<\/code> \u015fifresiyle de\u011fi\u015ftirmeyi unutmay\u0131n. <code>ns1.example.com<\/code> ve <code>admin.example.com<\/code> gibi de\u011ferleri kendi alan ad\u0131n\u0131za ve ileti\u015fim bilgilerinize g\u00f6re g\u00fcncelleyin. Dosyay\u0131 kaydedin ve kapat\u0131n (<code>:wq<\/code> komutu ile vi\/vim'de).<\/p>\n<h3>PowerDNS Servisini Ba\u015flatma ve Otomatik Ba\u015flang\u0131ca Ekleme<\/h3>\n<p>CentOS 6.3, SystemV init sistemini kullan\u0131r. PowerDNS'i bir servis olarak y\u00f6netmek i\u00e7in bir init script'i olu\u015fturmam\u0131z gerekmektedir. PowerDNS kaynak kodunun i\u00e7inde genellikle \u00f6rnek bir init script bulunur.<\/p>\n<h4>Init Script Olu\u015fturma<\/h4>\n<p>PowerDNS kaynak kodunu indirdi\u011finiz dizine gidin (\u00f6rne\u011fin, <code>\/usr\/local\/src\/pdns-4.1.1\/<\/code>). <code>contrib\/init.d\/pdns.init<\/code> yolunda \u00f6rnek bir init script bulacaks\u0131n\u0131z. Bu scripti <code>\/etc\/init.d\/<\/code> dizinine kopyalay\u0131n ve \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">cp \/usr\/local\/src\/pdns-4.1.1\/contrib\/init.d\/pdns.init \/etc\/init.d\/pdns\nchmod +x \/etc\/init.d\/pdns<\/code><\/pre>\n<p>\u015eimdi bu servisi <code>chkconfig<\/code> ile sistem ba\u015flang\u0131c\u0131na ekleyin:<\/p>\n<pre><code class=\"language-bash\">chkconfig --add pdns\nchkconfig pdns on<\/code><\/pre>\n<h4>Servisi Ba\u015flatma ve Durum Kontrol\u00fc<\/h4>\n<p>Art\u0131k PowerDNS servisini ba\u015flatabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">service pdns start<\/code><\/pre>\n<p>Servisin ba\u015far\u0131yla \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">service pdns status<\/code><\/pre>\n<p>Ayr\u0131ca, PowerDNS'in 53 numaral\u0131 portu dinleyip dinlemedi\u011fini <code>netstat<\/code> ile kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">netstat -tulnp | grep 53<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>udp<\/code> ve <code>tcp<\/code> i\u00e7in 53 numaral\u0131 portu dinleyen <code>pdns_server<\/code> veya <code>pdns<\/code> s\u00fcrecini g\u00f6rmelisiniz.<\/p>\n<h3>Firewall Ayarlar\u0131<\/h3>\n<p>PowerDNS'in d\u0131\u015far\u0131dan gelen DNS sorgular\u0131na yan\u0131t verebilmesi i\u00e7in sunucunuzun g\u00fcvenlik duvar\u0131nda 53 numaral\u0131 TCP ve UDP portlar\u0131na izin vermeniz gerekmektedir. CentOS 6.3'te bu i\u015flem <code>iptables<\/code> ile yap\u0131l\u0131r.<\/p>\n<p><code>iptables<\/code> yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">vi \/etc\/sysconfig\/iptables<\/code><\/pre>\n<p><code>--A INPUT -j REJECT --reject-with icmp-host-prohibited<\/code> veya benzeri bir sat\u0131rdan \u00d6NCE, a\u015fa\u011f\u0131daki kurallar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT<\/code><\/pre>\n<p>Bu kurallar, yeni ba\u011flant\u0131lar i\u00e7in 53 numaral\u0131 UDP ve TCP portlar\u0131na gelen trafi\u011fe izin verir. Dosyay\u0131 kaydedin ve kapat\u0131n.<\/p>\n<p>De\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in <code>iptables<\/code> servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">service iptables restart<\/code><\/pre>\n<h3>\u0130lk Alan Ad\u0131n\u0131 Ekleme<\/h3>\n<p>PowerDNS art\u0131k \u00e7al\u0131\u015f\u0131yor ve d\u0131\u015far\u0131dan gelen sorgulara yan\u0131t vermeye haz\u0131r. Ancak hen\u00fcz hi\u00e7bir alan ad\u0131 kayd\u0131 i\u00e7ermiyor. \u0130lk alan ad\u0131m\u0131z\u0131 veritaban\u0131na ekleyelim.<\/p>\n<p>MySQL komut istemine <code>pdnsuser<\/code> olarak ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">mysql -u pdnsuser -p powerdns<\/code><\/pre>\n<p><code>example.com<\/code> alan ad\u0131n\u0131 ekleyelim. Bu alan ad\u0131n\u0131 kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirmeyi unutmay\u0131n.<\/p>\n<pre><code class=\"language-sql\">-- 1. Alan ad\u0131n\u0131 ekle\nINSERT INTO domains (name, type) VALUES ('example.com', 'NATIVE');\n\n-- Eklenen alan ad\u0131n\u0131n ID'sini al (bir sonraki ad\u0131mlarda kullan\u0131lacak)\nSELECT id FROM domains WHERE name='example.com';\n-- \u00c7\u0131kt\u0131 olarak bir ID alacaks\u0131n\u0131z, \u00f6rne\u011fin 1. Bu ID'yi a\u015fa\u011f\u0131daki komutlarda kullan\u0131n.\n\n-- 2. SOA kayd\u0131n\u0131 ekle (Start of Authority)\n-- domain_id k\u0131sm\u0131na yukar\u0131daki SELECT komutundan ald\u0131\u011f\u0131n\u0131z ID'yi yaz\u0131n.\nINSERT INTO records (domain_id, name, type, content, ttl, prio) VALUES (1, 'example.com', 'SOA', 'ns1.example.com admin.example.com 2023010101 10800 3600 604800 3600', 3600, 0);\n\n-- 3. NS kayd\u0131n\u0131 ekle (Name Server)\nINSERT INTO records (domain_id, name, type, content, ttl, prio) VALUES (1, 'example.com', 'NS', 'ns1.example.com', 3600, 0);\n\n-- 4. A kayd\u0131n\u0131 ekle (Adres kayd\u0131 - Name Server'\u0131n\u0131z\u0131n IP'si)\n-- 'YOUR_SERVER_IP' yerine PowerDNS sunucunuzun IP adresini yaz\u0131n.\nINSERT INTO records (domain_id, name, type, content, ttl, prio) VALUES (1, 'ns1.example.com', 'A', 'YOUR_SERVER_IP', 3600, 0);\n\n-- 5. Di\u011fer A kay\u0131tlar\u0131n\u0131 ekle (\u00f6rne\u011fin, web sitesi i\u00e7in)\nINSERT INTO records (domain_id, name, type, content, ttl, prio) VALUES (1, 'www.example.com', 'A', 'YOUR_SERVER_IP', 3600, 0);\n\n-- 6. MX kayd\u0131n\u0131 ekle (Mail Exchanger - E-posta sunucusu i\u00e7in)\nINSERT INTO records (domain_id, name, type, content, ttl, prio) VALUES (1, 'example.com', 'MX', 'mail.example.com', 3600, 10);\nINSERT INTO records (domain_id, name, type, content, ttl, prio) VALUES (1, 'mail.example.com', 'A', 'YOUR_SERVER_IP', 3600, 0);\n\n-- MySQL'den \u00e7\u0131k\u0131\u015f yap\nEXIT;<\/code><\/pre>\n<p>Veritaban\u0131na yeni kay\u0131tlar ekledikten sonra PowerDNS'in bu de\u011fi\u015fiklikleri alg\u0131lamas\u0131 i\u00e7in servisi yeniden ba\u015flatman\u0131z veya <code>pdns_control reload<\/code> komutunu kullanman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">service pdns restart<\/code><\/pre>\n<p>Veya belirli bir alan ad\u0131n\u0131 yeniden y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">pdns_control reload-zone example.com<\/code><\/pre>\n<h3>Test Etme<\/h3>\n<p>Alan ad\u0131n\u0131 ve kay\u0131tlar\u0131 ekledikten sonra, PowerDNS sunucunuzun do\u011fru yan\u0131t verip vermedi\u011fini test edelim. <code>dig<\/code> komutunu kullanarak sorgular yapabilirsiniz. <code>YOUR_SERVER_IP<\/code> yerine PowerDNS sunucunuzun IP adresini yaz\u0131n.<\/p>\n<pre><code class=\"language-bash\"># SOA kayd\u0131n\u0131 sorgula\ndig @YOUR_SERVER_IP example.com SOA\n\n<h2>www.example.com i\u00e7in A kayd\u0131n\u0131 sorgula<\/h2>\ndig @YOUR_SERVER_IP www.example.com A\n\n<h2>example.com i\u00e7in MX kayd\u0131n\u0131 sorgula<\/h2>\ndig @YOUR_SERVER_IP example.com MX<\/code><\/pre>\n<p>Bu komutlar\u0131n \u00e7\u0131kt\u0131s\u0131nda, veritaban\u0131na ekledi\u011finiz kay\u0131tlar\u0131 g\u00f6rmeniz gerekmektedir. \u00d6rne\u011fin, <code>dig @YOUR_SERVER_IP www.example.com A<\/code> komutunun \u00e7\u0131kt\u0131s\u0131nda <code>ANSWER SECTION<\/code> alt\u0131nda <code>www.example.com. 3600 IN A YOUR_SERVER_IP<\/code> benzeri bir sat\u0131r olmal\u0131d\u0131r.<\/p>\n<p>Ayr\u0131ca, PowerDNS'in kendi arac\u0131 olan <code>pdns_control<\/code> ile alan ad\u0131n\u0131n yap\u0131land\u0131rmas\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">pdns_control bind-check-zone example.com<\/code><\/pre>\n<p>Bu komut, alan ad\u0131n\u0131n PowerDNS taraf\u0131ndan do\u011fru bir \u015fekilde y\u00fcklendi\u011fini ve BIND format\u0131nda herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol eder.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, CentOS 6.3 x64 i\u015fletim sistemi \u00fczerine PowerDNS Authoritative Server'\u0131 MySQL veritaban\u0131 arka ucuyla birlikte ba\u015far\u0131yla kurdunuz ve yap\u0131land\u0131rd\u0131n\u0131z. Sistem g\u00fcncellemelerinden ba\u015flayarak, gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131n kurulumuna, MySQL veritaban\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131na, PowerDNS'in kaynak koddan derlenip kurulmas\u0131na, ana yap\u0131land\u0131rma dosyas\u0131n\u0131n d\u00fczenlenmesine, bir init scripti arac\u0131l\u0131\u011f\u0131yla servis y\u00f6netiminin sa\u011flanmas\u0131na, g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131n ayarlanmas\u0131na ve son olarak ilk alan ad\u0131n\u0131z\u0131n eklenerek test edilmesine kadar t\u00fcm ad\u0131mlar\u0131 tamamlad\u0131k.<\/p>\n<p>Art\u0131k internet \u00fczerinde kendi alan adlar\u0131n\u0131z i\u00e7in yetkili DNS hizmeti verebilen, esnek ve performansl\u0131 bir PowerDNS sunucusuna sahipsiniz. Bu kurulum, k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli web sitelerinden, b\u00fcy\u00fck ve dinamik DNS ortamlar\u0131na kadar \u00e7e\u015fitli ihtiya\u00e7lara cevap verebilecek sa\u011flam bir temel olu\u015fturmaktad\u0131r.<\/p>\n<p><strong>Sonraki Ad\u0131mlar ve \u0130yile\u015ftirmeler:<\/strong><\/p>\n<p>*   <strong>Y\u00fcksek Eri\u015filebilirlik (Redundancy):<\/strong> Tek bir DNS sunucusu, tek hata noktas\u0131 olu\u015fturur. Y\u00fcksek eri\u015filebilirlik sa\u011flamak i\u00e7in en az bir PowerDNS Slave sunucusu kurarak DNS kay\u0131tlar\u0131n\u0131z\u0131n yedeklili\u011fini sa\u011flaman\u0131z \u015fiddetle tavsiye edilir. Bu, bir sunucunun ar\u0131zalanmas\u0131 durumunda hizmet kesintisini \u00f6nleyecektir.<br \/>\n*   <strong>DNSSEC (Domain Name System Security Extensions):<\/strong> DNSSEC, DNS sorgular\u0131n\u0131n g\u00fcvenli\u011fini art\u0131rmak i\u00e7in dijital imzalar kullan\u0131r. PowerDNS, DNSSEC'i destekler ve alan adlar\u0131n\u0131z i\u00e7in DNSSEC'i etkinle\u015ftirmek, g\u00fcvenlik seviyenizi \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.<br \/>\n*   <strong>PowerDNS Recursor:<\/strong> E\u011fer sunucunuzun hem yetkili hem de rek\u00fcrsif DNS hizmeti vermesini istiyorsan\u0131z, PowerDNS Recursor'\u0131 ayr\u0131 bir bile\u015fen olarak kurman\u0131z gerekebilir. Yetkili sunucu (Authoritative) sadece kendi alan adlar\u0131 hakk\u0131nda bilgi verirken, rek\u00fcrsif sunucu (Recursor) di\u011fer alan adlar\u0131 hakk\u0131ndaki bilgileri internetten toplay\u0131p istemcilere iletir.<br \/>\n*   <strong>Web Tabanl\u0131 Y\u00f6netim Aray\u00fcz\u00fc (Poweradmin):<\/strong> PowerDNS kay\u0131tlar\u0131n\u0131 veritaban\u0131 \u00fczerinden do\u011frudan y\u00f6netmek yerine, Poweradmin gibi web tabanl\u0131 aray\u00fczler kullanarak alan ad\u0131 y\u00f6netimini \u00e7ok daha kolay ve g\u00f6rsel hale getirebilirsiniz.<br \/>\n*   <strong>Performans \u0130zleme:<\/strong> Sunucunuzun performans\u0131n\u0131 ve DNS sorgu y\u00fck\u00fcn\u00fc izlemek i\u00e7in Prometheus, Grafana veya benzeri ara\u00e7lar\u0131 entegre edebilirsiniz. PowerDNS, SNMP ve di\u011fer metrik \u00e7\u0131k\u0131\u015flar\u0131n\u0131 destekler.<br \/>\n*   <strong>G\u00fcvenlik ve Bak\u0131m:<\/strong> Sunucunuzu d\u00fczenli olarak g\u00fcncel tutun, g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 g\u00f6zden ge\u00e7irin ve PowerDNS yap\u0131land\u0131rman\u0131z\u0131 periyodik olarak kontrol edin. G\u00fc\u00e7l\u00fc \u015fifreler kullanmaya devam edin ve yaln\u0131zca gerekli portlar\u0131 a\u00e7\u0131k b\u0131rak\u0131n.<\/p>\n<p>Bu rehber, PowerDNS ile ilk ad\u0131m\u0131n\u0131z\u0131 atman\u0131za yard\u0131mc\u0131 oldu. DNS d\u00fcnyas\u0131 geni\u015f ve karma\u015f\u0131k olabilir, ancak PowerDNS'in sundu\u011fu esneklik ve kontrol ile ihtiya\u00e7lar\u0131n\u0131za \u00f6zel, g\u00fcvenilir bir DNS altyap\u0131s\u0131 kurabilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber\nGiri\u015f\nAlan Ad\u0131 Sistemi (DNS), internetin temel yap\u0131 ta\u015flar\u0131ndan biridir. \u0130nsanl","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-32728","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f Alan Ad\u0131 Sistemi (DNS), internetin temel yap\u0131 ta\u015flar\u0131ndan biridir. \u0130nsanl\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-25T04:41:08+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-10-25T04:41:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":2938,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-25T04:41:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f Alan Ad\u0131 Sistemi (DNS), internetin temel yap\u0131 ta\u015flar\u0131ndan biridir. \u0130nsanl","og_url":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-25T04:41:08+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-10-25T04:41:08+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/"},"wordCount":2938,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/","name":"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-25T04:41:08+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/centos-6-3-x64-uzerine-powerdns-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CentOS 6.3 x64 \u00dczerine PowerDNS Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=32728"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32728\/revisions"}],"predecessor-version":[{"id":32729,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32728\/revisions\/32729"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}