{"id":35030,"date":"2025-11-25T02:40:53","date_gmt":"2025-11-24T23:40:53","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35030"},"modified":"2025-11-25T02:40:53","modified_gmt":"2025-11-24T23:40:53","slug":"acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/","title":{"rendered":"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#8217;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)"},"content":{"rendered":"<p><body><\/p>\n<h2>acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#8217;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda, web siteleri ve uygulamalar\u0131 i\u00e7in g\u00fcvenli ileti\u015fimin \u00f6nemi tart\u0131\u015f\u0131lmazd\u0131r. HTTPS kullan\u0131m\u0131, kullan\u0131c\u0131 verilerinin \u015fifrelenmesini sa\u011flayarak gizlili\u011fi ve b\u00fct\u00fcnl\u00fc\u011f\u00fc korur, ayn\u0131 zamanda web sitenizin g\u00fcvenilirli\u011fini art\u0131r\u0131r. Arama motorlar\u0131 da HTTPS kullanan siteleri \u00f6nceliklendirmekte, bu da SEO a\u00e7\u0131s\u0131ndan kritik bir fakt\u00f6r haline gelmektedir. Let&#8217;s Encrypt, bu g\u00fcvenli\u011fin herkes i\u00e7in eri\u015filebilir olmas\u0131n\u0131 sa\u011flayan, \u00fccretsiz, otomatik ve a\u00e7\u0131k bir Sertifika Yetkilisi (CA) olarak \u00f6ne \u00e7\u0131kmaktad\u0131r.<\/p>\n<p>Let&#8217;s Encrypt sertifikalar\u0131, domain sahipli\u011fini do\u011frulamak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler kullan\u0131r. Bunlar aras\u0131nda en yayg\u0131n olanlar\u0131 HTTP-01 ve DNS-01 do\u011frulama y\u00f6ntemleridir. HTTP-01, web sunucunuzun 80 veya 443 numaral\u0131 portlar\u0131ndan belirli bir dosyay\u0131 sunarak domainin kontrol\u00fcn\u00fc kan\u0131tlar. Ancak, baz\u0131 durumlarda bu y\u00f6ntem uygun olmayabilir:<br \/>\n*   Sunucunun 80 veya 443 numaral\u0131 portlar\u0131na d\u0131\u015far\u0131dan eri\u015fim k\u0131s\u0131tl\u0131ysa (\u00f6rne\u011fin, bir g\u00fcvenlik duvar\u0131n\u0131n arkas\u0131ndaysa veya ba\u015fka bir servis taraf\u0131ndan kullan\u0131l\u0131yorsa).<br \/>\n*   Sertifika al\u0131nacak servis bir web sunucusu de\u011filse (\u00f6rne\u011fin, bir posta sunucusu, VPN sunucusu veya IoT cihaz\u0131).<br \/>\n<em>   Wildcard sertifika (<code><\/em>.example.com<\/code>) almak isteniyorsa. Wildcard sertifikalar yaln\u0131zca DNS-01 do\u011frulamas\u0131 ile edinilebilir.<\/p>\n<p>\u0130\u015fte bu noktada DNS-01 do\u011frulamas\u0131 devreye girer. DNS-01 do\u011frulamas\u0131, Let&#8217;s Encrypt&#8217;in ACME sunucusunun, domaininize \u00f6zel olarak olu\u015fturulan bir TXT kayd\u0131n\u0131 DNS sunucunuzda bulmas\u0131n\u0131 gerektirir. Bu TXT kayd\u0131, domainin kontrol\u00fcn\u00fc kan\u0131tlar. Geleneksel olarak, bu TXT kayd\u0131n\u0131 manuel olarak eklemek veya <code>certbot<\/code>&#8216;un belirli DNS sa\u011flay\u0131c\u0131lar\u0131 (Cloudflare, AWS Route 53 vb.) i\u00e7in geli\u015ftirdi\u011fi eklentileri kullanmak m\u00fcmk\u00fcnd\u00fcr. Ancak, DNS sa\u011flay\u0131c\u0131n\u0131z bu eklentiler taraf\u0131ndan desteklenmiyorsa veya DNS kay\u0131tlar\u0131n\u0131 programatik olarak de\u011fi\u015ftirmek i\u00e7in bir API&#8217;ye sahip de\u011filse, bu s\u00fcre\u00e7 karma\u015f\u0131k hale gelebilir.<\/p>\n<p>Bu makalede, bu zorluklar\u0131 a\u015fmak i\u00e7in <code>acme-dns<\/code> ve <code>acme-dns-certbot<\/code> ara\u00e7lar\u0131n\u0131 kullanarak DNS-01 do\u011frulamas\u0131 ile Let&#8217;s Encrypt wildcard veya standart sertifikalar\u0131 nas\u0131l edinece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z. <code>acme-dns<\/code>, kendi \u00f6zel ACME DNS sunucunuzu \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r ve bu sunucu, <code>_acme-challenge<\/code> alt alan ad\u0131 i\u00e7in DNS isteklerini yan\u0131tlar. <code>acme-dns-certbot<\/code> ise <code>certbot<\/code> ile <code>acme-dns<\/code> aras\u0131nda bir k\u00f6pr\u00fc g\u00f6revi g\u00f6rerek do\u011frulama s\u00fcrecini otomatikle\u015ftirir. Bu kurulum, herhangi bir DNS sa\u011flay\u0131c\u0131s\u0131 ile \u00e7al\u0131\u015fabilir, \u00e7\u00fcnk\u00fc tek yapman\u0131z gereken <code>_acme-challenge<\/code> alt alan ad\u0131n\u0131 <code>acme-dns<\/code> sunucunuza delege etmektir.<\/p>\n<p>Bu rehber, Ubuntu 18.04 LTS i\u015fletim sistemi \u00fczerinde ger\u00e7ekle\u015ftirilecektir. Ancak, ad\u0131mlar ve konseptler daha yeni Ubuntu s\u00fcr\u00fcmleri veya di\u011fer Debian tabanl\u0131 sistemler i\u00e7in de b\u00fcy\u00fck \u00f6l\u00e7\u00fcde benzerlik g\u00f6sterecektir.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki maddelerin haz\u0131r oldu\u011fundan emin olun:<br \/>\n*   <strong>Ubuntu 18.04 LTS Sunucusu:<\/strong> Bir bulut sunucusu (VPS) veya fiziksel bir sunucu.<br \/>\n*   <strong>Sudo Yetkileri:<\/strong> Komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>sudo<\/code> yetkisine sahip bir kullan\u0131c\u0131.<br \/>\n*   <strong>Bir Domain Ad\u0131:<\/strong> Sertifika almak istedi\u011finiz bir domain ad\u0131 (\u00f6rne\u011fin, <code>example.com<\/code>).<br \/>\n*   <strong>DNS Sa\u011flay\u0131c\u0131s\u0131na Eri\u015fim:<\/strong> Domaininizin DNS kay\u0131tlar\u0131n\u0131 de\u011fi\u015ftirebilme yetene\u011fi.<br \/>\n*   <strong>Temel Linux Komut Sat\u0131r\u0131 Bilgisi:<\/strong> Dosya olu\u015fturma, d\u00fczenleme, servis y\u00f6netimi gibi temel komutlara a\u015final\u0131k.<br \/>\n*   <strong>A\u00e7\u0131k Portlar:<\/strong> Sunucunuzun g\u00fcvenlik duvar\u0131nda (firewall) 53\/UDP portunun d\u0131\u015far\u0131dan eri\u015fime a\u00e7\u0131k olmas\u0131 gerekmektedir. <code>acme-dns<\/code> bu port \u00fczerinden DNS sorgular\u0131n\u0131 yan\u0131tlayacakt\u0131r.<\/p>\n<h3>Ad\u0131m 1: Certbot Kurulumu<\/h3>\n<p>Certbot, Let&#8217;s Encrypt sertifikalar\u0131n\u0131 edinmek ve y\u00f6netmek i\u00e7in kullan\u0131lan resmi istemcidir. Ubuntu 18.04&#8217;te Certbot&#8217;u kurman\u0131n en \u00f6nerilen yolu Snap paket y\u00f6neticisini kullanmakt\u0131r.<\/p>\n<p>\u00d6ncelikle, Snapd&#8217;nin y\u00fckl\u00fc oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install snapd<\/code><\/pre>\n<p>Ard\u0131ndan, Certbot&#8217;u Snap \u00fczerinden kurun:<\/p>\n<pre><code class=\"language-bash\">sudo snap install core\nsudo snap refresh core\nsudo snap install --classic certbot\nsudo ln -s \/snap\/bin\/certbot \/usr\/bin\/certbot<\/code><\/pre>\n<p>Bu komutlar, Certbot&#8217;u kurar ve <code>certbot<\/code> komutunun sistem genelinde eri\u015filebilir olmas\u0131n\u0131 sa\u011flayan bir sembolik ba\u011f olu\u015fturur.<\/p>\n<h3>Ad\u0131m 2: acme-dns Kurulumu<\/h3>\n<p><code>acme-dns<\/code>, Let&#8217;s Encrypt&#8217;in DNS-01 do\u011frulamas\u0131 i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f, basit ve hafif bir DNS sunucusudur. Bu sunucu, <code>_acme-challenge<\/code> alt alan ad\u0131na gelen DNS sorgular\u0131n\u0131 i\u015fleyerek Let&#8217;s Encrypt sunucular\u0131na gerekli TXT kay\u0131tlar\u0131n\u0131 sa\u011flar.<\/p>\n<h4>2.1. acme-dns \u0130ndirme ve Kurulumu<\/h4>\n<p><code>acme-dns<\/code> genellikle \u00f6nceden derlenmi\u015f ikili dosyalar olarak da\u011f\u0131t\u0131l\u0131r. En son s\u00fcr\u00fcm\u00fc GitHub sayfas\u0131ndan indirebilirsiniz.<\/p>\n<pre><code class=\"language-bash\"># Ge\u00e7ici bir dizine ge\u00e7elim\ncd \/tmp\n\n<h2>En son s\u00fcr\u00fcm\u00fcn URL'sini kontrol edin (\u00f6rne\u011fin, v0.8.0)<\/h2>\n<h2>https:\/\/github.com\/joohoi\/acme-dns\/releases<\/h2>\nACME_DNS_VERSION=\"0.8.0\" # G\u00fcncel s\u00fcr\u00fcm\u00fc kontrol edin ve buray\u0131 g\u00fcncelleyin\nwget https:\/\/github.com\/joohoi\/acme-dns\/releases\/download\/v${ACME_DNS_VERSION}\/acme-dns_${ACME_DNS_VERSION}_linux_amd64.tar.gz\n\n<h2>Ar\u015fivi \u00e7\u0131kar\u0131n<\/h2>\ntar -xvf acme-dns_${ACME_DNS_VERSION}_linux_amd64.tar.gz\n\n<h2>\u0130kili dosyay\u0131 uygun bir konuma ta\u015f\u0131y\u0131n<\/h2>\nsudo mv acme-dns \/usr\/local\/bin\/\n\n<h2>\u00c7al\u0131\u015ft\u0131r\u0131labilir izinlerini verin<\/h2>\nsudo chmod +x \/usr\/local\/bin\/acme-dns<\/code><\/pre>\n<h4>2.2. acme-dns Kullan\u0131c\u0131s\u0131 ve Dizini Olu\u015fturma<\/h4>\n<p>G\u00fcvenlik nedeniyle, <code>acme-dns<\/code>&#8216;i ayr\u0131cal\u0131ks\u0131z bir kullan\u0131c\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131rmak en iyisidir.<\/p>\n<pre><code class=\"language-bash\">sudo useradd -r -s \/bin\/false acme-dns\nsudo mkdir \/etc\/acme-dns\nsudo chown acme-dns:acme-dns \/etc\/acme-dns<\/code><\/pre>\n<h4>2.3. acme-dns Yap\u0131land\u0131rmas\u0131<\/h4>\n<p><code>acme-dns<\/code>&#8216;in bir yap\u0131land\u0131rma dosyas\u0131na ihtiyac\u0131 vard\u0131r. <code>\/etc\/acme-dns\/config.yaml<\/code> dosyas\u0131n\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/acme-dns\/config.yaml<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya yap\u0131\u015ft\u0131r\u0131n. <code>example.com<\/code> yerine kendi domain ad\u0131n\u0131z\u0131, <code>ns.example.com<\/code> yerine ise <code>acme-dns<\/code> sunucunuz i\u00e7in kullanaca\u011f\u0131n\u0131z bir alt alan ad\u0131n\u0131 yaz\u0131n. E\u011fer alt alan ad\u0131 kullanmak istemiyorsan\u0131z, <code>ns.example.com<\/code> yerine do\u011frudan <code>example.com<\/code> yazabilirsiniz. <code>ip_adresiniz<\/code> yazan yere sunucunuzun <em>genel IP adresini<\/em> yazmay\u0131 unutmay\u0131n.<\/p>\n<pre><code class=\"language-yaml\"># \/etc\/acme-dns\/config.yaml\nlisten: \"0.0.0.0:53\"\ndomain: \"acme-dns.example.com\" # Bu, acme-dns sunucusunun kendi domaini olacak.\n                               # Genellikle _acme-challenge alt alan ad\u0131n\u0131n delege edilece\u011fi domain.\nnsname: \"ns1.acme-dns.example.com\" # acme-dns sunucunuzun DNS ad\u0131.\n                                   # DNS kay\u0131tlar\u0131n\u0131zda kullanaca\u011f\u0131n\u0131z NS kayd\u0131n\u0131n hedefi.\n                                   # Bu bir A kayd\u0131 ile acme-dns sunucunuzun IP adresine i\u015faret etmelidir.\n                                   # \u00d6rne\u011fin, ns1.acme-dns.example.com A 192.0.2.1\n\n<h2>Opsiyonel: Prometheus metrikleri i\u00e7in<\/h2>\n<h2>metrics_listen: \"0.0.0.0:9000\"<\/h2>\n\nrecords:\n  - subdomain: \"\"\n    record: \"ns1.acme-dns.example.com.\" # acme-dns domaininin kendi NS kayd\u0131\n    type: \"NS\"\n  - subdomain: \"ns1.acme-dns\"\n    record: \"IP_ADRESINIZ\" # acme-dns sunucunuzun genel IP adresi\n    type: \"A\"\n\nacme:\n  - port: \"80\"\n    interface: \"0.0.0.0\"\n    tls: \"none\" # acme-dns API i\u00e7in HTTPS kullanmak isterseniz \"letsencrypt\" veya \"cert\" olarak de\u011fi\u015ftirilebilir.\n                # Bu rehberde \"none\" olarak b\u0131rakaca\u011f\u0131z, \u00e7\u00fcnk\u00fc API'ye sadece yerel olarak eri\u015fece\u011fiz.\n    url: \"\"\n    username: \"\"\n    password: \"\"\n\nlog_level: \"info\"<\/code><\/pre>\n<p><strong>Yap\u0131land\u0131rma Dosyas\u0131 Hakk\u0131nda \u00d6nemli Notlar:<\/strong><br \/>\n*   <code>domain<\/code>: <code>acme-dns<\/code> sunucunuzun hizmet verece\u011fi temel domaindir. <code>_acme-challenge<\/code> alt alan ad\u0131n\u0131 bu domainin bir alt alan\u0131na delege edeceksiniz. \u00d6rne\u011fin, <code>acme-dns.example.com<\/code> olarak ayarlarsan\u0131z, <code>_acme-challenge.yourdomain.com<\/code> alt alan ad\u0131n\u0131 <code>ns1.acme-dns.example.com<\/code>&#8216;a delege edeceksiniz.<br \/>\n*   <code>nsname<\/code>: DNS kay\u0131tlar\u0131n\u0131zda kullanaca\u011f\u0131n\u0131z NS kayd\u0131n\u0131n hedefidir. Bu, <code>acme-dns<\/code> sunucunuzun kendi DNS ad\u0131d\u0131r. Bu ad i\u00e7in DNS sa\u011flay\u0131c\u0131n\u0131zda bir A kayd\u0131 olu\u015fturman\u0131z gerekecektir (\u00f6rne\u011fin, <code>ns1.acme-dns.example.com A IP_ADRESINIZ<\/code>).<br \/>\n*   <code>records<\/code>: <code>acme-dns<\/code>&#8216;in kendi DNS kay\u0131tlar\u0131n\u0131 tan\u0131mlar. <code>ns1.acme-dns.example.com<\/code> i\u00e7in bir A kayd\u0131 ve <code>acme-dns.example.com<\/code> i\u00e7in bir NS kayd\u0131 i\u00e7erir. <code>IP_ADRESINIZ<\/code> k\u0131sm\u0131n\u0131 sunucunuzun genel IP adresiyle de\u011fi\u015ftirin.<br \/>\n*   <code>acme<\/code>: <code>acme-dns<\/code>&#8216;in API ayarlar\u0131d\u0131r. Bu API, <code>acme-dns-certbot<\/code> hook&#8217;unun <code>acme-dns<\/code> sunucusuna kay\u0131tlar\u0131 eklemesini sa\u011flar. <code>port<\/code> ve <code>interface<\/code> varsay\u0131lan olarak kalabilir. <code>tls<\/code> ayar\u0131n\u0131 <code>none<\/code> olarak b\u0131rak\u0131yoruz, \u00e7\u00fcnk\u00fc API&#8217;ye sadece yerel olarak eri\u015fece\u011fiz.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131n sahibi ve izinlerini ayarlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo chown acme-dns:acme-dns \/etc\/acme-dns\/config.yaml\nsudo chmod 600 \/etc\/acme-dns\/config.yaml<\/code><\/pre>\n<h4>2.4. systemd Servisi Olu\u015fturma<\/h4>\n<p><code>acme-dns<\/code>&#8216;i bir <code>systemd<\/code> servisi olarak \u00e7al\u0131\u015ft\u0131rmak, otomatik ba\u015flatma ve y\u00f6netim kolayl\u0131\u011f\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/systemd\/system\/acme-dns.service<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=ACME DNS server\nAfter=network.target\n\n[Service]\nType=simple\nUser=acme-dns\nGroup=acme-dns\nCapabilityBoundingSet=CAP_NET_BIND_SERVICE\nAmbientCapabilities=CAP_NET_BIND_SERVICE\nExecStart=\/usr\/local\/bin\/acme-dns -c \/etc\/acme-dns\/config.yaml\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>Servis dosyas\u0131n\u0131 kaydedip kapat\u0131n. Ard\u0131ndan <code>systemd<\/code> yap\u0131land\u0131rmas\u0131n\u0131 yeniden y\u00fckleyin, servisi ba\u015flat\u0131n ve otomatik ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload\nsudo systemctl start acme-dns\nsudo systemctl enable acme-dns<\/code><\/pre>\n<p>Servisin durumunu kontrol ederek do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status acme-dns<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da &#8220;active (running)&#8221; ifadesini g\u00f6rmelisiniz.<\/p>\n<h4>2.5. G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h4>\n<p>E\u011fer sunucunuzda UFW (Uncomplicated Firewall) kullan\u0131yorsan\u0131z, <code>acme-dns<\/code>&#8216;in DNS sorgular\u0131n\u0131 yan\u0131tlayabilmesi i\u00e7in 53\/UDP portunu a\u00e7man\u0131z gerekmektedir:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 53\/udp\nsudo ufw reload<\/code><\/pre>\n<p>E\u011fer farkl\u0131 bir g\u00fcvenlik duvar\u0131 kullan\u0131yorsan\u0131z, 53\/UDP portunun d\u0131\u015far\u0131dan eri\u015fime a\u00e7\u0131k oldu\u011fundan emin olun.<\/p>\n<h3>Ad\u0131m 3: DNS Delegasyonu<\/h3>\n<p>Bu ad\u0131m, <code>acme-dns<\/code> kurulumunun en kritik k\u0131sm\u0131d\u0131r. Ana domaininizin DNS sa\u011flay\u0131c\u0131s\u0131nda, <code>_acme-challenge<\/code> alt alan ad\u0131n\u0131 <code>acme-dns<\/code> sunucunuza delege etmeniz gerekmektedir.<\/p>\n<p>\u00d6ncelikle, <code>acme-dns<\/code> sunucunuzun genel IP adresini not al\u0131n. Bu, <code>config.yaml<\/code> dosyas\u0131nda <code>records<\/code> b\u00f6l\u00fcm\u00fcnde belirtti\u011finiz IP adresi olmal\u0131d\u0131r.<\/p>\n<p>Domaininizin DNS y\u00f6netimi paneline gidin ve a\u015fa\u011f\u0131daki DNS kay\u0131tlar\u0131n\u0131 olu\u015fturun (\u00f6rnek domain <code>example.com<\/code> ve <code>acme-dns<\/code> domaini <code>acme-dns.example.com<\/code> varsay\u0131lm\u0131\u015ft\u0131r):<\/p>\n<p>1.  <strong>A Kayd\u0131:<\/strong> <code>acme-dns<\/code> sunucunuz i\u00e7in bir A kayd\u0131 olu\u015fturun. Bu, <code>acme-dns<\/code>&#8216;in <code>nsname<\/code> ayar\u0131nda belirtti\u011finiz ad\u0131, sunucunuzun genel IP adresine ba\u011flar.<br \/>\n    *   <strong>Tip:<\/strong> <code>A<\/code><br \/>\n    *   <strong>Ad\/Host:<\/strong> <code>ns1.acme-dns.example.com<\/code> (veya <code>config.yaml<\/code>&#8216;daki <code>nsname<\/code> de\u011feriniz)<br \/>\n    *   <strong>De\u011fer\/IP Adresi:<\/strong> <code>ACME_DNS_SUNUCUNUZUN_GENEL_IP_ADRESI<\/code><br \/>\n    *   <strong>TTL:<\/strong> D\u00fc\u015f\u00fck bir de\u011fer (\u00f6rne\u011fin, 300 saniye)<\/p>\n<p>2.  <strong>NS Kayd\u0131:<\/strong> <code>_acme-challenge<\/code> alt alan ad\u0131n\u0131 <code>acme-dns<\/code> sunucunuza delege edin.<br \/>\n    *   <strong>Tip:<\/strong> <code>NS<\/code><br \/>\n    *   <strong>Ad\/Host:<\/strong> <code>_acme-challenge.example.com<\/code> (Sertifika almak istedi\u011finiz domainin <code>_acme-challenge<\/code> alt alan ad\u0131)<br \/>\n    *   <strong>De\u011fer\/Hedef:<\/strong> <code>ns1.acme-dns.example.com<\/code> (Yukar\u0131da olu\u015fturdu\u011funuz A kayd\u0131n\u0131n ad\u0131)<br \/>\n    *   <strong>TTL:<\/strong> D\u00fc\u015f\u00fck bir de\u011fer (\u00f6rne\u011fin, 300 saniye)<\/p>\n<p><strong>\u00d6rnek DNS Kay\u0131tlar\u0131 (DNS sa\u011flay\u0131c\u0131n\u0131z\u0131n aray\u00fcz\u00fcnde):<\/strong><\/p>\n<p>| Tip | Host\/Ad                         | De\u011fer\/Hedef                      | TTL |<br \/>\n| :&#8211; | :&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; | :&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- | :&#8211; |<br \/>\n| <code>A<\/code> | <code>ns1.acme-dns.example.com<\/code>      | <code>ACME_DNS_SUNUCUNUZUN_GENEL_IP<\/code>  | 300 |<br \/>\n| <code>NS<\/code>| <code>_acme-challenge.example.com<\/code>   | <code>ns1.acme-dns.example.com<\/code>       | 300 |<br \/>\n| <code>NS<\/code>| <code>_acme-challenge.sub.example.com<\/code> | <code>ns1.acme-dns.example.com<\/code>     | 300 |<br \/>\n| <code>NS<\/code>| <code>_acme-challenge.example.net<\/code>   | <code>ns1.acme-dns.example.com<\/code>       | 300 |<\/p>\n<p>Birden fazla domain veya alt domain i\u00e7in sertifika alacaksan\u0131z, her biri i\u00e7in ayr\u0131 ayr\u0131 <code>_acme-challenge.yourdomain.com<\/code> NS kayd\u0131n\u0131 <code>acme-dns<\/code> sunucunuza delege etmeniz gerekecektir. Wildcard sertifika (<code>*.example.com<\/code>) almak istiyorsan\u0131z, sadece <code>_acme-challenge.example.com<\/code> kayd\u0131n\u0131 delege etmeniz yeterlidir.<\/p>\n<p><strong>DNS Yay\u0131l\u0131m\u0131:<\/strong> DNS de\u011fi\u015fikliklerinin internet genelinde yay\u0131lmas\u0131 biraz zaman alabilir (birka\u00e7 dakika ila birka\u00e7 saat). <code>dig<\/code> komutunu kullanarak NS kayd\u0131n\u0131z\u0131n do\u011fru \u015fekilde ayarlan\u0131p ayarlanmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">dig NS _acme-challenge.example.com @ACME_DNS_SUNUCUNUZUN_GENEL_IP<\/code><\/pre>\n<p>Bu komut, <code>_acme-challenge.example.com<\/code> i\u00e7in NS kayd\u0131n\u0131n, <code>acme-dns<\/code> sunucunuz taraf\u0131ndan do\u011fru \u015fekilde yan\u0131tland\u0131\u011f\u0131n\u0131 g\u00f6stermelidir. Ayr\u0131ca, genel DNS sunucular\u0131ndan da kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">dig NS _acme-challenge.example.com<\/code><\/pre>\n<p>Bu komut da ayn\u0131 <code>ns1.acme-dns.example.com<\/code> sonucunu d\u00f6nd\u00fcrmelidir.<\/p>\n<h3>Ad\u0131m 4: acme-dns-certbot Hook Kurulumu<\/h3>\n<p><code>acme-dns-certbot<\/code>, <code>certbot<\/code> ile <code>acme-dns<\/code> aras\u0131nda ileti\u015fimi sa\u011flayan bir Python hook beti\u011fidir.<\/p>\n<h4>4.1. Hook Beti\u011fini \u0130ndirme<\/h4>\n<p>Hook beti\u011fini GitHub deposundan klonlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">cd \/opt\nsudo git clone https:\/\/github.com\/joohoi\/acme-dns-certbot.git\nsudo chown -R root:root \/opt\/acme-dns-certbot<\/code><\/pre>\n<h4>4.2. Python Ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 Kurma<\/h4>\n<p>Hook beti\u011fi Python ile yaz\u0131ld\u0131\u011f\u0131 i\u00e7in baz\u0131 ba\u011f\u0131ml\u0131l\u0131klara ihtiya\u00e7 duyar.<\/p>\n<pre><code class=\"language-bash\">sudo apt install python3-pip\nsudo pip3 install virtualenv # E\u011fer y\u00fckl\u00fc de\u011filse\ncd \/opt\/acme-dns-certbot\nsudo virtualenv venv\nsudo venv\/bin\/pip install -r requirements.txt<\/code><\/pre>\n<h4>4.3. acme-dns-certbot Yap\u0131land\u0131rmas\u0131<\/h4>\n<p><code>acme-dns-certbot<\/code>&#8216;un, <code>acme-dns<\/code> sunucunuzla nas\u0131l ileti\u015fim kuraca\u011f\u0131n\u0131 bilmesi gerekir. Bunun i\u00e7in bir <code>config.json<\/code> dosyas\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/acme-dns-certbot\/config.json<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya yap\u0131\u015ft\u0131r\u0131n. <code>acme-dns.example.com<\/code> yerine <code>acme-dns<\/code> sunucunuzun domainini ve <code>IP_ADRESINIZ<\/code> yerine de <code>acme-dns<\/code> sunucunuzun IP adresini yaz\u0131n.<\/p>\n<pre><code class=\"language-json\">{\n  \"ACME_DNS_URL\": \"http:\/\/IP_ADRESINIZ:80\",\n  \"ACME_DNS_REGISTER_URL\": \"http:\/\/IP_ADRESINIZ:80\/register\",\n  \"ACME_DNS_USERNAME\": \"\",\n  \"ACME_DNS_PASSWORD\": \"\"\n}<\/code><\/pre>\n<p><strong>\u00d6nemli:<\/strong> <code>ACME_DNS_USERNAME<\/code> ve <code>ACME_DNS_PASSWORD<\/code> alanlar\u0131 ba\u015flang\u0131\u00e7ta bo\u015f b\u0131rak\u0131lmal\u0131d\u0131r. Certbot ilk \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, <code>acme-dns<\/code> sunucusunda yeni bir kullan\u0131c\u0131 kayd\u0131 olu\u015fturacak ve bu bilgileri otomatik olarak bu dosyaya yazacakt\u0131r. <code>ACME_DNS_URL<\/code> ve <code>ACME_DNS_REGISTER_URL<\/code> i\u00e7indeki IP adresinin, <code>acme-dns<\/code> sunucunuzun kendi IP adresi oldu\u011fundan emin olun.<\/p>\n<p>Dosyay\u0131 kaydedip kapat\u0131n. G\u00fcvenlik i\u00e7in bu dosyan\u0131n izinlerini ayarlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo chmod 600 \/opt\/acme-dns-certbot\/config.json<\/code><\/pre>\n<h3>Ad\u0131m 5: Let&#8217;s Encrypt Sertifikas\u0131 Edinme<\/h3>\n<p>Art\u0131k her \u015fey haz\u0131r oldu\u011funa g\u00f6re, Certbot&#8217;u kullanarak sertifikay\u0131 edinebiliriz.<\/p>\n<p>Bu ad\u0131mda, <code>certbot<\/code>&#8216;u <code>acme-dns-certbot<\/code> hook&#8217;u ile birlikte \u00e7al\u0131\u015ft\u0131raca\u011f\u0131z.<br \/>\nA\u015fa\u011f\u0131daki komutta <code>example.com<\/code> ve <code>www.example.com<\/code> yerine kendi domain adlar\u0131n\u0131z\u0131 yaz\u0131n. Wildcard sertifika almak istiyorsan\u0131z, <code>*.example.com<\/code> ve <code>example.com<\/code> gibi hem wildcard hem de ana domaini belirtmeniz gerekmektedir.<\/p>\n<pre><code class=\"language-bash\">sudo certbot certonly \\\n  --authenticator dns-01 \\\n  --dns-01-hook \/opt\/acme-dns-certbot\/venv\/bin\/python \\\n  --dns-01-hook-args \"\/opt\/acme-dns-certbot\/certbot_acmedns.py\" \\\n  --server https:\/\/acme-v02.api.letsencrypt.org\/directory \\\n  --preferred-challenges dns \\\n  -d example.com \\\n  -d *.example.com \\\n  --email admin@example.com \\\n  --agree-tos \\\n  --non-interactive \\\n  --keep-until-expiring<\/code><\/pre>\n<p><strong>Komut A\u00e7\u0131klamas\u0131:<\/strong><br \/>\n*   <code>certonly<\/code>: Yaln\u0131zca sertifika edinir, otomatik olarak bir web sunucusu yap\u0131land\u0131rmaz.<br \/>\n*   <code>--authenticator dns-01<\/code>: DNS-01 do\u011frulama y\u00f6ntemini kullanaca\u011f\u0131m\u0131z\u0131 belirtir.<br \/>\n*   <code>--dns-01-hook \/opt\/acme-dns-certbot\/venv\/bin\/python<\/code>: Certbot&#8217;un DNS-01 do\u011frulamas\u0131 i\u00e7in \u00e7al\u0131\u015ft\u0131raca\u011f\u0131 Python yorumlay\u0131c\u0131s\u0131n\u0131n yolunu belirtir.<br \/>\n*   <code>--dns-01-hook-args \"\/opt\/acme-dns-certbot\/certbot_acmedns.py\"<\/code>: Hook beti\u011finin yolunu Python yorumlay\u0131c\u0131s\u0131na arg\u00fcman olarak iletir.<br \/>\n*   <code>--server https:\/\/acme-v02.api.letsencrypt.org\/directory<\/code>: Let&#8217;s Encrypt&#8217;in ACME v2 API sunucusunu kullanaca\u011f\u0131m\u0131z\u0131 belirtir (wildcard sertifikalar i\u00e7in gereklidir).<br \/>\n*   <code>--preferred-challenges dns<\/code>: DNS do\u011frulamas\u0131n\u0131 tercih etti\u011fimizi belirtir.<br \/>\n<em>   <code>-d example.com -d <\/em>.example.com<\/code>: Sertifika almak istedi\u011finiz domainleri belirtir. Wildcard sertifika i\u00e7in hem ana domaini hem de <code>*.<\/code> ile wildcard domaini belirtmelisiniz.<br \/>\n*   <code>--email admin@example.com<\/code>: Let&#8217;s Encrypt&#8217;in size bildirim g\u00f6nderece\u011fi e-posta adresiniz.<br \/>\n*   <code>--agree-tos<\/code>: Let&#8217;s Encrypt Hizmet \u015eartlar\u0131n\u0131 kabul etti\u011finizi belirtir.<br \/>\n*   <code>--non-interactive<\/code>: Etkile\u015fimsiz modda \u00e7al\u0131\u015f\u0131r, yani herhangi bir soru sormaz.<br \/>\n*   <code>--keep-until-expiring<\/code>: Mevcut bir sertifika hala ge\u00e7erliyse, s\u00fcresi dolana kadar yenileme yapmaz.<\/p>\n<p>Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, <code>acme-dns-certbot\/config.json<\/code> dosyan\u0131z\u0131 kontrol edin. <code>ACME_DNS_USERNAME<\/code> ve <code>ACME_DNS_PASSWORD<\/code> alanlar\u0131n\u0131n otomatik olarak dolduruldu\u011funu g\u00f6rmelisiniz. Bu kimlik bilgileri, <code>acme-dns<\/code> sunucusunda olu\u015fturulan yeni bir kay\u0131t i\u00e7indir.<\/p>\n<p>E\u011fer her \u015fey yolunda giderse, Certbot sertifikay\u0131 ba\u015far\u0131yla edindi\u011fini belirten bir mesaj g\u00f6sterecektir. Sertifikalar\u0131n\u0131z genellikle <code>\/etc\/letsencrypt\/live\/example.com\/<\/code> dizininde saklan\u0131r (burada <code>example.com<\/code>, sertifika ald\u0131\u011f\u0131n\u0131z ilk domaindir).<\/p>\n<p><strong>Test Etme (Dry Run):<\/strong><br \/>\nSertifika edinme i\u015flemine ba\u015flamadan \u00f6nce her \u015feyin do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in bir &#8220;dry run&#8221; yapabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo certbot certonly \\\n  --authenticator dns-01 \\\n  --dns-01-hook \/opt\/acme-dns-certbot\/venv\/bin\/python \\\n  --dns-01-hook-args \"\/opt\/acme-dns-certbot\/certbot_acmedns.py\" \\\n  --server https:\/\/acme-v02.api.letsencrypt.org\/directory \\\n  --preferred-challenges dns \\\n  -d example.com \\\n  -d *.example.com \\\n  --email admin@example.com \\\n  --agree-tos \\\n  --non-interactive \\\n  --keep-until-expiring \\\n  --dry-run<\/code><\/pre>\n<p><code>--dry-run<\/code> arg\u00fcman\u0131, Let&#8217;s Encrypt&#8217;in test sunucular\u0131n\u0131 kullanarak do\u011frulama i\u015flemini yapar, ancak ger\u00e7ek bir sertifika yay\u0131nlamaz. Bu, rate limitlerine tak\u0131lmadan yap\u0131land\u0131rman\u0131z\u0131 test etmenizi sa\u011flar.<\/p>\n<h3>Ad\u0131m 6: Sertifika Yenileme<\/h3>\n<p>Let&#8217;s Encrypt sertifikalar\u0131 90 g\u00fcn ge\u00e7erlidir. Bu nedenle, sertifikalar\u0131n\u0131z\u0131 d\u00fczenli olarak yenilemeniz \u00f6nemlidir. <code>certbot<\/code>&#8216;un yerle\u015fik yenileme mekanizmas\u0131, <code>acme-dns-certbot<\/code> hook&#8217;unu kullanarak bu s\u00fcreci otomatikle\u015ftirir.<\/p>\n<p>Sertifikalar\u0131n\u0131z\u0131 manuel olarak yenilemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo certbot renew --dns-01-hook \/opt\/acme-dns-certbot\/venv\/bin\/python --dns-01-hook-args \"\/opt\/acme-dns-certbot\/certbot_acmedns.py\"<\/code><\/pre>\n<p>Bu komut, s\u00fcresi dolmak \u00fczere olan t\u00fcm sertifikalar\u0131 yeniler.<\/p>\n<p><strong>Otomatik Yenileme:<\/strong><br \/>\nCertbot&#8217;u Snap ile kurdu\u011funuzda, genellikle otomatik yenilemeyi sa\u011flayan bir <code>systemd<\/code> zamanlay\u0131c\u0131s\u0131 veya <code>cron<\/code> i\u015fi otomatik olarak kurulur. Bu i\u015f, g\u00fcnde iki kez \u00e7al\u0131\u015farak s\u00fcresi dolmak \u00fczere olan sertifikalar\u0131 kontrol eder ve yeniler.<\/p>\n<p>Otomatik yenileme i\u015finin durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status snap.certbot.renew.service\nsudo systemctl status snap.certbot.renew.timer<\/code><\/pre>\n<p>E\u011fer bu servisler aktifse, yenileme i\u015flemi otomatik olarak ger\u00e7ekle\u015fecektir. E\u011fer de\u011filse, manuel olarak bir <code>cron<\/code> i\u015fi olu\u015fturabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo crontab -e<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin (\u00f6rne\u011fin, her hafta Pazartesi sabah 3:00&#8217;te \u00e7al\u0131\u015f\u0131r):<\/p>\n<pre><code class=\"language-cron\">0 3 <em> <\/em> 1 \/usr\/bin\/certbot renew --dns-01-hook \/opt\/acme-dns-certbot\/venv\/bin\/python --dns-01-hook-args \"\/opt\/acme-dns-certbot\/certbot_acmedns.py\" --quiet<\/code><\/pre>\n<p><code>--quiet<\/code> arg\u00fcman\u0131, yaln\u0131zca hatalar veya yenileme gerektiren durumlar oldu\u011funda \u00e7\u0131kt\u0131 \u00fcretir.<\/p>\n<h3>Ad\u0131m 7: Sertifikalar\u0131 Kullanma (Nginx\/Apache \u00d6rne\u011fi)<\/h3>\n<p>Sertifikalar\u0131n\u0131z <code>\/etc\/letsencrypt\/live\/example.com\/<\/code> dizininde bulunur. Bu dizin i\u00e7inde genellikle a\u015fa\u011f\u0131daki dosyalar bulunur:<br \/>\n*   <code>fullchain.pem<\/code>: Tam sertifika zinciri (sertifikan\u0131z + ara sertifikalar). Web sunucunuzda <code>ssl_certificate<\/code> olarak kullan\u0131l\u0131r.<br \/>\n*   <code>privkey.pem<\/code>: \u00d6zel anahtar\u0131n\u0131z. Web sunucunuzda <code>ssl_certificate_key<\/code> olarak kullan\u0131l\u0131r.<br \/>\n*   <code>chain.pem<\/code>: Sadece ara sertifikalar.<br \/>\n*   <code>cert.pem<\/code>: Sadece domain sertifikan\u0131z.<\/p>\n<p><strong>Nginx \u00d6rne\u011fi:<\/strong><br \/>\nNginx sanal host yap\u0131land\u0131rman\u0131za a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyerek sertifikalar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    server_name example.com www.example.com;\n    return 301 https:\/\/$host$request_uri;\n}\n\nserver {\n    listen 443 ssl;\n    server_name example.com www.example.com;\n\n    ssl_certificate \/etc\/letsencrypt\/live\/example.com\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/example.com\/privkey.pem;\n\n    # Di\u011fer SSL ayarlar\u0131 (g\u00fcvenlik i\u00e7in \u00f6nemlidir)\n    ssl_protocols TLSv1.2 TLSv1.3;\n    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';\n    ssl_prefer_server_ciphers on;\n    ssl_session_cache shared:SSL:10m;\n    ssl_session_timeout 1d;\n    ssl_session_tickets off;\n    ssl_stapling on;\n    ssl_stapling_verify on;\n    resolver 8.8.8.8 8.8.4.4 valid=300s; # Google DNS veya kendi g\u00fcvenilir DNS'niz\n    resolver_timeout 5s;\n    add_header Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\";\n    add_header X-Frame-Options DENY;\n    add_header X-Content-Type-Options nosniff;\n\n    root \/var\/www\/html; # Web sitenizin k\u00f6k dizini\n    index index.html;\n\n    # Di\u011fer Nginx yap\u0131land\u0131rmalar\u0131n\u0131z...\n}<\/code><\/pre>\n<p>Yap\u0131land\u0131rmay\u0131 kaydedip Nginx&#8217;i yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nginx -t\nsudo systemctl restart nginx<\/code><\/pre>\n<p><strong>Apache \u00d6rne\u011fi:<\/strong><br \/>\nApache sanal host yap\u0131land\u0131rman\u0131za a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyerek sertifikalar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerName example.com\n    ServerAlias www.example.com\n    Redirect permanent \/ https:\/\/example.com\/\n<\/VirtualHost>\n\n<VirtualHost *:443>\n    ServerName example.com\n    ServerAlias www.example.com\n\n    SSLEngine on\n    SSLCertificateFile \/etc\/letsencrypt\/live\/example.com\/fullchain.pem\n    SSLCertificateKeyFile \/etc\/letsencrypt\/live\/example.com\/privkey.pem\n\n    # Di\u011fer SSL ayarlar\u0131\n    SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1\n    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH\n    SSLHonorCipherOrder on\n    Header always set Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\"\n\n    DocumentRoot \/var\/www\/html # Web sitenizin k\u00f6k dizini\n\n    # Di\u011fer Apache yap\u0131land\u0131rmalar\u0131n\u0131z...\n<\/VirtualHost><\/code><\/pre>\n<p>Yap\u0131land\u0131rmay\u0131 kaydedip Apache&#8217;yi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest\nsudo systemctl restart apache2<\/code><\/pre>\n<h3>Sorun Giderme<\/h3>\n<p>Kurulum s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>DNS Yay\u0131l\u0131m Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>Belirti:<\/strong> <code>certbot<\/code> &#8220;Timeout&#8221; veya &#8220;DNS problem&#8221; hatas\u0131 veriyor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> DNS kay\u0131tlar\u0131n\u0131z\u0131n (\u00f6zellikle NS kayd\u0131) internet genelinde tamamen yay\u0131l\u0131p yay\u0131lmad\u0131\u011f\u0131n\u0131 kontrol edin. <code>dig NS _acme-challenge.example.com<\/code> ve <code>dig TXT _acme-challenge.example.com @ACME_DNS_SUNUCUNUZUN_GENEL_IP<\/code> komutlar\u0131n\u0131 kullanarak kontrol edin. Bazen 1-2 saat beklemek gerekebilir.<br \/>\n*   <strong><code>acme-dns<\/code> Servisi \u00c7al\u0131\u015fm\u0131yor:<\/strong><br \/>\n    *   <strong>Belirti:<\/strong> <code>systemctl status acme-dns<\/code> komutu &#8220;failed&#8221; veya &#8220;inactive&#8221; g\u00f6steriyor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>sudo journalctl -u acme-dns<\/code> komutuyla g\u00fcnl\u00fckleri kontrol edin. Yap\u0131land\u0131rma dosyas\u0131ndaki (<code>\/etc\/acme-dns\/config.yaml<\/code>) hatalar veya port \u00e7ak\u0131\u015fmalar\u0131 (\u00f6rne\u011fin, 53\/UDP ba\u015fka bir servis taraf\u0131ndan kullan\u0131l\u0131yorsa) yayg\u0131n nedenlerdir.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>Belirti:<\/strong> <code>acme-dns<\/code> servisi \u00e7al\u0131\u015f\u0131yor ancak <code>dig<\/code> komutu <code>acme-dns<\/code> sunucusundan yan\u0131t alam\u0131yor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Sunucunuzun g\u00fcvenlik duvar\u0131nda (UFW, iptables vb.) 53\/UDP portunun d\u0131\u015far\u0131dan eri\u015fime a\u00e7\u0131k oldu\u011fundan emin olun.<br \/>\n*   <strong><code>acme-dns-certbot<\/code> Yap\u0131land\u0131rma Hatas\u0131:<\/strong><br \/>\n    *   <strong>Belirti:<\/strong> Certbot \u00e7al\u0131\u015f\u0131rken Python beti\u011finden hata al\u0131yor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>\/opt\/acme-dns-certbot\/config.json<\/code> dosyas\u0131ndaki <code>ACME_DNS_URL<\/code> ve <code>ACME_DNS_REGISTER_URL<\/code> de\u011ferlerinin do\u011fru IP adresini ve portu i\u00e7erdi\u011finden emin olun. \u0130lk \u00e7al\u0131\u015ft\u0131rmada <code>ACME_DNS_USERNAME<\/code> ve <code>ACME_DNS_PASSWORD<\/code> alanlar\u0131n\u0131n bo\u015f b\u0131rak\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n*   <strong>Certbot Rate Limitleri:<\/strong><br \/>\n    *   <strong>Belirti:<\/strong> \u00c7ok fazla deneme sonras\u0131 Let&#8217;s Encrypt&#8217;ten &#8220;rate limit exceeded&#8221; hatas\u0131.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Let&#8217;s Encrypt&#8217;in belirli bir domain i\u00e7in belirli bir s\u00fcre i\u00e7inde alabilece\u011finiz sertifika say\u0131s\u0131na s\u0131n\u0131rlamalar\u0131 vard\u0131r. Sorunlar\u0131 \u00e7\u00f6zmek i\u00e7in <code>--dry-run<\/code> kullanarak test etmeye devam edin ve ger\u00e7ek sertifika edinme i\u015flemini ancak her \u015feyin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin oldu\u011funuzda yap\u0131n.<br \/>\n*   <strong>Wildcard Sertifika Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>Belirti:<\/strong> Wildcard sertifika al\u0131nam\u0131yor veya sadece ana domain i\u00e7in sertifika al\u0131n\u0131yor.<br \/>\n    <em>   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>certbot<\/code> komutunda hem ana domain (<code>-d example.com<\/code>) hem de wildcard domain (<code>-d <\/em>.example.com<\/code>) belirtildi\u011finden emin olun. Ayr\u0131ca, <code>_acme-challenge.example.com<\/code> NS kayd\u0131n\u0131n do\u011fru \u015fekilde delege edildi\u011finden emin olun.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehberde, <code>acme-dns<\/code> ve <code>acme-dns-certbot<\/code> ara\u00e7lar\u0131n\u0131 kullanarak Ubuntu 18.04 \u00fczerinde Let&#8217;s Encrypt sertifikalar\u0131n\u0131 DNS-01 do\u011frulamas\u0131 ile nas\u0131l edinece\u011finizi ayr\u0131nt\u0131l\u0131 olarak ele ald\u0131k. Bu y\u00f6ntem, \u00f6zellikle wildcard sertifikalar almak, 80\/443 portlar\u0131na eri\u015fimi olmayan sunucularda sertifika kullanmak veya DNS sa\u011flay\u0131c\u0131n\u0131z\u0131n <code>certbot<\/code> eklentileri taraf\u0131ndan desteklenmedi\u011fi durumlarda son derece esnek ve g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<p>Kurulum biraz karma\u015f\u0131k g\u00f6r\u00fcnse de, bir kez do\u011fru \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda, sertifika edinme ve yenileme s\u00fcre\u00e7leri tamamen otomatik hale gelir. Bu sayede, web sitelerinizin ve servislerinizin s\u00fcrekli olarak g\u00fcvenli ve HTTPS \u00fczerinden eri\u015filebilir olmas\u0131n\u0131 sa\u011flayabilirsiniz. G\u00fcvenli\u011finizi art\u0131rmak ve arama motoru s\u0131ralamalar\u0131n\u0131z\u0131 iyile\u015ftirmek i\u00e7in Let&#8217;s Encrypt ve DNS do\u011frulamas\u0131, modern web altyap\u0131s\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Unutmay\u0131n, g\u00fcvenlik bir s\u00fcre\u00e7tir ve sertifikalar\u0131n\u0131z\u0131 d\u00fczenli olarak yenilemek bu s\u00fcrecin \u00f6nemli bir par\u00e7as\u0131d\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#8217;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda,","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":[1468],"tags":[],"class_list":{"0":"post-35030","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#039;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04) - 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\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#039;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)\" \/>\n<meta property=\"og:description\" content=\"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#039;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04) Giri\u015f G\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-24T23:40:53+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=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#8217;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)\",\"datePublished\":\"2025-11-24T23:40:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/\"},\"wordCount\":2623,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/\",\"name\":\"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let's Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-24T23:40:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#8217;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)\"}]},{\"@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":"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let's Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04) - 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\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/","og_locale":"tr_TR","og_type":"article","og_title":"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let's Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)","og_description":"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let's Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04) Giri\u015f G\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda,","og_url":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-24T23:40:53+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#8217;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)","datePublished":"2025-11-24T23:40:53+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/"},"wordCount":2623,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/","url":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/","name":"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let's Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-24T23:40:53+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/acme-dns-certbot-kullanarak-dns-dogrulamasi-ile-lets-encrypt-sertifikasi-edinme-rehberi-ubuntu-18-04\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"acme-dns-certbot Kullanarak DNS Do\u011frulamas\u0131 ile Let&#8217;s Encrypt Sertifikas\u0131 Edinme Rehberi (Ubuntu 18.04)"}]},{"@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\/35030","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=35030"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35030\/revisions"}],"predecessor-version":[{"id":35031,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35030\/revisions\/35031"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}