{"id":33666,"date":"2025-11-05T17:01:19","date_gmt":"2025-11-05T14:01:19","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/"},"modified":"2025-11-05T17:01:19","modified_gmt":"2025-11-05T14:01:19","slug":"pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/","title":{"rendered":"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7"},"content":{"rendered":"<p><body><\/p>\n<p>Modern web uygulamalar\u0131 geli\u015ftirirken veri g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zaman \u00f6ncelikli olmu\u015ftur. PocketBase, h\u0131zl\u0131 ve hafif bir backend \u00e7\u00f6z\u00fcm\u00fc sunsa da, uygulaman\u0131z\u0131n internet \u00fczerinde g\u00fcvenli bir \u015fekilde yay\u0131nlanmas\u0131 i\u00e7in alan ad\u0131 (domain) ve TLS\/SSL sertifikas\u0131 kurulumu hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, PocketBase projenizi kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli (HTTPS) bir ba\u011flant\u0131yla nas\u0131l yay\u0131nlayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenecek, b\u00f6ylece kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in hem g\u00fcvenilir hem de profesyonel bir deneyim sunacaks\u0131n\u0131z.<\/p>\n<p>G\u00fcn\u00fcm\u00fczde dijital d\u00fcnyan\u0131n her k\u00f6\u015fesinde veri ak\u0131\u015f\u0131 ya\u015fan\u0131yor ve bu verilerin g\u00fcvenli\u011fi, hem geli\u015ftiriciler hem de son kullan\u0131c\u0131lar i\u00e7in tart\u0131\u015fmas\u0131z bir \u00f6ncelik haline gelmi\u015ftir. PocketBase, Go tabanl\u0131, tek bir ikili dosya i\u00e7inde \u00e7al\u0131\u015fan, kolayca entegre edilebilen bir backend \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. SQLite veritaban\u0131, y\u00f6netici paneli, API ve kimlik do\u011frulama \u00f6zelliklerini bir arada sunarak geli\u015ftirme s\u00fcrecini \u00f6nemli \u00f6l\u00e7\u00fcde h\u0131zland\u0131r\u0131r. Ancak, PocketBase uygulaman\u0131z\u0131 basit\u00e7e bir sunucuya y\u00fckleyip HTTP \u00fczerinden yay\u0131nlamak, beraberinde ciddi g\u00fcvenlik risklerini getirir. Peki, bu riskler nelerdir ve PocketBase projenizi neden kendi alan ad\u0131n\u0131z ve bir TLS\/SSL sertifikas\u0131 ile g\u00fcvenli hale getirmelisiniz?<\/p>\n<p>\u00d6ncelikle, \u015fifresiz HTTP ba\u011flant\u0131lar\u0131n\u0131n en b\u00fcy\u00fck zaaf\u0131, verilerin a\u011f \u00fczerinden a\u00e7\u0131k metin olarak iletilmesidir. Bu durum, hassas bilgilerinizin (kullan\u0131c\u0131 adlar\u0131, \u015fifreler, ki\u015fisel veriler, \u00f6deme bilgileri) k\u00f6t\u00fc niyetli ki\u015filer taraf\u0131ndan kolayca ele ge\u00e7irilmesine zemin haz\u0131rlar. Man-in-the-Middle (MITM) sald\u0131r\u0131lar\u0131, dinleme (eavesdropping) ve veri kurcalama gibi tehditler, HTTP ba\u011flant\u0131lar\u0131nda yayg\u0131n olarak kar\u015f\u0131la\u015f\u0131lan durumlard\u0131r. Bu t\u00fcr sald\u0131r\u0131lar, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n g\u00fcvenini sarsmakla kalmaz, ayn\u0131 zamanda yasal ve itibar kayb\u0131na yol a\u00e7abilir.<\/p>\n<p>\u0130\u015fte tam bu noktada TLS (Transport Layer Security) devreye girer. Halk aras\u0131nda daha \u00e7ok SSL (Secure Sockets Layer) olarak bilinen bu protokol, sunucu ile istemci aras\u0131ndaki ileti\u015fimi \u015fifreleyerek veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc ve gizlili\u011fini sa\u011flar. Bir TLS sertifikas\u0131 olmadan, taray\u0131c\u0131lar sitenizi &#8220;G\u00fcvenli De\u011fil&#8221; olarak i\u015faretleyecek ve bu da ziyaret\u00e7ilerinizi sitenizden uzakla\u015ft\u0131racakt\u0131r. Arama motorlar\u0131 da (\u00f6zellikle Google), HTTPS kullanan siteleri \u00f6nceliklendirerek SEO s\u0131ralaman\u0131z \u00fczerinde olumlu bir etki yarat\u0131r. Kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli bir ba\u011flant\u0131 kurmak, markan\u0131z\u0131n profesyonelli\u011fini ve kullan\u0131c\u0131lar\u0131n\u0131za verdi\u011finiz de\u011feri de g\u00f6sterir.<\/p>\n<p>Bir vaka analizi olarak, k\u00fc\u00e7\u00fck bir e-ticaret sitesi d\u00fc\u015f\u00fcnelim. Ba\u015flang\u0131\u00e7ta PocketBase&#8217;i h\u0131zl\u0131ca kurup HTTP \u00fczerinden yay\u0131nlam\u0131\u015f olabilirler. Ancak, m\u00fc\u015fteriler \u00f6deme bilgilerini girerken taray\u0131c\u0131n\u0131n &#8220;G\u00fcvenli De\u011fil&#8221; uyar\u0131s\u0131n\u0131 g\u00f6rmeye ba\u015flad\u0131\u011f\u0131nda, bu durum sat\u0131\u015flar\u0131 ve m\u00fc\u015fteri g\u00fcvenini do\u011frudan olumsuz etkileyecektir. M\u00fc\u015fteriler, verilerinin g\u00fcvende olmad\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnerek al\u0131\u015fveri\u015fi terk edebilir. Bu senaryoda, bir alan ad\u0131 ve TLS kurulumu, sadece teknik bir gereklilik olmaktan \u00e7\u0131k\u0131p, i\u015fletmenin hayatta kalmas\u0131 ve b\u00fcy\u00fcmesi i\u00e7in kritik bir i\u015f karar\u0131na d\u00f6n\u00fc\u015f\u00fcr. PocketBase&#8217;in esnek yap\u0131s\u0131 sayesinde, bu g\u00fcvenlik katmanlar\u0131n\u0131 entegre etmek d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcn\u00fczden daha kolayd\u0131r. Bu makalenin devam\u0131nda, PocketBase projenizi bu \u015fekilde nas\u0131l g\u00fc\u00e7lendirece\u011finizi ad\u0131m ad\u0131m ke\u015ffedece\u011fiz.<\/p>\n<h2>Temel Kavramlar: Domain, DNS ve TLS Nelerdir?<\/h2>\n<p>PocketBase ile g\u00fcvenli bir uygulaman\u0131n temellerini atmadan \u00f6nce, bu s\u00fcrecin ana bile\u015fenlerini anlamak \u00e7ok \u00f6nemlidir. Alan ad\u0131 (domain), DNS (Domain Name System) ve TLS (Transport Layer Security) birbirini tamamlayan ve internet \u00fczerindeki g\u00fcvenli ileti\u015fimin yap\u0131 ta\u015flar\u0131n\u0131 olu\u015fturan kavramlard\u0131r. Bu b\u00f6l\u00fcmde, her birini detayl\u0131ca inceleyerek konuya yabanc\u0131 olan okuyucular i\u00e7in sa\u011flam bir temel olu\u015fturaca\u011f\u0131z.<\/p>\n<h3>Alan Ad\u0131 (Domain) Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>Alan ad\u0131, bir web sitesinin internet \u00fczerindeki adresi gibidir. \u00d6rne\u011fin, &#8220;google.com&#8221; bir alan ad\u0131d\u0131r. \u0130nternet \u00fczerindeki her sunucunun asl\u0131nda bir IP adresi (\u00f6rn. 192.0.2.1) vard\u0131r. Ancak insanlar\u0131n say\u0131 dizilerini ak\u0131lda tutmas\u0131 zor oldu\u011fu i\u00e7in, alan adlar\u0131 bu IP adreslerinin hat\u0131rlanabilir ve okunabilir kar\u015f\u0131l\u0131klar\u0131d\u0131r. Alan adlar\u0131 sayesinde kullan\u0131c\u0131lar, karma\u015f\u0131k IP adresleri yerine anlaml\u0131 isimler yazarak web sitelerine eri\u015febilirler. Kendi alan ad\u0131n\u0131z olmas\u0131, projenizin profesyonel g\u00f6r\u00fcnmesini sa\u011flar, marka bilinirli\u011fini art\u0131r\u0131r ve kullan\u0131c\u0131lar\u0131n sitenize daha kolay ula\u015fmas\u0131n\u0131 sa\u011flar. Bir alan ad\u0131 sat\u0131n almak, bir kay\u0131t kurulu\u015fu (registrar) arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r ve belirli bir s\u00fcre i\u00e7in (genellikle y\u0131ll\u0131k) kiralan\u0131r.<\/p>\n<h3>DNS (Domain Name System) Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>DNS, internetin telefon rehberi gibidir. Kullan\u0131c\u0131 bir web taray\u0131c\u0131s\u0131na bir alan ad\u0131 yazd\u0131\u011f\u0131nda, DNS bu alan ad\u0131n\u0131 ilgili sunucunun IP adresine \u00e7evirir. Bu sayede taray\u0131c\u0131, do\u011fru sunucuya ba\u011flanabilir. DNS, d\u00fcnya genelinde da\u011f\u0131t\u0131lm\u0131\u015f bir sunucu a\u011f\u0131d\u0131r ve bu sunucular, alan adlar\u0131 ile IP adresleri aras\u0131ndaki e\u015fle\u015fmeleri tutar. Bir alan ad\u0131n\u0131 sunucunuza y\u00f6nlendirmek i\u00e7in DNS kay\u0131tlar\u0131 kullan\u0131l\u0131r. En yayg\u0131n DNS kay\u0131t t\u00fcrleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>A Kayd\u0131 (Address Record):<\/strong> Bir alan ad\u0131n\u0131 do\u011frudan bir IPv4 adresine e\u015fler. \u00d6rne\u011fin, <code>ornek.com<\/code> adresini sunucunuzun IP adresine (\u00f6rn. <code>123.45.67.89<\/code>) y\u00f6nlendirir.<\/li>\n<li><strong>CNAME Kayd\u0131 (Canonical Name Record):<\/strong> Bir alan ad\u0131n\u0131 ba\u015fka bir alan ad\u0131na y\u00f6nlendirir. Genellikle <code>www.ornek.com<\/code> alt alan ad\u0131n\u0131 ana alan ad\u0131 <code>ornek.com<\/code>&#8216;a y\u00f6nlendirmek i\u00e7in kullan\u0131l\u0131r. Bu, ana alan ad\u0131n\u0131n IP adresi de\u011fi\u015fti\u011finde, CNAME kayd\u0131n\u0131 g\u00fcncellemeye gerek kalmadan alt alan ad\u0131n\u0131n da otomatik olarak g\u00fcncellenmesini sa\u011flar.<\/li>\n<li><strong>NS Kayd\u0131 (Name Server Record):<\/strong> Bir alan ad\u0131n\u0131n hangi DNS sunucular\u0131 taraf\u0131ndan y\u00f6netildi\u011fini belirtir.<\/li>\n<li><strong>MX Kayd\u0131 (Mail Exchange Record):<\/strong> Alan ad\u0131na gelen e-postalar\u0131n hangi posta sunucusuna g\u00f6nderilece\u011fini belirtir.<\/li>\n<\/ul>\n<p>Bir DNS kayd\u0131n\u0131 de\u011fi\u015ftirdi\u011finizde, bu de\u011fi\u015fikliklerin t\u00fcm internet genelinde yay\u0131lmas\u0131 (DNS propagation) biraz zaman alabilir. Bu s\u00fcre genellikle birka\u00e7 dakika ile 48 saat aras\u0131nda de\u011fi\u015febilir.<\/p>\n<h3>TLS (Transport Layer Security) Nedir ve Neden HTTP&#8217;den Farkl\u0131d\u0131r?<\/h3>\n<p>TLS, internet \u00fczerinden g\u00f6nderilen verilerin g\u00fcvenli\u011fini sa\u011flamak i\u00e7in tasarlanm\u0131\u015f kriptografik bir protokold\u00fcr. Daha \u00f6nceki versiyonu SSL (Secure Sockets Layer) olarak bilinse de, g\u00fcn\u00fcm\u00fczde do\u011fru terim TLS&#8217;dir. TLS, \u00fc\u00e7 temel g\u00fcvenlik hizmeti sunar:<\/p>\n<ol>\n<li><strong>\u015eifreleme (Encryption):<\/strong> Sunucu ile istemci aras\u0131ndaki t\u00fcm ileti\u015fimi \u015fifreleyerek, verilerin k\u00f6t\u00fc niyetli ki\u015filer taraf\u0131ndan okunmas\u0131n\u0131 engeller.<\/li>\n<li><strong>Kimlik Do\u011frulama (Authentication):<\/strong> \u0130stemcinin do\u011fru sunucuya ba\u011fland\u0131\u011f\u0131ndan ve sunucunun iddia etti\u011fi ki\u015fi oldu\u011fundan emin olmas\u0131n\u0131 sa\u011flar. Bu, bir TLS sertifikas\u0131 arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015fir.<\/li>\n<li><strong>Veri B\u00fct\u00fcnl\u00fc\u011f\u00fc (Data Integrity):<\/strong> \u0130letilen verilerin yolculuk s\u0131ras\u0131nda de\u011fi\u015ftirilmedi\u011fini garanti eder.<\/li>\n<\/ol>\n<p>HTTP (Hypertext Transfer Protocol), web \u00fczerinde veri iletmek i\u00e7in kullan\u0131lan temel protokold\u00fcr ancak verileri \u015fifrelemez. Bu nedenle, HTTP \u00fczerinden g\u00f6nderilen bilgiler kolayca dinlenebilir. HTTPS (Hypertext Transfer Protocol Secure) ise, HTTP&#8217;nin TLS protokol\u00fc ile birle\u015ftirilmi\u015f halidir. Taray\u0131c\u0131n\u0131zda bir web sitesinin adres \u00e7ubu\u011funda &#8220;https:\/\/&#8221; g\u00f6rd\u00fc\u011f\u00fcn\u00fczde, bu ba\u011flant\u0131n\u0131n TLS ile \u015fifrelendi\u011fini ve g\u00fcvenli oldu\u011funu anlars\u0131n\u0131z. Bir TLS sertifikas\u0131, bir sertifika yetkilisi (CA &#8211; Certificate Authority) taraf\u0131ndan verilir ve web sitesinin kimli\u011fini do\u011frular. Let&#8217;s Encrypt gibi hizmetler sayesinde bu sertifikalar\u0131 \u00fccretsiz olarak edinebilirsiniz.<\/p>\n<p>Bu temel kavramlar, PocketBase uygulaman\u0131z\u0131 internete a\u00e7arken size yol g\u00f6sterecek ve neden her bir ad\u0131m\u0131 att\u0131\u011f\u0131n\u0131z\u0131 anlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r. \u0130lerleyen b\u00f6l\u00fcmlerde, bu kavramlar\u0131 PocketBase projenize nas\u0131l uygulayaca\u011f\u0131m\u0131z\u0131 detayl\u0131ca inceleyece\u011fiz.<\/p>\n<h2>PocketBase&#8217;i Bir Sunucuya Y\u00fckleme ve Ba\u015flatma: G\u00fcvenli \u0130lk Ad\u0131mlar<\/h2>\n<p>PocketBase uygulaman\u0131z\u0131 kendi alan ad\u0131n\u0131z ve TLS ile g\u00fcvenli hale getirme yolculu\u011fumuzun ilk pratik ad\u0131m\u0131, onu bir sunucuya y\u00fcklemek ve d\u00fczg\u00fcn bir \u015fekilde \u00e7al\u0131\u015ft\u0131rmakt\u0131r. Bu b\u00f6l\u00fcm, s\u0131f\u0131rdan bir sunucuda PocketBase&#8217;i nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve temel yap\u0131land\u0131rmalar\u0131 nas\u0131l yapaca\u011f\u0131n\u0131z\u0131 anlatacakt\u0131r. Genellikle bir Linux sunucusu (Ubuntu, Debian vb.) kullan\u0131ld\u0131\u011f\u0131n\u0131 varsayarak ilerleyece\u011fiz.<\/p>\n<h3>\u00d6n Gereksinimler ve Sunucu Haz\u0131rl\u0131\u011f\u0131<\/h3>\n<p>Ba\u015flamadan \u00f6nce sahip olman\u0131z gerekenler:<\/p>\n<ul>\n<li><strong>Bir Linux Sunucusu:<\/strong> DijitalOcean, AWS EC2, Google Cloud, Vultr veya hatta kendi ev sunucunuz olabilir. SSH eri\u015fimi olan bir sunucuya ihtiyac\u0131n\u0131z var.<\/li>\n<li><strong>SSH Eri\u015fimi:<\/strong> Sunucunuza uzaktan ba\u011flanmak i\u00e7in bir SSH istemcisi (Linux\/macOS i\u00e7in terminal, Windows i\u00e7in PuTTY veya WSL).<\/li>\n<li><strong>Temel Linux Komut Bilgisi:<\/strong> Dizinlerde gezinme, dosya indirme, dosya izinleri vb.<\/li>\n<\/ul>\n<p>Sunucunuza SSH ile ba\u011fland\u0131ktan sonra, ilk olarak sisteminizi g\u00fcncelleyerek ba\u015flay\u0131n. Bu, g\u00fcvenlik yamalar\u0131n\u0131 alman\u0131z\u0131 ve mevcut paketlerin en son s\u00fcr\u00fcmlerini kullanman\u0131z\u0131 sa\u011flar:<\/p>\n<pre><code>\n    sudo apt update\n    sudo apt upgrade -y\n    <\/pre>\n<p><\/code><\/p>\n<h3>PocketBase'i \u0130ndirme ve \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>PocketBase, Go ile yaz\u0131ld\u0131\u011f\u0131 i\u00e7in tek bir ikili dosya olarak gelir ve kurulumu olduk\u00e7a basittir. Genellikle en son s\u00fcr\u00fcm\u00fc projenizin k\u00f6k dizinine indirip \u00e7al\u0131\u015ft\u0131r\u0131rs\u0131n\u0131z.<\/p>\n<ol>\n<li><strong>Bir Dizin Olu\u015fturun:<\/strong> PocketBase i\u00e7in ayr\u0131 bir dizin olu\u015fturmak iyi bir uygulamad\u0131r.<\/li>\n<pre><code>\n        mkdir -p \/opt\/pocketbase\n        cd \/opt\/pocketbase\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>PocketBase'i \u0130ndirin:<\/strong> PocketBase'in <a href=\"https:\/\/github.com\/pocketbase\/pocketbase\/releases\" target=\"_blank\" rel=\"noopener\">resmi GitHub sayfas\u0131ndan<\/a> en son s\u00fcr\u00fcm\u00fcn Linux i\u00e7in olan ikili dosyas\u0131n\u0131 indirin. Mimariye (amd64, arm64) dikkat edin.<\/li>\n<pre><code>\n        # \u00d6rnek: Linux AMD64 i\u00e7in en son s\u00fcr\u00fcm\u00fc indirme (s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00fcncelleyin)\n        wget https:\/\/github.com\/pocketbase\/pocketbase\/releases\/download\/v0.22.8\/pocketbase_0.22.8_linux_amd64.zip\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>Dosyay\u0131 A\u00e7\u0131n ve \u0130zinleri Ayarlay\u0131n:<\/strong> \u0130ndirdi\u011finiz zip dosyas\u0131n\u0131 a\u00e7\u0131n ve \u00e7al\u0131\u015ft\u0131r\u0131labilir izinlerini verin.<\/li>\n<pre><code>\n        sudo apt install unzip # E\u011fer unzip kurulu de\u011filse\n        unzip pocketbase_0.22.8_linux_amd64.zip\n        chmod +x pocketbase\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>PocketBase'i Ba\u015flat\u0131n:<\/strong> \u0130lk \u00e7al\u0131\u015ft\u0131rmada y\u00f6netici paneli i\u00e7in bir kullan\u0131c\u0131 olu\u015fturman\u0131z istenecektir.<\/li>\n<pre><code>\n        .\/pocketbase serve --http 0.0.0.0:8090\n        <\/pre>\n<p><\/code>\n    <\/ol>\n<p>Bu komut, PocketBase'i t\u00fcm aray\u00fczlerde (<code>0.0.0.0<\/code>) 8090 portunda HTTP \u00fczerinden ba\u015flat\u0131r. Taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresi ve 8090 portu ile (\u00f6rn. <code>http:\/\/[SUNUCU_IP]:8090\/_\/<\/code>) y\u00f6netici paneline eri\u015febilirsiniz. \u0130lk eri\u015fimde bir y\u00f6netici hesab\u0131 olu\u015fturman\u0131z istenecektir. Bu ad\u0131m, PocketBase'in temel veri dosyalar\u0131n\u0131 (<code>pb_data\/<\/code>) ve ayarlar\u0131n\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h3>PocketBase'i Bir Sistem Servisi Olarak \u00c7al\u0131\u015ft\u0131rma (systemd)<\/h3>\n<p>PocketBase'i elle \u00e7al\u0131\u015ft\u0131rmak yerine, sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flamas\u0131 ve arka planda s\u00fcrekli \u00e7al\u0131\u015fmas\u0131 i\u00e7in bir <code>systemd<\/code> servisi olarak yap\u0131land\u0131rmak en iyi yakla\u015f\u0131md\u0131r. Bu, uygulaman\u0131z\u0131n kesintisiz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<ol>\n<li><strong>Servis Dosyas\u0131n\u0131 Olu\u015fturun:<\/strong><\/li>\n<pre><code>\n        sudo nano \/etc\/systemd\/system\/pocketbase.service\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n ve kaydedin (<code>Ctrl+O<\/code>, <code>Enter<\/code>, <code>Ctrl+X<\/code>):<\/strong><\/li>\n<pre><code class=\"language-ini\">\n        [Unit]\n        Description=PocketBase Service\n        After=network.target\n\n        [Service]\n        Type=simple\n        User=www-data # veya kendi kullan\u0131c\u0131 ad\u0131n\u0131z, d\u00fc\u015f\u00fck yetkili bir kullan\u0131c\u0131 tavsiye edilir\n        Group=www-data # veya kendi grup ad\u0131n\u0131z\n        WorkingDirectory=\/opt\/pocketbase\n        ExecStart=\/opt\/pocketbase\/pocketbase serve --http 0.0.0.0:8090\n        Restart=always\n        RestartSec=5\n\n        [Install]\n        WantedBy=multi-user.target\n        <\/pre>\n<p><\/code><\/p>\n<div class=\"interactive-element\">\n<p><strong>Uzman \u0130pucu:<\/strong> <code>User<\/code> ve <code>Group<\/code> ayarlar\u0131n\u0131, uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in \u00f6zel olarak olu\u015fturdu\u011funuz, d\u00fc\u015f\u00fck yetkili bir kullan\u0131c\u0131ya (\u00f6rn. <code>pocketbase_user<\/code>) ataman\u0131z, g\u00fcvenlik a\u00e7\u0131s\u0131ndan en iyi uygulamad\u0131r. B\u00f6ylece, PocketBase'in \u00e7al\u0131\u015fmas\u0131 s\u0131ras\u0131nda herhangi bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fsa bile, sunucunun tamam\u0131na eri\u015fim engellenmi\u015f olur.<\/p>\n<\/p><\/div>\n<li><strong>Servisi Etkinle\u015ftirin ve Ba\u015flat\u0131n:<\/strong><\/li>\n<pre><code>\n        sudo systemctl daemon-reload\n        sudo systemctl enable pocketbase\n        sudo systemctl start pocketbase\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>Servis Durumunu Kontrol Edin:<\/strong><\/li>\n<pre><code>\n        sudo systemctl status pocketbase\n        <\/pre>\n<p><\/code>\n    <\/ol>\n<p>Art\u0131k PocketBase, sunucunuzun 8090 portunda arka planda \u00e7al\u0131\u015f\u0131yor. Bu kurulum, hen\u00fcz g\u00fcvenli bir ba\u011flant\u0131 sa\u011flamasa da, PocketBase'in temel operasyonel haz\u0131rl\u0131\u011f\u0131n\u0131 tamamlam\u0131\u015f olursunuz. Sonraki ad\u0131mlarda, alan ad\u0131n\u0131z\u0131 sunucunuza y\u00f6nlendirme ve TLS ile g\u00fcvenli hale getirme i\u015flemlerine ge\u00e7ece\u011fiz.<\/p>\n<h2>Alan Ad\u0131n\u0131z\u0131 Sunucunuza Y\u00f6nlendirme: DNS Ayarlar\u0131 Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>PocketBase'i sunucunuzda \u00e7al\u0131\u015f\u0131r duruma getirdikten sonraki en kritik ad\u0131mlardan biri, sat\u0131n ald\u0131\u011f\u0131n\u0131z alan ad\u0131n\u0131 (domain) sunucunuzun IP adresine y\u00f6nlendirmektir. Bu y\u00f6nlendirme, DNS (Domain Name System) kay\u0131tlar\u0131 arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015ftirilir. Bu b\u00f6l\u00fcmde, alan ad\u0131n\u0131z\u0131 sunucunuza nas\u0131l ba\u011flayaca\u011f\u0131n\u0131z\u0131 ve bu s\u00fcrecin detaylar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z.<\/p>\n<h3>Alan Ad\u0131 Kay\u0131t Kurulu\u015fu (Registrar) \u0130\u015flemleri<\/h3>\n<p>\u0130lk olarak, alan ad\u0131n\u0131z\u0131 sat\u0131n ald\u0131\u011f\u0131n\u0131z kay\u0131t kurulu\u015funun (GoDaddy, Namecheap, Google Domains, Natro, \u0130simtescil vb.) y\u00f6netim paneline giri\u015f yapman\u0131z gerekmektedir. Her kay\u0131t kurulu\u015funun aray\u00fcz\u00fc biraz farkl\u0131 olsa da, temel olarak \"DNS Y\u00f6netimi\", \"Domain Ayarlar\u0131\" veya \"Geli\u015fmi\u015f DNS\" gibi bir b\u00f6l\u00fcm aramal\u0131s\u0131n\u0131z.<\/p>\n<p>Bu b\u00f6l\u00fcmde, alan ad\u0131n\u0131zla ilgili mevcut DNS kay\u0131tlar\u0131n\u0131 g\u00f6receksiniz. E\u011fer alan ad\u0131n\u0131z\u0131 yeni ald\u0131ysan\u0131z veya ilk kez yap\u0131land\u0131r\u0131yorsan\u0131z, varsay\u0131lan kay\u0131tlar bulunabilir. Amac\u0131m\u0131z, ana alan ad\u0131n\u0131z\u0131 ve iste\u011fe ba\u011fl\u0131 olarak \"www\" alt alan ad\u0131n\u0131z\u0131 sunucunuzun IP adresine i\u015faret etmektir.<\/p>\n<h3>Gerekli DNS Kay\u0131tlar\u0131n\u0131 Ekleme<\/h3>\n<p>Alan ad\u0131n\u0131z\u0131 sunucunuza y\u00f6nlendirmek i\u00e7in en az bir, genellikle iki adet DNS kayd\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r:<\/p>\n<ol>\n<li><strong>A Kayd\u0131 (Address Record) Ekleme:<\/strong>\n<p>Ana alan ad\u0131n\u0131z\u0131 (\u00f6rn. <code>ornek.com<\/code>) sunucunuzun IPv4 adresine y\u00f6nlendirmek i\u00e7in bir A kayd\u0131 olu\u015fturman\u0131z gerekir. Bu kay\u0131t, taray\u0131c\u0131lar\u0131n alan ad\u0131n\u0131z\u0131 yazd\u0131klar\u0131nda do\u011frudan sunucunuzu bulmas\u0131n\u0131 sa\u011flar.<\/p>\n<ul>\n<li><strong>T\u00fcr (Type):<\/strong> <code>A<\/code><\/li>\n<li><strong>Ad\/Host (Name\/Host):<\/strong> <code>@<\/code> (Bu genellikle ana alan ad\u0131n\u0131 temsil eder, baz\u0131 panellerde bo\u015f b\u0131rak\u0131labilir veya alan ad\u0131n\u0131n kendisi yaz\u0131labilir.)<\/li>\n<li><strong>De\u011fer (Value):<\/strong> Sunucunuzun genel IP adresi (\u00f6rn. <code>123.45.67.89<\/code>)<\/li>\n<li><strong>TTL (Time To Live):<\/strong> Genellikle varsay\u0131lan olarak b\u0131rak\u0131l\u0131r (\u00f6rn. 3600 saniye veya 1 saat). Bu de\u011fer, DNS \u00f6nbelle\u011fe alma s\u00fcresini belirler. Daha d\u00fc\u015f\u00fck bir TTL, de\u011fi\u015fikliklerin daha h\u0131zl\u0131 yay\u0131lmas\u0131n\u0131 sa\u011flar ancak DNS sunucular\u0131 \u00fczerinde daha fazla y\u00fck olu\u015fturur.<\/li>\n<\/ul>\n<\/li>\n<li><strong>CNAME Kayd\u0131 (Canonical Name Record) Ekleme (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir):<\/strong>\n<p>Kullan\u0131c\u0131lar\u0131n alan ad\u0131n\u0131za <code>www.ornek.com<\/code> \u015feklinde de eri\u015febilmesini sa\u011flamak i\u00e7in bir CNAME kayd\u0131 eklemeniz \u00f6nerilir. Bu kay\u0131t, <code>www<\/code> alt alan ad\u0131n\u0131 ana alan ad\u0131n\u0131za y\u00f6nlendirir. B\u00f6ylece, ana alan ad\u0131n\u0131z\u0131n IP adresi de\u011fi\u015fti\u011finde, sadece A kayd\u0131n\u0131 g\u00fcncellemeniz yeterli olur.<\/p>\n<ul>\n<li><strong>T\u00fcr (Type):<\/strong> <code>CNAME<\/code><\/li>\n<li><strong>Ad\/Host (Name\/Host):<\/strong> <code>www<\/code><\/li>\n<li><strong>De\u011fer (Value):<\/strong> Ana alan ad\u0131n\u0131z (\u00f6rn. <code>ornek.com<\/code>)<\/li>\n<li><strong>TTL (Time To Live):<\/strong> Varsay\u0131lan olarak b\u0131rak\u0131l\u0131r.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>\u00d6rnek DNS Yap\u0131land\u0131rma Tablosu:<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th>T\u00fcr<\/th>\n<th>Ad\/Host<\/th>\n<th>De\u011fer<\/th>\n<th>TTL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>A<\/td>\n<td>@<\/td>\n<td>\n<pre><code>123.45.67.89<\/pre>\n<p><\/code><\/td>\n<td>3600<\/td>\n<\/tr>\n<tr>\n<td>CNAME<\/td>\n<td>www<\/td>\n<td>\n<pre><code>ornek.com<\/pre>\n<p><\/code><\/td>\n<td>3600<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"interactive-element\">\n<p><strong>Uzman \u0130pucu:<\/strong> Baz\u0131 kay\u0131t kurulu\u015flar\u0131, ana alan ad\u0131 i\u00e7in <code>@<\/code> yerine alan ad\u0131n\u0131n kendisini (\u00f6rn. <code>ornek.com<\/code>) kullanman\u0131z\u0131 isteyebilir. DNS paneli aray\u00fcz\u00fcn\u00fc dikkatlice inceleyin.<\/p>\n<\/p><\/div>\n<h3>DNS Yay\u0131lma S\u00fcreci (Propagation)<\/h3>\n<p>DNS kay\u0131tlar\u0131n\u0131 g\u00fcncelledikten sonra, bu de\u011fi\u015fikliklerin t\u00fcm d\u00fcnyadaki DNS sunucular\u0131na yay\u0131lmas\u0131 biraz zaman alabilir. Bu s\u00fcreye \"DNS yay\u0131lma s\u00fcreci\" (DNS propagation) denir ve genellikle birka\u00e7 dakika ile 48 saat aras\u0131nda de\u011fi\u015febilir. Bu s\u00fcre zarf\u0131nda, baz\u0131 kullan\u0131c\u0131lar hala eski IP adresine y\u00f6nlendirilirken, di\u011ferleri yeni IP adresine y\u00f6nlendirilebilir.<\/p>\n<p>Yay\u0131lma durumunu kontrol etmek i\u00e7in \u00e7e\u015fitli online ara\u00e7lar\u0131 kullanabilirsiniz. \u00d6rne\u011fin, <a href=\"https:\/\/www.whatsmydns.net\/\" target=\"_blank\" rel=\"noopener\">whatsmydns.net<\/a> gibi sitelere alan ad\u0131n\u0131z\u0131 yazarak, d\u00fcnya genelindeki DNS sunucular\u0131n\u0131n alan ad\u0131n\u0131z\u0131 hangi IP adresine \u00e7\u00f6zd\u00fc\u011f\u00fcn\u00fc g\u00f6rebilirsiniz. T\u00fcm sunucular\u0131n do\u011fru IP adresini g\u00f6stermesi, y\u00f6nlendirmenin ba\u015far\u0131l\u0131 oldu\u011fu anlam\u0131na gelir.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, alan ad\u0131n\u0131z art\u0131k sunucunuzun IP adresine i\u015faret ediyor olacakt\u0131r. Ancak, PocketBase uygulaman\u0131z hala HTTP \u00fczerinden \u00e7al\u0131\u015fmaktad\u0131r. Bir sonraki ad\u0131m, g\u00fcvenli bir ba\u011flant\u0131 sa\u011flamak i\u00e7in TLS\/SSL sertifikas\u0131 edinmek ve bunu bir reverse proxy ile entegre etmektir. Bu sayede, kullan\u0131c\u0131lar\u0131n\u0131z <code>https:\/\/ornek.com<\/code> adresinden uygulaman\u0131za g\u00fcvenli bir \u015fekilde eri\u015febilecektir.<\/p>\n<h2>G\u00fcvenli Ba\u011flant\u0131 i\u00e7in TLS\/SSL Sertifikas\u0131 Edinin: Let's Encrypt ile Ad\u0131m Ad\u0131m<\/h2>\n<p>Alan ad\u0131n\u0131z\u0131 sunucunuza y\u00f6nlendirdikten sonra, PocketBase uygulaman\u0131z\u0131n g\u00fcvenli bir HTTPS ba\u011flant\u0131s\u0131 \u00fczerinden \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in bir TLS\/SSL sertifikas\u0131na ihtiyac\u0131m\u0131z var. TLS sertifikalar\u0131, verileri \u015fifreleyerek gizlili\u011fi ve veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flarken, ayn\u0131 zamanda sitenizin kimli\u011fini do\u011frular. Ge\u00e7mi\u015fte bu sertifikalar olduk\u00e7a pahal\u0131 olabiliyordu, ancak <a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\" rel=\"noopener\">Let's Encrypt<\/a> sayesinde art\u0131k herkes \u00fccretsiz ve otomatik olarak g\u00fcvenilir TLS sertifikalar\u0131 edinebilir. Bu b\u00f6l\u00fcm, Let's Encrypt'in nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve bir reverse proxy kullanarak sertifika edinme s\u00fcrecini a\u00e7\u0131klayacakt\u0131r.<\/p>\n<h3>Neden Let's Encrypt?<\/h3>\n<p>Let's Encrypt, Internet Security Research Group (ISRG) taraf\u0131ndan i\u015fletilen \u00fccretsiz, otomatik ve a\u00e7\u0131k bir Sertifika Yetkilisidir (CA). Misyonu, web'in tamam\u0131n\u0131 \u015fifrelemektir. Temel avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>\u00dccretsiz:<\/strong> Sertifika edinmek i\u00e7in herhangi bir \u00fccret \u00f6demezsiniz.<\/li>\n<li><strong>Otomatik:<\/strong> Sertifika alma ve yenileme s\u00fcre\u00e7leri otomatikle\u015ftirilebilir, bu da y\u00f6netimi kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>A\u00e7\u0131k:<\/strong> Protokolleri ve yaz\u0131l\u0131mlar\u0131 a\u00e7\u0131k kaynakl\u0131d\u0131r.<\/li>\n<li><strong>G\u00fcvenilir:<\/strong> T\u00fcm b\u00fcy\u00fck taray\u0131c\u0131lar taraf\u0131ndan g\u00fcvenilen bir CA'd\u0131r.<\/li>\n<\/ul>\n<h3>TLS Sertifikas\u0131 Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>Bir TLS sertifikas\u0131, web sitenizin kimli\u011fini do\u011frular ve istemci ile sunucu aras\u0131ndaki ileti\u015fimi \u015fifrelemek i\u00e7in kullan\u0131lan bir anahtar \u00e7ifti (a\u00e7\u0131k anahtar ve \u00f6zel anahtar) i\u00e7erir. Sertifika, web sitenizin alan ad\u0131yla ili\u015fkilendirilir ve Sertifika Yetkilisi taraf\u0131ndan imzalan\u0131r. Taray\u0131c\u0131lar, bir siteye ba\u011fland\u0131\u011f\u0131nda bu sertifikay\u0131 kontrol eder ve e\u011fer ge\u00e7erliyse, HTTPS ba\u011flant\u0131s\u0131n\u0131 kurar.<\/p>\n<h3>Reverse Proxy ve TLS Entegrasyonu<\/h3>\n<p>PocketBase kendi i\u00e7inde temel bir HTTP sunucusuna sahip olsa da, do\u011frudan internete a\u00e7mak yerine bir \"reverse proxy\" (ters vekil sunucu) kullanmak en iyi uygulama ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nerilir. Reverse proxy, kullan\u0131c\u0131 isteklerini al\u0131r, bunlar\u0131 PocketBase gibi backend uygulaman\u0131za iletir ve yan\u0131tlar\u0131 kullan\u0131c\u0131ya geri g\u00f6nderir. Bu mimarinin bir\u00e7ok faydas\u0131 vard\u0131r:<\/p>\n<ul>\n<li><strong>TLS Sonland\u0131rma:<\/strong> Reverse proxy, TLS ba\u011flant\u0131s\u0131n\u0131 sonland\u0131rabilir. Bu, PocketBase'in kendisinin TLS y\u00f6netimiyle u\u011fra\u015fmas\u0131na gerek kalmadan, yaln\u0131zca HTTP \u00fczerinden \u00e7al\u0131\u015fmas\u0131na izin verir. Reverse proxy, gelen HTTPS isteklerini \u015fifresini \u00e7\u00f6zer ve bunlar\u0131 dahili olarak HTTP \u00fczerinden PocketBase'e iletir.<\/li>\n<li><strong>Y\u00fck Dengeleme:<\/strong> Birden fazla backend sunucunuz varsa, reverse proxy gelen trafi\u011fi da\u011f\u0131tabilir.<\/li>\n<li><strong>G\u00fcvenlik:<\/strong> PocketBase'i do\u011frudan d\u0131\u015far\u0131ya maruz b\u0131rakmak yerine, reverse proxy bir g\u00fcvenlik katman\u0131 g\u00f6revi g\u00f6r\u00fcr. \u00d6rne\u011fin, sald\u0131r\u0131lar\u0131 filtreleyebilir veya h\u0131z s\u0131n\u0131rlamalar\u0131 uygulayabilir.<\/li>\n<li><strong>Ek \u00d6zellikler:<\/strong> HTTP\/2, s\u0131k\u0131\u015ft\u0131rma, \u00f6nbelle\u011fe alma gibi ek web sunucusu \u00f6zelliklerini sunar.<\/li>\n<\/ul>\n<p>Bu rehberde, Let's Encrypt sertifikalar\u0131n\u0131 y\u00f6netmek ve PocketBase i\u00e7in reverse proxy g\u00f6revi g\u00f6rmek \u00fczere iki pop\u00fcler se\u00e7ene\u011fi inceleyece\u011fiz: <strong>Caddy<\/strong> ve <strong>Nginx + Certbot<\/strong>.<\/p>\n<h3>Vaka Analizi: K\u00fc\u00e7\u00fck Bir \u0130\u015fletmenin G\u00fcvenlik \u0130htiyac\u0131<\/h3>\n<p>Bir web geli\u015ftiricisi olan Ay\u015fe, yerel bir f\u0131r\u0131n i\u00e7in online sipari\u015f sistemi kuruyor. M\u00fc\u015fterilerin ki\u015fisel bilgilerini ve \u00f6deme tercihlerini girece\u011fi bu sistemin g\u00fcvenli olmas\u0131, f\u0131r\u0131n\u0131n itibar\u0131 ve yasal uyumlulu\u011fu a\u00e7\u0131s\u0131ndan kritik. Ay\u015fe, PocketBase ile h\u0131zl\u0131ca bir MVP (Minimum Viable Product) geli\u015ftirmi\u015f ancak HTTP \u00fczerinden eri\u015filen uygulaman\u0131n taray\u0131c\u0131larda \"G\u00fcvenli De\u011fil\" uyar\u0131s\u0131 vermesi m\u00fc\u015fteri g\u00fcvenini sarsaca\u011f\u0131n\u0131 biliyor. Ayr\u0131ca, SEO a\u00e7\u0131s\u0131ndan da HTTPS'in bir avantaj oldu\u011funu unutmam\u0131\u015ft\u0131.<\/p>\n<p>Ay\u015fe, Let's Encrypt ve bir reverse proxy kullanarak bu sorunu \u00e7\u00f6zmeye karar verdi. Caddy'nin otomatik TLS y\u00f6netiminden etkilenerek, f\u0131r\u0131n\u0131n alan ad\u0131 (<code>firinadi.com<\/code>) i\u00e7in Caddy'yi kurup yap\u0131land\u0131rd\u0131. Caddy, saniyeler i\u00e7inde Let's Encrypt'ten sertifika al\u0131p otomatik olarak yeniledi. B\u00f6ylece m\u00fc\u015fteriler, <code>https:\/\/firinadi.com<\/code> adresinden g\u00fcvenli bir \u015fekilde sipari\u015f verebildi, \u00f6deme bilgilerini endi\u015fe duymadan girebildi ve f\u0131r\u0131n, dijital ortamda g\u00fcvenilir bir imaj sergileyebildi. Bu sayede Ay\u015fe, PocketBase'in h\u0131z\u0131n\u0131 g\u00fcvenlikle birle\u015ftirerek hem f\u0131r\u0131na hem de m\u00fc\u015fterilerine b\u00fcy\u00fck bir fayda sa\u011flad\u0131.<\/p>\n<p>Bir sonraki b\u00f6l\u00fcmde, Caddy ve Nginx kullanarak PocketBase'i nas\u0131l bir reverse proxy'nin arkas\u0131na alaca\u011f\u0131m\u0131z\u0131 ve Let's Encrypt sertifikalar\u0131n\u0131 nas\u0131l yap\u0131land\u0131raca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m g\u00f6rece\u011fiz.<\/p>\n<h2>Reverse Proxy ile PocketBase ve TLS Kurulumu: G\u00fcvenli\u011fi Sa\u011flama<\/h2>\n<p>PocketBase'i sunucunuzda \u00e7al\u0131\u015ft\u0131rd\u0131k ve alan ad\u0131n\u0131z\u0131 do\u011fru IP adresine y\u00f6nlendirdik. \u015eimdi, uygulaman\u0131z\u0131 HTTPS \u00fczerinden g\u00fcvenli hale getirmek i\u00e7in bir reverse proxy kurma zaman\u0131. Bu b\u00f6l\u00fcmde, iki pop\u00fcler reverse proxy se\u00e7ene\u011fi olan Caddy ve Nginx'i kullanarak PocketBase'i Let's Encrypt ile nas\u0131l g\u00fcvenli hale getirece\u011finizi detayl\u0131ca inceleyece\u011fiz. \u0130ki y\u00f6ntem de kendi avantajlar\u0131na sahiptir; size en uygun olan\u0131 se\u00e7ebilirsiniz.<\/p>\n<h3>Caddy ile Kolay ve Otomatik TLS Kurulumu<\/h3>\n<p>Caddy, otomatik HTTPS \u00f6zelli\u011fiyle \u00f6ne \u00e7\u0131kan modern, a\u00e7\u0131k kaynakl\u0131 bir web sunucusu ve reverse proxy'dir. Let's Encrypt sertifikalar\u0131n\u0131 otomatik olarak al\u0131r, yap\u0131land\u0131r\u0131r ve yeniler, bu da onu PocketBase gibi uygulamalar i\u00e7in m\u00fckemmel bir se\u00e7enek yapar.<\/p>\n<h4>Caddy Kurulumu<\/h4>\n<p>Caddy'yi Linux sisteminize kurmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyebilirsiniz:<\/p>\n<pre><code>\n    sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https\n    curl -1sLf 'https:\/\/dl.cloudsmith.io\/public\/caddy\/stable\/gpg.key' | sudo gpg --dearmor -o \/usr\/share\/keyrings\/caddy-stable-archive-keyring.gpg\n    curl -1sLf 'https:\/\/dl.cloudsmith.io\/public\/caddy\/stable\/debian.deb.txt' | sudo tee \/etc\/apt\/sources.list.d\/caddy-stable.list\n    sudo apt update\n    sudo apt install caddy\n    <\/pre>\n<p><\/code><\/p>\n<h4>Caddyfile Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Caddy'nin yap\u0131land\u0131rma dosyas\u0131 olan <code>Caddyfile<\/code>, kullan\u0131m\u0131 son derece kolay ve g\u00fc\u00e7l\u00fcd\u00fcr. PocketBase'i bir reverse proxy olarak yap\u0131land\u0131rmak ve otomatik TLS sa\u011flamak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:<\/p>\n<ol>\n<li><strong>Mevcut Caddyfile'\u0131 d\u00fczenleyin veya yeni bir tane olu\u015fturun:<\/strong><\/li>\n<pre><code>\n        sudo nano \/etc\/caddy\/Caddyfile\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin\/g\u00fcncelleyin:<\/strong> (<code>your-domain.com<\/code> ve <code>www.your-domain.com<\/code> k\u0131s\u0131mlar\u0131n\u0131 kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirin)<\/li>\n<pre><code class=\"language-caddy\">\n        # Ana alan ad\u0131n\u0131z\n        your-domain.com {\n            # HTTP'den HTTPS'ye y\u00f6nlendirme (otomatik)\n            # www.your-domain.com'dan your-domain.com'a y\u00f6nlendirme (otomatik)\n\n            # PocketBase'in \u00e7al\u0131\u015ft\u0131\u011f\u0131 dahili adrese reverse proxy yap\n            reverse_proxy localhost:8090 # PocketBase'in \u00e7al\u0131\u015ft\u0131\u011f\u0131 dahili port\n        }\n\n        # \u0130ste\u011fe ba\u011fl\u0131 olarak www alt alan ad\u0131n\u0131 ana alan ad\u0131na y\u00f6nlendirme\n        # Caddy bunu your-domain.com { ... } blo\u011funda otomatik halletse de\n        # a\u00e7\u0131k\u00e7a belirtmek isteyebilirsiniz.\n        # www.your-domain.com {\n        #    redir https:\/\/your-domain.com{uri}\n        # }\n        <\/pre>\n<p><\/code><\/p>\n<div class=\"interactive-element\">\n<p><strong>Uzman \u0130pucu:<\/strong> Caddyfile'da <code>http:\/\/localhost:8090<\/code> yerine do\u011frudan <code>localhost:8090<\/code> kullanmak Caddy'nin varsay\u0131lan davran\u0131\u015f\u0131yla daha uyumludur. Caddy, dahili istekleri HTTP \u00fczerinden y\u00f6nlendirecektir.<\/p>\n<\/p><\/div>\n<li><strong>Caddy servisini yeniden ba\u015flat\u0131n:<\/strong><\/li>\n<pre><code>\n        sudo systemctl reload caddy\n        # E\u011fer bir hata olursa, durdurup tekrar ba\u015flatmak isteyebilirsiniz:\n        # sudo systemctl restart caddy\n        <\/pre>\n<p><\/code>\n    <\/ol>\n<p>Caddy, servisi yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zda otomatik olarak Let's Encrypt ile ba\u011flant\u0131 kuracak, alan ad\u0131n\u0131z i\u00e7in sertifika talebinde bulunacak ve bunu kuracakt\u0131r. Ayr\u0131ca, sertifikan\u0131z\u0131n s\u00fcresi dolmak \u00fczereyken otomatik olarak yenileme i\u015flemini de ger\u00e7ekle\u015ftirecektir. Art\u0131k taray\u0131c\u0131n\u0131zdan <code>https:\/\/your-domain.com<\/code> adresine giderek PocketBase uygulaman\u0131za g\u00fcvenli bir \u015fekilde eri\u015febilirsiniz.<\/p>\n<h3>Nginx ve Certbot ile Manuel TLS Kurulumu<\/h3>\n<p>Nginx, y\u00fcksek performansl\u0131 ve \u00e7ok y\u00f6nl\u00fc bir web sunucusu ve reverse proxy'dir. Caddy kadar otomatik olmasa da, Nginx geni\u015f yap\u0131land\u0131rma se\u00e7enekleri sunar ve b\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalarda s\u0131k\u00e7a tercih edilir. Let's Encrypt sertifikalar\u0131 i\u00e7in Nginx ile birlikte Certbot arac\u0131n\u0131 kullanaca\u011f\u0131z.<\/p>\n<h4>Nginx Kurulumu<\/h4>\n<p>Nginx'i sunucunuza kurun:<\/p>\n<pre><code>\n    sudo apt update\n    sudo apt install nginx\n    <\/pre>\n<p><\/code><\/p>\n<p>Nginx'in otomatik olarak ba\u015flamas\u0131n\u0131 ve \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code>\n    sudo systemctl start nginx\n    sudo systemctl enable nginx\n    <\/pre>\n<p><\/code><\/p>\n<h4>Nginx Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>PocketBase i\u00e7in bir Nginx sunucu blo\u011fu olu\u015fturaca\u011f\u0131z:<\/p>\n<ol>\n<li><strong>Nginx yap\u0131land\u0131rma dosyas\u0131n\u0131 olu\u015fturun:<\/strong><\/li>\n<pre><code>\n        sudo nano \/etc\/nginx\/sites-available\/your-domain.com\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin:<\/strong> (<code>your-domain.com<\/code> k\u0131s\u0131mlar\u0131n\u0131 kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirin)<\/li>\n<pre><code class=\"language-nginx\">\n        server {\n            listen 80;\n            listen [::]:80;\n            server_name your-domain.com www.your-domain.com;\n\n            # Certbot'un sertifika do\u011frulamas\u0131n\u0131 yapabilmesi i\u00e7in gerekli\n            location \/.well-known\/acme-challenge\/ {\n                root \/var\/www\/html;\n            }\n\n            # HTTP isteklerini HTTPS'ye y\u00f6nlendir\n            location \/ {\n                return 301 https:\/\/$host$request_uri;\n            }\n        }\n\n        # Bu blok Certbot taraf\u0131ndan HTTPS yap\u0131land\u0131rmas\u0131 i\u00e7in otomatik olarak g\u00fcncellenecektir.\n        # \u0130lk Certbot \u00e7al\u0131\u015ft\u0131rmas\u0131ndan sonra buraya HTTPS ayarlar\u0131 eklenecek.\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>Yap\u0131land\u0131rma dosyas\u0131n\u0131 etkinle\u015ftirin ve Nginx'i yeniden y\u00fckleyin:<\/strong><\/li>\n<pre><code>\n        sudo ln -s \/etc\/nginx\/sites-available\/your-domain.com \/etc\/nginx\/sites-enabled\/\n        sudo nginx -t # Yap\u0131land\u0131rma sentaks\u0131n\u0131 kontrol et\n        sudo systemctl reload nginx\n        <\/pre>\n<p><\/code>\n    <\/ol>\n<h4>Certbot ile Let's Encrypt Sertifikas\u0131 Alma<\/h4>\n<p>Certbot, Let's Encrypt sertifikalar\u0131n\u0131 almak ve y\u00f6netmek i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r:<\/p>\n<ol>\n<li><strong>Certbot'u kurun:<\/strong><\/li>\n<pre><code>\n        sudo apt install certbot python3-certbot-nginx\n        <\/pre>\n<p><\/code><\/p>\n<li><strong>Sertifika al\u0131n ve Nginx'i yap\u0131land\u0131r\u0131n:<\/strong><\/li>\n<pre><code>\n        sudo certbot --nginx -d your-domain.com -d www.your-domain.com\n        <\/pre>\n<p><\/code><\/p>\n<p>Certbot, size e-posta adresi ve hizmet ko\u015fullar\u0131n\u0131 kabul etme gibi baz\u0131 sorular soracakt\u0131r. Ard\u0131ndan, otomatik olarak sertifikay\u0131 alacak ve Nginx yap\u0131land\u0131rma dosyan\u0131z\u0131 HTTPS'i (port 443) kullanacak \u015fekilde g\u00fcncelleyecektir. Bu i\u015flemden sonra <code>\/etc\/nginx\/sites-available\/your-domain.com<\/code> dosyan\u0131z g\u00fcncellenmi\u015f ve HTTPS ayarlar\u0131 eklenmi\u015f olacakt\u0131r.<\/p>\n<li><strong>Nginx yap\u0131land\u0131rmas\u0131n\u0131n g\u00fcncellenmi\u015f hali:<\/strong> (Bu Certbot taraf\u0131ndan otomatik eklenecektir)<\/li>\n<pre><code class=\"language-nginx\">\n        server {\n            # ... (\u00f6nceki HTTP blo\u011fu) ...\n        }\n\n        server {\n            listen 443 ssl http2;\n            listen [::]:443 ssl http2;\n            server_name your-domain.com www.your-domain.com;\n\n            ssl_certificate \/etc\/letsencrypt\/live\/your-domain.com\/fullchain.pem;\n            ssl_certificate_key \/etc\/letsencrypt\/live\/your-domain.com\/privkey.pem;\n            include \/etc\/letsencrypt\/options-ssl-nginx.conf;\n            ssl_dhparam \/etc\/letsencrypt\/ssl-dhparams.pem;\n\n            location \/ {\n                # PocketBase'in \u00e7al\u0131\u015ft\u0131\u011f\u0131 dahili adrese reverse proxy yap\n                proxy_pass http:\/\/localhost:8090;\n                proxy_set_header Host $host;\n                proxy_set_header X-Real-IP $remote_addr;\n                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n                proxy_set_header X-Forwarded-Proto $scheme;\n            }\n        }\n        <\/pre>\n<p><\/code>\n    <\/ol>\n<h4>Sertifika Yenilemeyi Otomatikle\u015ftirme<\/h4>\n<p>Let's Encrypt sertifikalar\u0131 90 g\u00fcn ge\u00e7erlidir. Certbot, bunlar\u0131 otomatik olarak yenilemek i\u00e7in bir cron job kurar. Yenileme i\u015flemini test edebilirsiniz:<\/p>\n<pre><code>\n    sudo certbot renew --dry-run\n    <\/pre>\n<p><\/code><\/p>\n<p>E\u011fer test ba\u015far\u0131l\u0131 olursa, Certbot'un otomatik yenileme mekanizmas\u0131 d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131yor demektir. Art\u0131k PocketBase uygulaman\u0131z Nginx reverse proxy'sinin arkas\u0131nda, Let's Encrypt sertifikalar\u0131yla g\u00fcvenli (HTTPS) bir \u015fekilde yay\u0131nlanmaktad\u0131r. <code>https:\/\/your-domain.com<\/code> adresinden eri\u015filebilir olacakt\u0131r.<\/p>\n<h2>\u0130leri D\u00fczey \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h2>\n<p>PocketBase uygulaman\u0131z\u0131n alan ad\u0131 ve TLS kurulumunu ba\u015far\u0131yla ger\u00e7ekle\u015ftirdiniz. Ancak, dijital g\u00fcvenlik s\u00fcrekli geli\u015fen bir aland\u0131r ve uygulaman\u0131z\u0131n performans\u0131n\u0131, g\u00fcvenli\u011fini ve eri\u015filebilirli\u011fini daha da art\u0131rmak i\u00e7in baz\u0131 ileri d\u00fczey ipu\u00e7lar\u0131 ve en iyi uygulamalar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z faydal\u0131 olacakt\u0131r. Bu b\u00f6l\u00fcmde, PocketBase projenizi bir ad\u0131m \u00f6teye ta\u015f\u0131yacak \u00f6nemli stratejileri ele alaca\u011f\u0131z.<\/p>\n<h3>HTTP\/2 ve HTTP\/3 Kullan\u0131m\u0131<\/h3>\n<p>Web performans\u0131n\u0131 art\u0131rmak i\u00e7in modern HTTP protokollerini kullanmak \u00f6nemlidir. HTTP\/1.1'e g\u00f6re daha h\u0131zl\u0131 ve verimli olan HTTP\/2, genellikle reverse proxy'leriniz (Caddy veya Nginx) taraf\u0131ndan TLS ile birlikte otomatik olarak etkinle\u015ftirilir. Caddy varsay\u0131lan olarak HTTP\/2 kullan\u0131rken, Nginx yap\u0131land\u0131rman\u0131zda <code>listen 443 ssl http2;<\/code> sat\u0131r\u0131n\u0131 ekleyerek HTTP\/2'yi aktif hale getirebilirsiniz.<\/p>\n<p>Daha yeni bir protokol olan HTTP\/3, UDP tabanl\u0131 QUIC protokol\u00fcn\u00fc kullanarak gecikmeyi daha da azalt\u0131r ve ba\u011flant\u0131 kopmalar\u0131na kar\u015f\u0131 daha diren\u00e7lidir. Caddy 2, HTTP\/3 deste\u011fini varsay\u0131lan olarak sunarken, Nginx i\u00e7in HTTP\/3 deste\u011fi hala deneysel a\u015famadad\u0131r ve \u00f6zel derlemeler gerektirebilir. Performans odakl\u0131 uygulamalar i\u00e7in bu protokolleri de\u011ferlendirmek, kullan\u0131c\u0131 deneyimini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirebilir.<\/p>\n<h3>G\u00fcvenlik Ba\u015fl\u0131klar\u0131 (Security Headers)<\/h3>\n<p>Taray\u0131c\u0131lara web sitenizle nas\u0131l etkile\u015fim kurmalar\u0131 gerekti\u011fini s\u00f6yleyen HTTP g\u00fcvenlik ba\u015fl\u0131klar\u0131n\u0131 eklemek, \u00e7e\u015fitli web tabanl\u0131 sald\u0131r\u0131lara kar\u015f\u0131 ek bir savunma katman\u0131 olu\u015fturur. Bu ba\u015fl\u0131klar, reverse proxy'niz (Nginx veya Caddy) \u00fczerinden kolayca eklenebilir.<\/p>\n<ul>\n<li><strong>Strict-Transport-Security (HSTS):<\/strong> Taray\u0131c\u0131lara sitenize her zaman HTTPS \u00fczerinden ba\u011flanmalar\u0131n\u0131 s\u00f6yler, potansiyel HTTP d\u00fc\u015f\u00fcrme sald\u0131r\u0131lar\u0131n\u0131 \u00f6nler.<\/li>\n<li><strong>Content-Security-Policy (CSP):<\/strong> XSS (Cross-Site Scripting) sald\u0131r\u0131lar\u0131n\u0131 azaltarak, taray\u0131c\u0131n\u0131n hangi kaynaklardan (scriptler, stiller, resimler vb.) y\u00fckleme yapabilece\u011fini kontrol etmesini sa\u011flar.<\/li>\n<li><strong>X-Frame-Options:<\/strong> Clickjacking sald\u0131r\u0131lar\u0131n\u0131 \u00f6nlemek i\u00e7in sitenizin ba\u015fka sitelerde iframe i\u00e7inde g\u00f6r\u00fcnt\u00fclenip g\u00f6r\u00fcnt\u00fclenemeyece\u011fini kontrol eder.<\/li>\n<li><strong>X-Content-Type-Options:<\/strong> MIME tipi koklama sald\u0131r\u0131lar\u0131n\u0131 \u00f6nler.<\/li>\n<\/ul>\n<p><strong>\u00d6rnek Nginx yap\u0131land\u0131rmas\u0131:<\/strong><\/p>\n<pre><code class=\"language-nginx\">\n    server {\n        # ... di\u011fer ayarlar ...\n\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        add_header Content-Security-Policy \"default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self';\";\n        # CSP yap\u0131land\u0131rmas\u0131 uygulaman\u0131za g\u00f6re de\u011fi\u015fir ve dikkatli yap\u0131lmal\u0131d\u0131r.\n\n        location \/ {\n            proxy_pass http:\/\/localhost:8090;\n            # ... proxy header'lar\u0131 ...\n        }\n    }\n    <\/pre>\n<p><\/code><\/p>\n<p><strong>\u00d6rnek Caddyfile yap\u0131land\u0131rmas\u0131:<\/strong><\/p>\n<pre><code class=\"language-caddy\">\n    your-domain.com {\n        reverse_proxy localhost:8090\n\n        header {\n            Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\"\n            X-Frame-Options \"DENY\"\n            X-Content-Type-Options \"nosniff\"\n            Content-Security-Policy \"default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self';\"\n        }\n    }\n    <\/pre>\n<p><\/code><\/p>\n<div class=\"interactive-element\">\n<p><strong>Uzman \u0130pucu:<\/strong> CSP'yi uygularken dikkatli olun. Yanl\u0131\u015f yap\u0131land\u0131rma, sitenizin i\u015flevselli\u011fini bozabilir. Uygulaman\u0131zdaki t\u00fcm kaynaklar\u0131 do\u011fru \u015fekilde listeledi\u011finizden emin olun.<\/p>\n<\/p><\/div>\n<h3>G\u00fcvenlik Duvar\u0131 (Firewall) Ayarlar\u0131<\/h3>\n<p>Sunucunuzda gereksiz portlar\u0131 kapatmak, sald\u0131r\u0131 y\u00fczeyini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. Sadece web trafi\u011fi (HTTP port 80 ve HTTPS port 443) ve SSH (port 22) i\u00e7in gerekli olan portlar\u0131 a\u00e7\u0131k b\u0131rak\u0131n. Ubuntu i\u00e7in UFW (Uncomplicated Firewall) kullanabilirsiniz:<\/p>\n<pre><code>\n    sudo ufw allow 22\/tcp     # SSH eri\u015fimi i\u00e7in\n    sudo ufw allow 80\/tcp     # HTTP trafi\u011fi i\u00e7in\n    sudo ufw allow 443\/tcp    # HTTPS trafi\u011fi i\u00e7in\n    sudo ufw enable           # G\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftir\n    sudo ufw status           # Durumu kontrol et\n    <\/pre>\n<p><\/code><\/p>\n<p>PocketBase'in \u00e7al\u0131\u015ft\u0131\u011f\u0131 dahili port (\u00f6rn. 8090) yaln\u0131zca <code>localhost<\/code> \u00fczerinden eri\u015filebilir olmal\u0131d\u0131r, yani d\u0131\u015far\u0131dan do\u011frudan eri\u015filemez olmal\u0131d\u0131r.<\/p>\n<h3>PocketBase Verilerinin Yedeklenmesi<\/h3>\n<p>PocketBase'in t\u00fcm verileri (SQLite veritaban\u0131, dosyalar, ayarlar) <code>pb_data<\/code> dizininde saklan\u0131r. Bu dizinin d\u00fczenli olarak yedeklenmesi hayati \u00f6nem ta\u015f\u0131r. Verilerinizi kaybetmemek i\u00e7in otomatik yedekleme \u00e7\u00f6z\u00fcmleri kurmay\u0131 d\u00fc\u015f\u00fcn\u00fcn (\u00f6rn. cron i\u015fleri ile rsync, S3'e yedekleme vb.).<\/p>\n<pre><code>\n    # \u00d6rnek: Basit bir yedekleme komutu\n    tar -czvf \/path\/to\/backup\/pocketbase_backup_$(date +%Y%m%d%H%M%S).tar.gz \/opt\/pocketbase\/pb_data\/\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu yedekleri sunucudan ayr\u0131 bir yerde (\u00f6rne\u011fin bulut depolama) saklamak, felaket kurtarma senaryolar\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>Mobil Uyumlu Tasar\u0131m ve \u0130\u00e7erik<\/h3>\n<p>Makale i\u00e7erisinde istenen mobil uyumluluk \u00f6rne\u011fi genellikle frontend ile ilgili olsa da, bir backend olarak PocketBase'in sundu\u011fu API'lerin ve y\u00f6netici panelinin mobil cihazlardan eri\u015filebilirli\u011fi de \u00f6nemlidir. E\u011fer PocketBase \u00fczerinde kendi frontend uygulaman\u0131z\u0131 geli\u015ftiriyorsan\u0131z, responsive tasar\u0131m prensiplerine uyman\u0131z gerekir. Web sitenizin veya uygulaman\u0131z\u0131n farkl\u0131 ekran boyutlar\u0131na uyum sa\u011flamas\u0131, CSS media query'ler arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015ftirilebilir:<\/p>\n<pre><code class=\"language-css\">\n    \/* Genel stil *\/\n    body {\n        font-family: Arial, sans-serif;\n    }\n\n    \/* Mobil cihazlar i\u00e7in \u00f6zel stil *\/\n    @media (max-width: 768px) {\n        .container {\n            width: 100%;\n            padding: 10px;\n        }\n        .navbar a {\n            display: block;\n            text-align: center;\n        }\n    }\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131, PocketBase uygulaman\u0131z\u0131n sadece \u00e7al\u0131\u015fmas\u0131n\u0131 de\u011fil, ayn\u0131 zamanda g\u00fcvenli, h\u0131zl\u0131 ve bak\u0131m\u0131 kolay olmas\u0131n\u0131 sa\u011flayarak uzun vadede size b\u00fcy\u00fck faydalar sa\u011flayacakt\u0131r.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu kapsaml\u0131 rehber boyunca, PocketBase uygulaman\u0131z\u0131 kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli bir HTTPS ba\u011flant\u0131s\u0131 ile nas\u0131l yay\u0131nlayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendik. PocketBase'in sunucuda kurulumundan, alan ad\u0131n\u0131z\u0131n DNS ayarlar\u0131yla sunucunuza y\u00f6nlendirilmesine, Let's Encrypt ile \u00fccretsiz TLS sertifikas\u0131 edinmeye ve Caddy veya Nginx gibi reverse proxy'ler kullanarak g\u00fcvenli\u011fi sa\u011flamaya kadar her a\u015famay\u0131 detayl\u0131ca inceledik. Ayr\u0131ca, uygulaman\u0131z\u0131n performans\u0131n\u0131 ve g\u00fcvenli\u011fini daha da art\u0131racak ileri d\u00fczey ipu\u00e7lar\u0131 ve en iyi uygulamalara da de\u011findik.<\/p>\n<p>Art\u0131k PocketBase projeniz, kullan\u0131c\u0131lar i\u00e7in \u015fifreli ve g\u00fcvenilir bir ba\u011flant\u0131 sunarak hassas verileri koruyor, taray\u0131c\u0131lar\u0131n \"G\u00fcvenli\" uyar\u0131s\u0131n\u0131 g\u00f6steriyor ve arama motorlar\u0131nda daha iyi s\u0131ralanma potansiyeli ta\u015f\u0131yor. Bu kurulum, hem sizin hem de kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in dijital g\u00fcvenli\u011fin temelini olu\u015fturur. Unutmay\u0131n ki, g\u00fcvenlik s\u00fcrekli bir s\u00fcre\u00e7tir; g\u00fcncellemeleri takip etmek ve en iyi uygulamalar\u0131 s\u00fcrd\u00fcrmek her zaman \u00f6nemlidir. PocketBase'in basitli\u011fi ve bu g\u00fcvenlik katmanlar\u0131n\u0131n eklenmesiyle, g\u00fc\u00e7l\u00fc ve g\u00fcvenilir bir web uygulamas\u0131 geli\u015ftirmeniz i\u00e7in sa\u011flam bir zemin in\u015fa etmi\u015f oldunuz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>1. PocketBase'i do\u011frudan 443 portundan HTTPS ile \u00e7al\u0131\u015ft\u0131rabilir miyim?<\/strong><\/p>\n<p>Evet, PocketBase'i do\u011frudan HTTPS ile \u00e7al\u0131\u015ft\u0131rabilirsiniz. Bunun i\u00e7in <code>pocketbase serve --https 0.0.0.0:443 --certsDir .\/pb_data\/certs<\/code> gibi bir komut kullanabilir ve sertifika dosyalar\u0131n\u0131z\u0131 belirtmeniz gerekir. Ancak, bu durumda sertifika yenileme ve di\u011fer web sunucusu \u00f6zelliklerini kendiniz y\u00f6netmeniz gerekir. Reverse proxy kullanmak (Nginx veya Caddy gibi) genellikle daha fazla esneklik, g\u00fcvenlik ve kolay sertifika y\u00f6netimi (otomatik yenileme gibi) sa\u011flar, bu y\u00fczden tavsiye edilen y\u00f6ntemdir.<\/p>\n<p><strong>2. DNS de\u011fi\u015fikliklerimin ne zaman yay\u0131laca\u011f\u0131n\u0131 nas\u0131l anlar\u0131m?<\/strong><\/p>\n<p>DNS de\u011fi\u015fikliklerinin yay\u0131lmas\u0131 (propagation) genellikle birka\u00e7 dakika ile 48 saat aras\u0131nda s\u00fcrebilir. Bu durumu kontrol etmek i\u00e7in <a href=\"https:\/\/www.whatsmydns.net\/\" target=\"_blank\" rel=\"noopener\">whatsmydns.net<\/a> veya <a href=\"https:\/\/dnschecker.org\/\" target=\"_blank\" rel=\"noopener\">dnschecker.org<\/a> gibi online ara\u00e7lar\u0131 kullanabilirsiniz. Alan ad\u0131n\u0131z\u0131 bu sitelere yazd\u0131\u011f\u0131n\u0131zda, d\u00fcnya genelindeki farkl\u0131 DNS sunucular\u0131n\u0131n alan ad\u0131n\u0131z\u0131 hangi IP adresine \u00e7\u00f6zd\u00fc\u011f\u00fcn\u00fc g\u00f6rebilirsiniz. T\u00fcm sunucular\u0131n do\u011fru IP adresini g\u00f6stermesi, yay\u0131lman\u0131n tamamland\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p><strong>3. Let's Encrypt sertifikalar\u0131m\u0131 nas\u0131l yenileyebilirim?<\/strong><\/p>\n<p>E\u011fer Caddy kullan\u0131yorsan\u0131z, sertifikalar\u0131n\u0131z otomatik olarak yenilenecektir, sizin m\u00fcdahalenize gerek yoktur. Nginx ve Certbot kullan\u0131yorsan\u0131z, Certbot otomatik bir cron job kurar. Yenilemenin d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test etmek i\u00e7in <code>sudo certbot renew --dry-run<\/code> komutunu kullanabilirsiniz. Certbot, sertifikalar\u0131n s\u00fcresi dolmadan \u00f6nce otomatik olarak yenileme i\u015flemini ger\u00e7ekle\u015ftirir.<\/p>\n<p><strong>4. PocketBase'in verilerini yedeklemek i\u00e7in en iyi y\u00f6ntem nedir?<\/strong><\/p>\n<p>PocketBase, verilerini (veritaban\u0131, depolama dosyalar\u0131, ayarlar) uygulaman\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 dizinde bulunan <code>pb_data\/<\/code> klas\u00f6r\u00fcnde tutar. En iyi yedekleme y\u00f6ntemi, bu klas\u00f6r\u00fcn d\u00fczenli aral\u0131klarla g\u00fcvenli bir yere (\u00f6rne\u011fin, bulut depolama hizmetleri veya ba\u015fka bir sunucu) kopyalanmas\u0131d\u0131r. Sunucunuzda bir cron job ile \u00e7al\u0131\u015fan bir script (<code>tar<\/code> veya <code>rsync<\/code> kullanarak) veya PocketBase'in kendi dahili yedekleme \u00f6zelliklerini (CLI arac\u0131l\u0131\u011f\u0131yla) kullanabilirsiniz. \u00d6nemli olan, yedeklemelerinizi farkl\u0131 bir lokasyonda saklamakt\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Modern web uygulamalar\u0131 geli\u015ftirirken veri g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zaman \u00f6ncelikli olmu\u015ftur. PocketBase, h\u0131zl\u0131 ve hafif bir backend&hellip;","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":[1342],"tags":[],"class_list":{"0":"post-33666","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ai","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>PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7<\/title>\n<meta name=\"description\" content=\"Modern web uygulamalar\u0131 geli\u015ftirirken veri g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zaman \u00f6ncelikli olmu\u015ftur. PocketBase, h\u0131zl\u0131 ve hafif bir backend \u00e7\u00f6z\u00fcm\u00fc sunsa da, uygulaman\u0131z\u0131n internet \u00fczerinde g\u00fcvenli bir \u015fekilde yay\u0131nlanmas\u0131 i\u00e7in alan ad\u0131 (domain) ve TLS\/SSL sertifikas\u0131 kurulumu hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, PocketBase projenizi kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli (HTTPS) bir ba\u011flant\u0131yla nas\u0131l yay\u0131nlayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenecek, b\u00f6ylece kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in hem g\u00fcvenilir hem de profesyonel bir deneyim sunacaks\u0131n\u0131z.\" \/>\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\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7\" \/>\n<meta property=\"og:description\" content=\"Modern web uygulamalar\u0131 geli\u015ftirirken veri g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zaman \u00f6ncelikli olmu\u015ftur. PocketBase, h\u0131zl\u0131 ve hafif bir backend \u00e7\u00f6z\u00fcm\u00fc sunsa da, uygulaman\u0131z\u0131n internet \u00fczerinde g\u00fcvenli bir \u015fekilde yay\u0131nlanmas\u0131 i\u00e7in alan ad\u0131 (domain) ve TLS\/SSL sertifikas\u0131 kurulumu hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, PocketBase projenizi kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli (HTTPS) bir ba\u011flant\u0131yla nas\u0131l yay\u0131nlayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenecek, b\u00f6ylece kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in hem g\u00fcvenilir hem de profesyonel bir deneyim sunacaks\u0131n\u0131z.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-05T14:01:19+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=\"30 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7\",\"datePublished\":\"2025-11-05T14:01:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/\"},\"wordCount\":5225,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AI\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/\",\"name\":\"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-05T14:01:19+00:00\",\"description\":\"Modern web uygulamalar\u0131 geli\u015ftirirken veri g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zaman \u00f6ncelikli olmu\u015ftur. PocketBase, h\u0131zl\u0131 ve hafif bir backend \u00e7\u00f6z\u00fcm\u00fc sunsa da, uygulaman\u0131z\u0131n internet \u00fczerinde g\u00fcvenli bir \u015fekilde yay\u0131nlanmas\u0131 i\u00e7in alan ad\u0131 (domain) ve TLS\/SSL sertifikas\u0131 kurulumu hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, PocketBase projenizi kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli (HTTPS) bir ba\u011flant\u0131yla nas\u0131l yay\u0131nlayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenecek, b\u00f6ylece kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in hem g\u00fcvenilir hem de profesyonel bir deneyim sunacaks\u0131n\u0131z.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7\"}]},{\"@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":"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7","description":"Modern web uygulamalar\u0131 geli\u015ftirirken veri g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zaman \u00f6ncelikli olmu\u015ftur. PocketBase, h\u0131zl\u0131 ve hafif bir backend \u00e7\u00f6z\u00fcm\u00fc sunsa da, uygulaman\u0131z\u0131n internet \u00fczerinde g\u00fcvenli bir \u015fekilde yay\u0131nlanmas\u0131 i\u00e7in alan ad\u0131 (domain) ve TLS\/SSL sertifikas\u0131 kurulumu hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, PocketBase projenizi kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli (HTTPS) bir ba\u011flant\u0131yla nas\u0131l yay\u0131nlayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenecek, b\u00f6ylece kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in hem g\u00fcvenilir hem de profesyonel bir deneyim sunacaks\u0131n\u0131z.","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\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/","og_locale":"tr_TR","og_type":"article","og_title":"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7","og_description":"Modern web uygulamalar\u0131 geli\u015ftirirken veri g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zaman \u00f6ncelikli olmu\u015ftur. PocketBase, h\u0131zl\u0131 ve hafif bir backend \u00e7\u00f6z\u00fcm\u00fc sunsa da, uygulaman\u0131z\u0131n internet \u00fczerinde g\u00fcvenli bir \u015fekilde yay\u0131nlanmas\u0131 i\u00e7in alan ad\u0131 (domain) ve TLS\/SSL sertifikas\u0131 kurulumu hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, PocketBase projenizi kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli (HTTPS) bir ba\u011flant\u0131yla nas\u0131l yay\u0131nlayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenecek, b\u00f6ylece kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in hem g\u00fcvenilir hem de profesyonel bir deneyim sunacaks\u0131n\u0131z.","og_url":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-05T14:01:19+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"30 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7","datePublished":"2025-11-05T14:01:19+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/"},"wordCount":5225,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AI"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/","url":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/","name":"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-05T14:01:19+00:00","description":"Modern web uygulamalar\u0131 geli\u015ftirirken veri g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zaman \u00f6ncelikli olmu\u015ftur. PocketBase, h\u0131zl\u0131 ve hafif bir backend \u00e7\u00f6z\u00fcm\u00fc sunsa da, uygulaman\u0131z\u0131n internet \u00fczerinde g\u00fcvenli bir \u015fekilde yay\u0131nlanmas\u0131 i\u00e7in alan ad\u0131 (domain) ve TLS\/SSL sertifikas\u0131 kurulumu hayati \u00f6nem ta\u015f\u0131r. Bu kapsaml\u0131 rehberde, PocketBase projenizi kendi alan ad\u0131n\u0131z \u00fczerinden g\u00fcvenli (HTTPS) bir ba\u011flant\u0131yla nas\u0131l yay\u0131nlayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenecek, b\u00f6ylece kullan\u0131c\u0131lar\u0131n\u0131z i\u00e7in hem g\u00fcvenilir hem de profesyonel bir deneyim sunacaks\u0131n\u0131z.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/pocketbase-domain-ve-tls-kurulumu-adim-adim-guvenli-bir-baslangic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PocketBase Domain ve TLS Kurulumu: Ad\u0131m Ad\u0131m G\u00fcvenli Bir Ba\u015flang\u0131\u00e7"}]},{"@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\/33666","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=33666"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33666\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}