{"id":38874,"date":"2026-02-09T16:40:43","date_gmt":"2026-02-09T13:40:43","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38874"},"modified":"2026-02-09T16:40:43","modified_gmt":"2026-02-09T13:40:43","slug":"discourseu-ubuntu-20-04-uzerine-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/","title":{"rendered":"Discourse&#8217;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Discourse&#8217;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi<\/h2>\n<p>Discourse, modern web i\u00e7in tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir tart\u0131\u015fma platformudur. Geleneksel forum yaz\u0131l\u0131mlar\u0131n\u0131n aksine, Discourse kullan\u0131c\u0131 deneyimini \u00f6n planda tutan, interaktif ve zengin \u00f6zelliklere sahip bir topluluk arac\u0131 sunar. Ger\u00e7ek zamanl\u0131 g\u00fcncellemeler, bildirimler, geli\u015fmi\u015f arama yetenekleri ve mobil uyumluluk gibi \u00f6zellikleriyle Discourse, g\u00fcn\u00fcm\u00fcz\u00fcn dijital topluluklar\u0131n\u0131n ihtiya\u00e7lar\u0131na cevap verir. Bu kapsaml\u0131 rehberde, Discourse&#8217;u Ubuntu 20.04 sunucusu \u00fczerine Docker kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.<\/p>\n<h3>Discourse Nedir ve Neden Tercih Edilmelidir?<\/h3>\n<p>Discourse, Jeff Atwood, Robin Ward ve Sam Saffron taraf\u0131ndan kurulmu\u015f bir \u015firket olan Civilized Discourse Construction Kit, Inc. taraf\u0131ndan geli\u015ftirilmi\u015ftir. Amac\u0131, internetteki tart\u0131\u015fma platformlar\u0131n\u0131 daha medeni, kullan\u0131\u015fl\u0131 ve modern hale getirmektir. PHP tabanl\u0131 eski forum sistemlerinin (phpBB, vBulletin gibi) aksine, Discourse Ruby on Rails, Ember.js ve PostgreSQL gibi modern teknolojiler \u00fczerine in\u015fa edilmi\u015ftir.<\/p>\n<p>Discourse&#8217;u tercih etmek i\u00e7in bir\u00e7ok ge\u00e7erli neden vard\u0131r:<\/p>\n<p>*   <strong>Modern Kullan\u0131c\u0131 Deneyimi:<\/strong> Tek sayfa uygulamas\u0131 (SPA) mimarisi sayesinde h\u0131zl\u0131 ve ak\u0131c\u0131 bir kullan\u0131c\u0131 deneyimi sunar. Ger\u00e7ek zamanl\u0131 g\u00fcncellemeler ve sonsuz kayd\u0131rma \u00f6zelli\u011fi ile kullan\u0131c\u0131lar\u0131n etkile\u015fimini art\u0131r\u0131r.<br \/>\n*   <strong>A\u00e7\u0131k Kaynak:<\/strong> Tamamen a\u00e7\u0131k kaynakl\u0131 olmas\u0131, topluluk taraf\u0131ndan s\u00fcrekli geli\u015ftirilmesini ve \u00f6zelle\u015ftirilebilir olmas\u0131n\u0131 sa\u011flar. G\u00fcvenlik ve \u015feffafl\u0131k a\u00e7\u0131s\u0131ndan avantajl\u0131d\u0131r.<br \/>\n*   <strong>Mobil Uyumlu:<\/strong> Duyarl\u0131 (responsive) tasar\u0131m\u0131 sayesinde masa\u00fcst\u00fc, tablet ve telefonlarda sorunsuz bir \u015fekilde \u00e7al\u0131\u015f\u0131r.<br \/>\n*   <strong>G\u00fc\u00e7l\u00fc Y\u00f6netim Ara\u00e7lar\u0131:<\/strong> Kapsaml\u0131 moderasyon ara\u00e7lar\u0131, spam \u00f6nleme \u00f6zellikleri ve kullan\u0131c\u0131 seviyeleri ile topluluk y\u00f6netimini kolayla\u015ft\u0131r\u0131r.<br \/>\n*   <strong>Entegrasyonlar:<\/strong> Tek oturum a\u00e7ma (SSO), eklenti deste\u011fi ve API&#8217;leri sayesinde di\u011fer uygulamalarla kolayca entegre edilebilir.<br \/>\n*   <strong>E-posta Entegrasyonu:<\/strong> E-posta ile g\u00f6nderilen yan\u0131tlar\u0131 do\u011frudan tart\u0131\u015fma konular\u0131na d\u00f6n\u00fc\u015ft\u00fcrme yetene\u011fi, ileti\u015fimi daha esnek hale getirir.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> Kapsaml\u0131 g\u00fcvenlik \u00f6nlemleri ve d\u00fczenli g\u00fcncellemelerle kullan\u0131c\u0131 verilerini korur.<br \/>\n*   <strong>SEO Dostu:<\/strong> Arama motorlar\u0131 i\u00e7in optimize edilmi\u015f yap\u0131s\u0131 sayesinde i\u00e7eriklerinizin daha kolay bulunmas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<p>Ubuntu 20.04 ise uzun s\u00fcreli destek (LTS) sunan, kararl\u0131 ve yayg\u0131n olarak kullan\u0131lan bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Sunucu ortamlar\u0131nda g\u00fcvenilirli\u011fi ve geni\u015f paket deste\u011fi nedeniyle Discourse gibi uygulamalar i\u00e7in ideal bir temel olu\u015fturur. Bu rehber, Discourse&#8217;un Docker tabanl\u0131 kurulumunu kullanarak hem kolay hem de bak\u0131m\u0131 pratik bir \u00e7\u00f6z\u00fcm sunacakt\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Discourse kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131n\u0131zdan emin olun:<\/p>\n<p>*   <strong>Ubuntu 20.04 Sunucusu:<\/strong> Temiz bir Ubuntu 20.04 LTS kurulumu \u00f6nerilir.<br \/>\n*   <strong>Minimum Donan\u0131m:<\/strong><br \/>\n    *   <strong>RAM:<\/strong> En az 2 GB RAM (4 GB veya daha fazlas\u0131 \u00f6nerilir, \u00f6zellikle b\u00fcy\u00fck topluluklar i\u00e7in).<br \/>\n    *   <strong>CPU:<\/strong> En az 2 \u00e7ekirdekli i\u015flemci.<br \/>\n    *   <strong>Disk Alan\u0131:<\/strong> En az 20 GB bo\u015f disk alan\u0131 (SSD \u00f6nerilir).<br \/>\n*   <strong>Alan Ad\u0131:<\/strong> Sunucunuzun IP adresine i\u015faret eden bir alan ad\u0131na (\u00f6rne\u011fin, <code>forum.example.com<\/code>) ihtiyac\u0131n\u0131z olacakt\u0131r. Bu, Let&#8217;s Encrypt ile SSL sertifikas\u0131 almak ve Discourse&#8217;a eri\u015fmek i\u00e7in zorunludur. DNS kayd\u0131n\u0131z\u0131 (A kayd\u0131) sunucunuzun IP adresine y\u00f6nlendirdi\u011finizden emin olun ve DNS yay\u0131l\u0131m\u0131 i\u00e7in biraz bekleyin.<br \/>\n*   <strong>SMTP Sunucusu:<\/strong> Discourse, e-posta g\u00f6ndermek i\u00e7in bir SMTP sunucusuna ihtiya\u00e7 duyar. Bu, kullan\u0131c\u0131 kayd\u0131, \u015fifre s\u0131f\u0131rlama, bildirimler ve di\u011fer ileti\u015fimler i\u00e7in kullan\u0131l\u0131r. Kendi SMTP sunucunuzu kurabilir veya SendGrid, Mailgun, Amazon SES gibi \u00fc\u00e7\u00fcnc\u00fc taraf bir e-posta hizmeti sa\u011flay\u0131c\u0131s\u0131 kullanabilirsiniz. SMTP sunucunuzun ana bilgisayar ad\u0131, ba\u011flant\u0131 noktas\u0131, kullan\u0131c\u0131 ad\u0131 ve \u015fifresi gerekecektir.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Sunucunuza root kullan\u0131c\u0131s\u0131 olarak veya <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 ile SSH \u00fczerinden eri\u015fim.<\/p>\n<h3>Sunucu \u0130lk Kurulum Ayarlar\u0131<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce sunucunuzu g\u00fcncelleyelim ve gerekli temel paketleri kural\u0131m.<\/p>\n<h4>Sistem G\u00fcncelleme<\/h4>\n<p>SSH ile sunucunuza ba\u011fland\u0131ktan sonra, paket listelerini g\u00fcncelleyin ve mevcut t\u00fcm paketleri y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>Bu komutlar, sisteminizin en son g\u00fcvenlik yamalar\u0131na ve yaz\u0131l\u0131m g\u00fcncellemelerine sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>Gerekli Paketlerin Kurulumu<\/h4>\n<p>Discourse kurulumu i\u00e7in <code>curl<\/code>, <code>git<\/code> gibi baz\u0131 temel ara\u00e7lara ihtiyac\u0131m\u0131z olacak. Ayr\u0131ca Docker kurulumu i\u00e7in de birka\u00e7 paket gereklidir.<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y curl git apt-transport-https ca-certificates software-properties-common<\/code><\/pre>\n<p>*   <code>curl<\/code>: Web kaynaklar\u0131n\u0131 indirmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>git<\/code>: Discourse Docker deposunu klonlamak i\u00e7in gereklidir.<br \/>\n*   <code>apt-transport-https<\/code>, <code>ca-certificates<\/code>, <code>software-properties-common<\/code>: Docker deposunu eklemek i\u00e7in gerekli olan HTTPS \u00fczerinden APT depolar\u0131n\u0131 kullanmay\u0131 sa\u011flayan yard\u0131mc\u0131 paketlerdir.<\/p>\n<h4>Sudo Yetkili Bir Kullan\u0131c\u0131 Olu\u015fturma (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir)<\/h4>\n<p>Root kullan\u0131c\u0131s\u0131 olarak do\u011frudan \u00e7al\u0131\u015fmak yerine, <code>sudo<\/code> yetkilerine sahip ayr\u0131 bir kullan\u0131c\u0131 olu\u015fturmak iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r. E\u011fer zaten <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 ile \u00e7al\u0131\u015f\u0131yorsan\u0131z bu ad\u0131m\u0131 atlayabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo adduser discourse\nsudo usermod -aG sudo discourse<\/code><\/pre>\n<p>\u0130lk komut <code>discourse<\/code> ad\u0131nda yeni bir kullan\u0131c\u0131 olu\u015fturur ve sizden bir parola belirlemenizi ister. \u0130kinci komut ise bu kullan\u0131c\u0131y\u0131 <code>sudo<\/code> grubuna ekleyerek y\u00f6netici yetkileri verir. Bu ad\u0131mdan sonra, yeni kullan\u0131c\u0131ya ge\u00e7i\u015f yapabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">su - discourse<\/code><\/pre>\n<p>Art\u0131k <code>discourse<\/code> kullan\u0131c\u0131s\u0131 olarak oturum a\u00e7t\u0131n\u0131z ve <code>sudo<\/code> komutunu kullanarak y\u00f6netici g\u00f6revlerini yerine getirebilirsiniz.<\/p>\n<h3>Docker Kurulumu<\/h3>\n<p>Discourse, kurulum ve y\u00f6netim kolayl\u0131\u011f\u0131 i\u00e7in Docker kullan\u0131r. Bu nedenle, sunucumuza Docker Engine&#8217;i kurmam\u0131z gerekiyor.<\/p>\n<h4>Neden Docker?<\/h4>\n<p>Discourse, t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 (PostgreSQL, Redis, Nginx vb.) Docker konteynerleri i\u00e7inde \u00e7al\u0131\u015ft\u0131rarak izole ve ta\u015f\u0131nabilir bir ortam sa\u011flar. Bu yakla\u015f\u0131m, karma\u015f\u0131k ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimini ortadan kald\u0131r\u0131r, farkl\u0131 sunuculara kolayca ta\u015f\u0131nabilirli\u011fi sa\u011flar ve sistem genelinde \u00e7ak\u0131\u015fmalar\u0131 \u00f6nler.<\/p>\n<h4>Docker GPG Anahtar\u0131n\u0131 Ekleme<\/h4>\n<p>Docker&#8217;\u0131n resmi deposundan paketleri g\u00fcvenli bir \u015fekilde indirmek i\u00e7in Docker&#8217;\u0131n GPG anahtar\u0131n\u0131 sisteminize eklemelisiniz:<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/docker-archive-keyring.gpg<\/code><\/pre>\n<p>Bu komut, Docker&#8217;\u0131n genel anahtar\u0131n\u0131 indirir ve g\u00fcvenli bir \u015fekilde <code>gpg<\/code> anahtarl\u0131k dizinine kaydeder.<\/p>\n<h4>Docker Deposunu Ekleme<\/h4>\n<p>\u015eimdi Docker deposunu APT kaynak listenize ekleyin:<\/p>\n<pre><code class=\"language-bash\">echo \"deb [arch=$(dpkg --print-architecture) signed-by=\/usr\/share\/keyrings\/docker-archive-keyring.gpg] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\" | sudo tee \/etc\/apt\/sources.list.d\/docker.list > \/dev\/null<\/code><\/pre>\n<p>Bu komut, sisteminizin mimarisine (<code>amd64<\/code>, <code>arm64<\/code> vb.) uygun Docker kararl\u0131 deposunu <code>\/etc\/apt\/sources.list.d\/docker.list<\/code> dosyas\u0131na ekler.<\/p>\n<h4>Docker Engine Kurulumu<\/h4>\n<p>Depoyu ekledikten sonra, APT paket listesini tekrar g\u00fcncelleyin ve Docker Engine&#8217;i kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install -y docker-ce docker-ce-cli containerd.io<\/code><\/pre>\n<p>*   <code>docker-ce<\/code>: Docker Engine&#8217;in topluluk s\u00fcr\u00fcm\u00fc.<br \/>\n*   <code>docker-ce-cli<\/code>: Docker komut sat\u0131r\u0131 aray\u00fcz\u00fc.<br \/>\n*   <code>containerd.io<\/code>: Docker&#8217;\u0131n temel bile\u015fenlerinden biri olan konteyner \u00e7al\u0131\u015fma zaman\u0131.<\/p>\n<h4>Docker Kurulumunu Do\u011frulama<\/h4>\n<p>Docker&#8217;\u0131n ba\u015far\u0131yla kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status docker<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>Active: active (running)<\/code> ifadesini g\u00f6rmelisiniz.<\/p>\n<p>Ayr\u0131ca, basit bir test konteyneri \u00e7al\u0131\u015ft\u0131rarak Docker&#8217;\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo docker run hello-world<\/code><\/pre>\n<p>Bu komut, k\u00fc\u00e7\u00fck bir test imaj\u0131n\u0131 indirir, bir konteynerde \u00e7al\u0131\u015ft\u0131r\u0131r ve &#8220;Hello from Docker!&#8221; mesaj\u0131n\u0131 g\u00f6r\u00fcnt\u00fclerse, Docker kurulumunuz ba\u015far\u0131l\u0131 demektir.<\/p>\n<h4>Kullan\u0131c\u0131y\u0131 Docker Grubuna Ekleme<\/h4>\n<p><code>sudo<\/code> kullanmadan Docker komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rabilmek i\u00e7in mevcut kullan\u0131c\u0131n\u0131z\u0131 <code>docker<\/code> grubuna eklemelisiniz. Bu, her seferinde <code>sudo<\/code> yazma zorunlulu\u011funu ortadan kald\u0131r\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo usermod -aG docker $(whoami)<\/code><\/pre>\n<p>Bu de\u011fi\u015fikli\u011fin etkili olmas\u0131 i\u00e7in oturumu kapat\u0131p tekrar a\u00e7man\u0131z veya sunucuyu yeniden ba\u015flatman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">exit # Kullan\u0131c\u0131dan \u00e7\u0131k\u0131\u015f yap\n<h2>Tekrar SSH ile ba\u011flan\u0131n veya<\/h2>\nsudo reboot # Sunucuyu yeniden ba\u015flat\u0131n<\/code><\/pre>\n<p>Oturum a\u00e7t\u0131ktan sonra <code>sudo<\/code> olmadan <code>docker run hello-world<\/code> komutunu tekrar deneyin. E\u011fer \u00e7al\u0131\u015f\u0131yorsa, kullan\u0131c\u0131 Docker grubuna ba\u015far\u0131yla eklenmi\u015ftir.<\/p>\n<h3>Discourse Kurulumu<\/h3>\n<p>Docker kurulduktan sonra, Discourse&#8217;u kurmaya ba\u015flayabiliriz. Discourse, kendi Docker kurulum komut dosyas\u0131n\u0131 ve yap\u0131land\u0131rma arac\u0131n\u0131 sa\u011flar.<\/p>\n<h4>Discourse Docker Deposunu Klonlama<\/h4>\n<p>Discourse&#8217;un kurulum betiklerini ve Docker yap\u0131land\u0131rmalar\u0131n\u0131 i\u00e7eren depoyu sunucunuza klonlay\u0131n. Genellikle <code>\/var\/discourse<\/code> dizinine klonlan\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo -E git clone https:\/\/github.com\/discourse\/discourse_docker.git \/var\/discourse<\/code><\/pre>\n<p>Burada <code>sudo -E<\/code> kullanmak \u00f6nemlidir, \u00e7\u00fcnk\u00fc <code>git clone<\/code> komutunu <code>sudo<\/code> ile \u00e7al\u0131\u015ft\u0131r\u0131rken mevcut ortam de\u011fi\u015fkenlerinin (\u00f6zellikle <code>HOME<\/code>) korunmas\u0131n\u0131 sa\u011flar. Bu, daha sonraki ad\u0131mlarda sorun ya\u015fanmas\u0131n\u0131 \u00f6nler. E\u011fer <code>root<\/code> kullan\u0131c\u0131s\u0131 olarak \u00e7al\u0131\u015f\u0131yorsan\u0131z <code>sudo -E<\/code> yerine sadece <code>git clone<\/code> kullanabilirsiniz.<\/p>\n<h4>Dizine Ge\u00e7i\u015f<\/h4>\n<p>Klonlad\u0131\u011f\u0131n\u0131z dizine gidin:<\/p>\n<pre><code class=\"language-bash\">cd \/var\/discourse<\/code><\/pre>\n<h4>Yap\u0131land\u0131rma Dosyas\u0131n\u0131 Olu\u015fturma<\/h4>\n<p>Discourse, kurulum s\u00fcrecini otomatikle\u015ftiren ve <code>app.yml<\/code> ad\u0131nda bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturan bir kurulum beti\u011fi sa\u011flar:<\/p>\n<pre><code class=\"language-bash\">sudo .\/discourse-setup<\/code><\/pre>\n<p>Bu betik, size birka\u00e7 soru soracak ve yan\u0131tlar\u0131n\u0131za g\u00f6re <code>app.yml<\/code> dosyas\u0131n\u0131 olu\u015fturacakt\u0131r. \u0130\u015fte kar\u015f\u0131la\u015faca\u011f\u0131n\u0131z sorular ve yan\u0131tlaman\u0131z gereken bilgiler:<\/p>\n<p>1.  <strong>Hostname for your Discourse?<\/strong> (<code>forum.example.com<\/code> gibi alan ad\u0131n\u0131z\u0131 girin.)<br \/>\n    *   <strong>\u00d6nemli:<\/strong> Bu alan ad\u0131n\u0131n DNS kayd\u0131n\u0131n sunucunuzun IP adresine do\u011fru \u015fekilde i\u015faret etti\u011finden emin olun. Let&#8217;s Encrypt bu alan ad\u0131n\u0131 kullanarak SSL sertifikas\u0131 olu\u015fturacakt\u0131r.<br \/>\n2.  <strong>Email address for admin account(s)?<\/strong> (<code>admin@example.com<\/code> gibi y\u00f6netici e-posta adresinizi girin.)<br \/>\n    *   Bu e-posta adresi, ilk y\u00f6netici hesab\u0131n\u0131 olu\u015fturmak ve Let&#8217;s Encrypt bildirimleri i\u00e7in kullan\u0131lacakt\u0131r.<br \/>\n3.  <strong>SMTP server address?<\/strong> (<code>smtp.sendgrid.net<\/code> gibi SMTP sunucunuzun adresini girin.)<br \/>\n4.  <strong>SMTP port?<\/strong> (<code>587<\/code> veya <code>465<\/code> gibi SMTP sunucunuzun ba\u011flant\u0131 noktas\u0131n\u0131 girin. \u00c7o\u011fu zaman <code>587<\/code> (TLS) veya <code>465<\/code> (SSL) kullan\u0131l\u0131r.)<br \/>\n5.  <strong>SMTP username?<\/strong> (SMTP sunucunuzun kullan\u0131c\u0131 ad\u0131n\u0131 girin.)<br \/>\n6.  <strong>SMTP password?<\/strong> (SMTP sunucunuzun \u015fifresini girin.)<br \/>\n7.  <strong>Optional email address for Let&#8217;s Encrypt notifications?<\/strong> (Let&#8217;s Encrypt&#8217;ten bildirim almak istedi\u011finiz bir e-posta adresi girin, genellikle admin e-postas\u0131 ile ayn\u0131 olabilir.)<\/p>\n<p>Bu sorular\u0131 yan\u0131tlad\u0131ktan sonra, betik size \u00f6zet bir yap\u0131land\u0131rma g\u00f6sterecek ve onay\u0131n\u0131z\u0131 isteyecektir. Onaylad\u0131ktan sonra, <code>app.yml<\/code> dosyas\u0131 olu\u015fturulacak ve Discourse&#8217;un ilk derlemesi ba\u015flayacakt\u0131r.<\/p>\n<h4>\u0130lk Derleme ve Ba\u015flatma<\/h4>\n<p><code>discourse-setup<\/code> beti\u011fi, yap\u0131land\u0131rmay\u0131 tamamlad\u0131ktan sonra otomatik olarak Discourse&#8217;u derlemeye ve ba\u015flatmaya ba\u015flayacakt\u0131r. Bu i\u015flem biraz zaman alabilir (genellikle 5-15 dakika, sunucunuzun performans\u0131na ve internet h\u0131z\u0131na ba\u011fl\u0131 olarak). Bu s\u00fcre\u00e7te Docker, Discourse i\u00e7in gerekli t\u00fcm bile\u015fenleri (PostgreSQL, Redis, Nginx, Ruby on Rails uygulamas\u0131) indirip kuracakt\u0131r.<\/p>\n<p>\u0130\u015flem s\u0131ras\u0131nda a\u015fa\u011f\u0131daki gibi \u00e7\u0131kt\u0131lar g\u00f6receksiniz:<\/p>\n<pre><code class=\"language-\">...\nBuilding discourse_web\n...\nRunning post-install setup scripts\n...\nDiscourse is now starting.<\/code><\/pre>\n<p>T\u00fcm i\u015flemler tamamland\u0131\u011f\u0131nda, betik size Discourse&#8217;un ba\u015far\u0131yla kuruldu\u011funu ve web taray\u0131c\u0131n\u0131zdan eri\u015febilece\u011finizi bildiren bir mesaj g\u00f6sterecektir.<\/p>\n<h3>Kurulum Sonras\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>Discourse ba\u015far\u0131yla kurulduktan sonra, web taray\u0131c\u0131n\u0131zdan eri\u015febilir ve son yap\u0131land\u0131rmalar\u0131 yapabilirsiniz.<\/p>\n<h4>Discourse&#8217;a Eri\u015fme<\/h4>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve kurulum s\u0131ras\u0131nda belirtti\u011finiz alan ad\u0131n\u0131 (\u00f6rne\u011fin, <code>https:\/\/forum.example.com<\/code>) adres \u00e7ubu\u011funa yaz\u0131n. E\u011fer her \u015fey yolundaysa, Discourse&#8217;un ho\u015f geldiniz sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h4>Y\u00f6netici Hesab\u0131 Olu\u015fturma<\/h4>\n<p>Discourse&#8217;a ilk eri\u015fti\u011finizde, sizi bir y\u00f6netici hesab\u0131 olu\u015fturmaya y\u00f6nlendiren bir sihirbaz kar\u015f\u0131layacakt\u0131r. Kurulum s\u0131ras\u0131nda belirtti\u011finiz y\u00f6netici e-posta adresini kullanarak kaydolun. \u0130lk kaydolan kullan\u0131c\u0131 otomatik olarak y\u00f6netici yetkilerine sahip olacakt\u0131r.<\/p>\n<p>*   Kullan\u0131c\u0131 ad\u0131, e-posta ve \u015fifre girin.<br \/>\n*   &#8220;Create Your Admin Account&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<br \/>\n*   E-posta adresinize bir do\u011frulama ba\u011flant\u0131s\u0131 g\u00f6nderilecektir. E-postan\u0131z\u0131 kontrol edin ve ba\u011flant\u0131ya t\u0131klayarak hesab\u0131n\u0131z\u0131 do\u011frulay\u0131n.<\/p>\n<p>Hesab\u0131n\u0131z\u0131 do\u011frulad\u0131ktan sonra, Discourse paneline y\u00f6nlendirileceksiniz.<\/p>\n<h4>Temel Ayarlar ve \u00d6zelle\u015ftirmeler<\/h4>\n<p>Y\u00f6netici paneline eri\u015fiminiz olduktan sonra, Discourse toplulu\u011funuzu \u00f6zelle\u015ftirmeye ba\u015flayabilirsiniz:<\/p>\n<p>*   <strong>Site Ad\u0131 ve A\u00e7\u0131klamas\u0131:<\/strong> &#8220;Admin&#8221; -> &#8220;Settings&#8221; alt\u0131na giderek forumunuzun ad\u0131n\u0131, a\u00e7\u0131klamas\u0131n\u0131 ve logosunu ayarlay\u0131n.<br \/>\n*   <strong>E-posta Ayarlar\u0131:<\/strong> E\u011fer kurulum s\u0131ras\u0131nda e-posta ayarlar\u0131n\u0131zda bir sorun ya\u015fad\u0131ysan\u0131z veya de\u011fi\u015ftirmek isterseniz, &#8220;Admin&#8221; -> &#8220;Settings&#8221; -> &#8220;Email&#8221; b\u00f6l\u00fcm\u00fcnden SMTP sunucu bilgilerinizi g\u00fcncelleyebilirsiniz. &#8220;Send Test Email&#8221; se\u00e7ene\u011fini kullanarak e-posta g\u00f6nderimini test etmeniz \u015fiddetle tavsiye edilir.<br \/>\n*   <strong>Kullan\u0131c\u0131 Kay\u0131t Y\u00f6ntemleri:<\/strong> &#8220;Admin&#8221; -> &#8220;Settings&#8221; -> &#8220;Login&#8221; b\u00f6l\u00fcm\u00fcnden kullan\u0131c\u0131lar\u0131n nas\u0131l kaydolabilece\u011fini (e-posta ile, sosyal medya ile vb.) yap\u0131land\u0131rabilirsiniz.<br \/>\n*   <strong>Kategoriler:<\/strong> &#8220;Admin&#8221; -> &#8220;Categories&#8221; b\u00f6l\u00fcm\u00fcnden forumunuz i\u00e7in konular\u0131 d\u00fczenleyecek kategoriler olu\u015fturun.<br \/>\n*   <strong>Temalar:<\/strong> &#8220;Admin&#8221; -> &#8220;Customize&#8221; -> &#8220;Themes&#8221; b\u00f6l\u00fcm\u00fcnden Discourse&#8217;unuzun g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc de\u011fi\u015ftirebilirsiniz.<br \/>\n*   <strong>Eklentiler:<\/strong> Discourse&#8217;un i\u015flevselli\u011fini art\u0131rmak i\u00e7in &#8220;Admin&#8221; -> &#8220;Plugins&#8221; b\u00f6l\u00fcm\u00fcnden eklentileri etkinle\u015ftirebilir veya yenilerini kurabilirsiniz.<\/p>\n<h4>Discourse&#8217;u G\u00fcncelleme<\/h4>\n<p>Discourse&#8217;u g\u00fcncel tutmak, g\u00fcvenlik ve yeni \u00f6zelliklerden yararlanmak i\u00e7in \u00f6nemlidir. Discourse g\u00fcncellemeleri hem web aray\u00fcz\u00fcnden hem de komut sat\u0131r\u0131ndan yap\u0131labilir.<\/p>\n<p>*   <strong>Web Aray\u00fcz\u00fc \u00dczerinden G\u00fcncelleme:<\/strong> Y\u00f6netici paneline giri\u015f yapt\u0131ktan sonra, sa\u011f \u00fcst k\u00f6\u015fedeki profil resminize t\u0131klay\u0131n ve &#8220;Admin&#8221; se\u00e7ene\u011fini se\u00e7in. E\u011fer yeni bir g\u00fcncelleme varsa, &#8220;Updates&#8221; sekmesinde bir bildirim g\u00f6receksiniz. Buradan kolayca g\u00fcncellemeyi ba\u015flatabilirsiniz.<br \/>\n*   <strong>Komut Sat\u0131r\u0131 \u00dczerinden G\u00fcncelleme:<\/strong> Daha kapsaml\u0131 g\u00fcncellemeler veya sorun giderme durumlar\u0131nda komut sat\u0131r\u0131n\u0131 kullanmak daha iyi olabilir.<\/p>\n<pre><code class=\"language-bash\">cd \/var\/discourse\n    sudo .\/launcher rebuild app<\/code><\/pre>\n<p>    Bu komut, Discourse uygulamas\u0131n\u0131 yeniden derler ve en son s\u00fcr\u00fcme g\u00fcnceller. Bu i\u015flem de biraz zaman alabilir.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Kurulum veya kullan\u0131m s\u0131ras\u0131nda baz\u0131 sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte yayg\u0131n sorunlar ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>E-posta G\u00f6nderilemiyor<\/h4>\n<p>*   <strong>SMTP Ayarlar\u0131:<\/strong> <code>app.yml<\/code> dosyan\u0131zdaki (veya y\u00f6netici panelindeki) SMTP sunucu adresini, ba\u011flant\u0131 noktas\u0131n\u0131, kullan\u0131c\u0131 ad\u0131n\u0131 ve \u015fifresini kontrol edin. Bu bilgiler do\u011fru olmal\u0131 ve SMTP sunucunuzdan al\u0131nan bilgilerle e\u015fle\u015fmelidir.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 (Firewall):<\/strong> Sunucunuzun g\u00fcvenlik duvar\u0131n\u0131n (ufw gibi) SMTP portlar\u0131na (genellikle 587 veya 465) giden veya gelen trafi\u011fi engellemedi\u011finden emin olun.<br \/>\n*   <strong>E-posta Hizmeti Sa\u011flay\u0131c\u0131s\u0131 K\u0131s\u0131tlamalar\u0131:<\/strong> Baz\u0131 e-posta hizmeti sa\u011flay\u0131c\u0131lar\u0131 (\u00f6zellikle yeni hesaplar i\u00e7in) g\u00fcnl\u00fck g\u00f6nderim limitleri veya kimlik do\u011frulama gereksinimleri koyabilir. Sa\u011flay\u0131c\u0131n\u0131z\u0131n belgelerini kontrol edin.<br \/>\n*   <strong>Discourse Loglar\u0131:<\/strong> Sorunun nedenini anlamak i\u00e7in Discourse&#8217;un e-posta loglar\u0131n\u0131 kontrol edin.<\/p>\n<pre><code class=\"language-bash\">cd \/var\/discourse\n    sudo .\/launcher logs app | grep -i 'email'<\/code><\/pre>\n<h4>Discourse Ba\u015flam\u0131yor veya Eri\u015filemiyor<\/h4>\n<p>*   <strong>Sunucu Kaynaklar\u0131:<\/strong> Sunucunuzun yeterli RAM ve CPU&#8217;ya sahip oldu\u011fundan emin olun. \u00d6zellikle 2 GB RAM alt\u0131ndaki sunucularda Discourse d\u00fczg\u00fcn \u00e7al\u0131\u015fmayabilir.<br \/>\n*   <strong>Docker Durumu:<\/strong> Docker Engine&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun: <code>sudo systemctl status docker<\/code>.<br \/>\n*   <strong>Discourse Konteyner Durumu:<\/strong> Discourse konteynerlerinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin: <code>sudo docker ps<\/code>. E\u011fer <code>discourse_app<\/code> konteyneri listede yoksa veya <code>Exited<\/code> durumundaysa, bir sorun var demektir.<br \/>\n*   <strong>app.yml Hatalar\u0131:<\/strong> <code>\/var\/discourse\/containers\/app.yml<\/code> dosyas\u0131ndaki yap\u0131land\u0131rma hatalar\u0131n\u0131 kontrol edin. \u00d6zellikle hostname, e-posta veya SMTP bilgilerinde yaz\u0131m hatalar\u0131 olabilir.<br \/>\n*   <strong>Loglar\u0131 Kontrol Etme:<\/strong> Discourse uygulamas\u0131n\u0131n loglar\u0131n\u0131 kontrol ederek hatan\u0131n kayna\u011f\u0131n\u0131 bulmaya \u00e7al\u0131\u015f\u0131n:<\/p>\n<pre><code class=\"language-bash\">cd \/var\/discourse\n    sudo .\/launcher logs app<\/code><\/pre>\n<p>*   <strong>Yeniden Derleme:<\/strong> Bazen <code>sudo .\/launcher rebuild app<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmak sorunlar\u0131 \u00e7\u00f6zebilir.<\/p>\n<h4>Alan Ad\u0131 D\u00fczg\u00fcn \u0130\u015faret Etmiyor veya SSL Hatas\u0131<\/h4>\n<p>*   <strong>DNS Yay\u0131l\u0131m\u0131:<\/strong> Alan ad\u0131n\u0131z\u0131n (A kayd\u0131) sunucunuzun IP adresine do\u011fru \u015fekilde i\u015faret etti\u011finden ve DNS yay\u0131l\u0131m\u0131n\u0131n tamamland\u0131\u011f\u0131ndan emin olun. Bu i\u015flem 24-48 saat s\u00fcrebilir.<br \/>\n*   <strong>Let&#8217;s Encrypt K\u0131s\u0131tlamalar\u0131:<\/strong> E\u011fer Let&#8217;s Encrypt sertifikas\u0131 al\u0131rken hata al\u0131yorsan\u0131z, alan ad\u0131n\u0131z\u0131n do\u011fru oldu\u011fundan ve DNS&#8217;in yay\u0131lm\u0131\u015f oldu\u011fundan emin olun. Let&#8217;s Encrypt&#8217;in belirli bir s\u00fcre i\u00e7inde ayn\u0131 alan ad\u0131 i\u00e7in \u00e7ok fazla sertifika iste\u011fi yapma limitleri vard\u0131r.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> Sunucunuzun g\u00fcvenlik duvar\u0131n\u0131n HTTP (80) ve HTTPS (443) portlar\u0131na gelen trafi\u011fi engellemedi\u011finden emin olun. Let&#8217;s Encrypt sertifika do\u011frulamas\u0131n\u0131 80 portu \u00fczerinden yapar.<\/p>\n<h3>Geli\u015fmi\u015f Yap\u0131land\u0131rma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h3>\n<p>Discourse&#8217;u daha da \u00f6zelle\u015ftirmek ve optimize etmek i\u00e7in baz\u0131 geli\u015fmi\u015f yap\u0131land\u0131rmalar\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<h4><code>app.yml<\/code> Dosyas\u0131n\u0131 \u00d6zelle\u015ftirme<\/h4>\n<p><code>\/var\/discourse\/containers\/app.yml<\/code> dosyas\u0131, Discourse Docker konteynerinin t\u00fcm yap\u0131land\u0131rmas\u0131n\u0131 i\u00e7erir. Bu dosyay\u0131 d\u00fczenleyerek \u015funlar\u0131 yapabilirsiniz:<\/p>\n<p>*   <strong>Eklentiler Ekleme:<\/strong> Varsay\u0131lan olarak gelmeyen eklentileri (\u00f6rne\u011fin, Discourse Solved, Discourse Math) eklemek i\u00e7in <code>plugins<\/code> b\u00f6l\u00fcm\u00fcne URL&#8217;lerini ekleyebilirsiniz.<br \/>\n*   <strong>Bellek Limitlerini Ayarlama:<\/strong> Sunucunuzun RAM&#8217;i yetersizse veya \u00e7ok fazlaysa, PostgreSQL ve Redis i\u00e7in bellek limitlerini ayarlayabilirsiniz.<br \/>\n*   <strong>Ortam De\u011fi\u015fkenleri Ekleme:<\/strong> Di\u011fer geli\u015fmi\u015f ayarlar i\u00e7in \u00f6zel ortam de\u011fi\u015fkenleri ekleyebilirsiniz.<\/p>\n<p><code>app.yml<\/code> dosyas\u0131nda herhangi bir de\u011fi\u015fiklik yapt\u0131ktan sonra, de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in Discourse&#8217;u yeniden derlemeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">cd \/var\/discourse\nsudo .\/launcher rebuild app<\/code><\/pre>\n<h4>Yedeklemeler<\/h4>\n<p>Discourse, yerle\u015fik bir yedekleme \u00f6zelli\u011fine sahiptir. Y\u00f6netici panelinden &#8220;Admin&#8221; -> &#8220;Backups&#8221; b\u00f6l\u00fcm\u00fcne giderek manuel yedeklemeler yapabilir veya otomatik yedeklemeleri yap\u0131land\u0131rabilirsiniz. Yedeklemeler, sunucunuzdaki <code>\/var\/discourse\/shared\/standalone\/backups\/default<\/code> dizinine kaydedilir. G\u00fcvenlik i\u00e7in bu yedeklemeleri d\u00fczenli olarak uzak bir depolama konumuna (S3, Dropbox vb.) ta\u015f\u0131mak iyi bir uygulamad\u0131r.<\/p>\n<h4>CDN Entegrasyonu<\/h4>\n<p>B\u00fcy\u00fck topluluklar i\u00e7in, statik varl\u0131klar\u0131 (resimler, CSS, JavaScript) bir \u0130\u00e7erik Da\u011f\u0131t\u0131m A\u011f\u0131 (CDN) \u00fczerinden sunmak performans\u0131 art\u0131rabilir ve sunucu y\u00fck\u00fcn\u00fc azaltabilir. Discourse, CDN entegrasyonunu destekler. Y\u00f6netici panelindeki ayarlardan veya <code>app.yml<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek CDN URL&#8217;nizi belirtebilirsiniz.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehberde, Discourse&#8217;u Ubuntu 20.04 sunucusu \u00fczerine Docker kullanarak ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. Modern bir tart\u0131\u015fma platformu olan Discourse, g\u00fc\u00e7l\u00fc \u00f6zellikleri ve kullan\u0131c\u0131 dostu aray\u00fcz\u00fc ile topluluklar\u0131n\u0131z\u0131 canland\u0131rman\u0131za yard\u0131mc\u0131 olacakt\u0131r. Kurulum s\u00fcreci, Docker&#8217;\u0131n sundu\u011fu kolayl\u0131klar sayesinde olduk\u00e7a basittir, ancak alan ad\u0131, SMTP sunucusu ve sunucu kaynaklar\u0131 gibi \u00f6n gereksinimlerin do\u011fru \u015fekilde kar\u015f\u0131land\u0131\u011f\u0131ndan emin olmak kritik \u00f6neme sahiptir.<\/p>\n<p>Art\u0131k kendi Discourse toplulu\u011funuzu ba\u015flatt\u0131\u011f\u0131n\u0131za g\u00f6re, platformunuzu \u00f6zelle\u015ftirmeye, kategoriler olu\u015fturmaya ve kullan\u0131c\u0131lar\u0131 davet etmeye ba\u015flayabilirsiniz. Unutmay\u0131n, toplulu\u011funuzun sa\u011fl\u0131kl\u0131 b\u00fcy\u00fcmesi i\u00e7in d\u00fczenli g\u00fcncellemeler yapmak, yedeklemeler almak ve aktif moderasyon sa\u011flamak \u00f6nemlidir. Discourse&#8217;un sundu\u011fu geni\u015f \u00f6zellik yelpazesini ke\u015ffederek toplulu\u011funuz i\u00e7in en iyi deneyimi yaratabilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Discourse&#8217;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi\nDiscourse, modern web i\u00e7in tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir tart\u0131\u015fma platformudur","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-38874","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>Discourse&#039;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi - 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\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Discourse&#039;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Discourse&#039;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi Discourse, modern web i\u00e7in tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir tart\u0131\u015fma platformudur\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-09T13:40:43+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=\"16 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Discourse&#8217;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi\",\"datePublished\":\"2026-02-09T13:40:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/\"},\"wordCount\":2894,\"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\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/\",\"name\":\"Discourse'u Ubuntu 20.04 \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-09T13:40:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Discourse&#8217;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi\"}]},{\"@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":"Discourse'u Ubuntu 20.04 \u00dczerine Kurulum Rehberi - 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\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Discourse'u Ubuntu 20.04 \u00dczerine Kurulum Rehberi","og_description":"Discourse'u Ubuntu 20.04 \u00dczerine Kurulum Rehberi Discourse, modern web i\u00e7in tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir tart\u0131\u015fma platformudur","og_url":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-09T13:40:43+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"16 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Discourse&#8217;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi","datePublished":"2026-02-09T13:40:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/"},"wordCount":2894,"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\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/","name":"Discourse'u Ubuntu 20.04 \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-09T13:40:43+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/discourseu-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Discourse&#8217;u Ubuntu 20.04 \u00dczerine Kurulum Rehberi"}]},{"@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\/38874","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=38874"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38874\/revisions"}],"predecessor-version":[{"id":38875,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38874\/revisions\/38875"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}