{"id":31465,"date":"2025-10-10T07:40:58","date_gmt":"2025-10-10T04:40:58","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31465"},"modified":"2025-10-10T07:40:58","modified_gmt":"2025-10-10T04:40:58","slug":"ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<p>Discourse, modern web standartlar\u0131na uygun, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir forum platformudur. Geleneksel forum yaz\u0131l\u0131mlar\u0131na k\u0131yasla daha interaktif, kullan\u0131c\u0131 dostu ve mobil uyumlu bir deneyim sunar. Bu kapsaml\u0131 rehberde, pop\u00fcler sunucu i\u015fletim sistemlerinden biri olan Ubuntu 16.04 \u00fczerine Discourse&#8217;u ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde anlataca\u011f\u0131z. Her ne kadar Ubuntu 16.04 art\u0131k uzun vadeli destek (LTS) s\u00fcresini tamamlam\u0131\u015f olsa da, belirli senaryolar veya eski sistemler i\u00e7in bu kurulum hala gerekli olabilir. Bu rehber, size bu s\u00fcreci eksiksiz bir \u015fekilde tamamlaman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sunacakt\u0131r.<\/p>\n<h2>Giri\u015f: Discourse Nedir ve Neden Tercih Edilmelidir?<\/h2>\n<p>Discourse, Jeff Atwood, Robin Ward ve Sam Saffron taraf\u0131ndan geli\u015ftirilen, a\u00e7\u0131k kaynakl\u0131 bir topluluk tart\u0131\u015fma platformudur. Geleneksel forum yaz\u0131l\u0131mlar\u0131n\u0131n aksine, modern web teknolojilerini (Ruby on Rails, Ember.js) kullanarak h\u0131zl\u0131, duyarl\u0131 ve etkile\u015fimli bir kullan\u0131c\u0131 aray\u00fcz\u00fc sunar. Amac\u0131, \u00e7evrimi\u00e7i tart\u0131\u015fmalar\u0131 daha anla\u015f\u0131l\u0131r, daha \u00fcretken ve daha keyifli hale getirmektir.<\/p>\n<p>Discourse&#8217;u tercih etmek i\u00e7in bir\u00e7ok ge\u00e7erli neden bulunmaktad\u0131r:<\/p>\n<p>*   <strong>Modern Kullan\u0131c\u0131 Deneyimi:<\/strong> Sonsuz kayd\u0131rma (infinite scrolling), ger\u00e7ek zamanl\u0131 bildirimler, otomatik \u00f6zetleme ve geli\u015fmi\u015f arama \u00f6zellikleri ile kullan\u0131c\u0131lar\u0131n i\u00e7erikle etkile\u015fimini kolayla\u015ft\u0131r\u0131r.<br \/>\n*   <strong>Mobil Uyumlu:<\/strong> Duyarl\u0131 tasar\u0131m\u0131 sayesinde t\u00fcm cihazlarda (masa\u00fcst\u00fc, tablet, mobil) sorunsuz bir deneyim sunar.<br \/>\n*   <strong>G\u00fc\u00e7l\u00fc Moderasyon Ara\u00e7lar\u0131:<\/strong> Topluluk y\u00f6neticileri i\u00e7in kapsaml\u0131 moderasyon ara\u00e7lar\u0131, spam \u00f6nleme mekanizmalar\u0131 ve otomatik temizleme \u00f6zellikleri i\u00e7erir.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> Modern g\u00fcvenlik pratiklerini benimser ve d\u00fczenli g\u00fcncellemelerle g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r.<br \/>\n*   <strong>A\u00e7\u0131k Kaynak:<\/strong> Topluluk taraf\u0131ndan s\u00fcrekli geli\u015ftirilen a\u00e7\u0131k kaynakl\u0131 bir proje olmas\u0131, esneklik ve \u015feffafl\u0131k sa\u011flar.<br \/>\n*   <strong>Entegrasyonlar ve Eklentiler:<\/strong> \u00c7e\u015fitli \u00fc\u00e7\u00fcnc\u00fc taraf hizmetlerle entegrasyonlar ve geni\u015f bir eklenti ekosistemi sayesinde i\u015flevselli\u011fi kolayca geni\u015fletilebilir.<br \/>\n*   <strong>Docker Tabanl\u0131 Kurulum:<\/strong> Discourse, Docker konteynerleri \u00fczerinde \u00e7al\u0131\u015facak \u015fekilde tasarlanm\u0131\u015ft\u0131r. Bu, kurulumu ve y\u00f6netimi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirir, ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 ortadan kald\u0131r\u0131r ve ta\u015f\u0131nabilirli\u011fi art\u0131r\u0131r.<\/p>\n<p>Ubuntu 16.04, uzun y\u0131llar boyunca sunucu ortamlar\u0131nda yayg\u0131n olarak kullan\u0131lan, kararl\u0131 ve g\u00fcvenilir bir i\u015fletim sistemi olmu\u015ftur. Bu rehber, \u00f6zellikle bu s\u00fcr\u00fcm \u00fczerinde \u00e7al\u0131\u015fan sistemler i\u00e7in Discourse kurulumunu ad\u0131m ad\u0131m ele alacakt\u0131r. Ancak, yeni bir kurulum yap\u0131yorsan\u0131z, g\u00fcvenlik ve performans a\u00e7\u0131s\u0131ndan daha g\u00fcncel Ubuntu LTS s\u00fcr\u00fcmlerini (\u00f6rne\u011fin Ubuntu 20.04 veya 22.04) tercih etmeniz \u00f6nerilir.<\/p>\n<h2>\u00d6n Gereksinimler<\/h2>\n<p>Discourse kurulumuna ba\u015flamadan \u00f6nce, sunucunuzun belirli donan\u0131m ve yaz\u0131l\u0131m gereksinimlerini kar\u015f\u0131lad\u0131\u011f\u0131ndan emin olman\u0131z gerekir. Bu gereksinimler, Discourse&#8217;un sorunsuz ve performansl\u0131 bir \u015fekilde \u00e7al\u0131\u015fmas\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>Donan\u0131m Gereksinimleri<\/h3>\n<p>*   <strong>RAM (Bellek):<\/strong> En az 1 GB RAM, ancak \u00fcretim ortamlar\u0131 i\u00e7in 2 GB veya daha fazlas\u0131 \u015fiddetle \u00f6nerilir. Daha fazla RAM, \u00f6zellikle yo\u011fun kullan\u0131ml\u0131 forumlar i\u00e7in daha iyi performans sa\u011flar.<br \/>\n*   <strong>CPU (\u0130\u015flemci):<\/strong> En az 1 \u00e7ekirdekli bir i\u015flemci. 2 \u00e7ekirdekli veya daha g\u00fc\u00e7l\u00fc bir i\u015flemci, \u00f6zellikle derleme ve g\u00fcncelleme s\u00fcre\u00e7lerinde performans\u0131 art\u0131racakt\u0131r.<br \/>\n*   <strong>Disk Alan\u0131:<\/strong> En az 10 GB bo\u015f disk alan\u0131. \u00dcretim ortamlar\u0131 i\u00e7in 25 GB veya daha fazlas\u0131 \u00f6nerilir. SSD (Kat\u0131 Hal S\u00fcr\u00fcc\u00fcs\u00fc) kullanmak, I\/O (Giri\u015f\/\u00c7\u0131k\u0131\u015f) performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rarak Discourse&#8217;un genel h\u0131z\u0131na olumlu katk\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h3>Yaz\u0131l\u0131m Gereksinimleri<\/h3>\n<p>*   <strong>Ubuntu 16.04 Sunucusu:<\/strong> Temiz bir Ubuntu 16.04 (Xenial Xerus) kurulumu. Bu rehber, s\u0131f\u0131rdan bir kurulum varsaymaktad\u0131r.<br \/>\n*   <strong>Docker ve Docker Compose:<\/strong> Discourse, Docker konteynerleri i\u00e7inde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in Docker ve Docker Compose&#8217;un y\u00fckl\u00fc olmas\u0131 gerekmektedir.<br \/>\n*   <strong>SMTP Sunucusu:<\/strong> Discourse, kullan\u0131c\u0131 kayd\u0131, \u015fifre s\u0131f\u0131rlama, bildirimler ve e-posta do\u011frulama gibi temel i\u015flevler i\u00e7in e-posta g\u00f6nderme yetene\u011fine ihtiya\u00e7 duyar. Kendi SMTP sunucunuzu kurabilir veya Mailgun, SendGrid, Amazon SES gibi \u00fc\u00e7\u00fcnc\u00fc taraf bir e-posta hizmet sa\u011flay\u0131c\u0131s\u0131n\u0131 kullanabilirsiniz. Bu hizmetler genellikle ilk ba\u015fta \u00fccretsiz bir g\u00f6nderim kotas\u0131 sunar.<br \/>\n*   <strong>Alan Ad\u0131 (Domain):<\/strong> Discourse kurulumu i\u00e7in bir alan ad\u0131na (\u00f6rne\u011fin, <code>forum.example.com<\/code>) ihtiyac\u0131n\u0131z olacakt\u0131r. Bu alan ad\u0131n\u0131n A kayd\u0131n\u0131n sunucunuzun IP adresine i\u015faret etti\u011finden emin olun. E\u011fer e-posta g\u00f6nderecekseniz, alan ad\u0131n\u0131z i\u00e7in bir MX kayd\u0131 da ayarlaman\u0131z \u00f6nerilir.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Sunucunuza SSH ile eri\u015fim ve <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 hesab\u0131 gereklidir.<\/p>\n<h2>Kuruluma Ba\u015flamadan \u00d6nce<\/h2>\n<p>Kuruluma ba\u015flamadan \u00f6nce sunucunuzun g\u00fcncel oldu\u011fundan ve gerekli temel paketlerin y\u00fckl\u00fc oldu\u011fundan emin olal\u0131m. Bu ad\u0131mlar, sistem kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenli\u011fi i\u00e7in \u00f6nemlidir.<\/p>\n<h3>Sistemi G\u00fcncelleme<\/h3>\n<p>Sunucunuzdaki mevcut paket listesini g\u00fcncelleyin ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>Bu komutlar, sunucunuzdaki t\u00fcm yaz\u0131l\u0131mlar\u0131n g\u00fcncel olmas\u0131n\u0131 sa\u011flayarak olas\u0131 uyumluluk sorunlar\u0131n\u0131 veya g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur.<\/p>\n<h3>Gerekli Paketleri Kurma<\/h3>\n<p>Docker kurulumu i\u00e7in baz\u0131 temel paketlere ihtiyac\u0131m\u0131z olacak. Bu paketler, HTTPS \u00fczerinden g\u00fcvenli depolar eklememizi ve Docker&#8217;\u0131n GPG anahtar\u0131n\u0131 do\u011frulayabilmemizi sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo apt install apt-transport-https ca-certificates curl software-properties-common -y<\/code><\/pre>\n<p>*   <code>apt-transport-https<\/code>: APT&#8217;nin HTTPS protokol\u00fc \u00fczerinden depolar\u0131 kullanmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <code>ca-certificates<\/code>: SSL\/TLS sertifikalar\u0131n\u0131 do\u011frulamak i\u00e7in gereklidir.<br \/>\n*   <code>curl<\/code>: Web sayfalar\u0131n\u0131 ve dosyalar\u0131 komut sat\u0131r\u0131ndan indirmek i\u00e7in kullan\u0131l\u0131r. Docker GPG anahtar\u0131n\u0131 indirmek i\u00e7in kullanaca\u011f\u0131z.<br \/>\n*   <code>software-properties-common<\/code>: Depo ekleme ve y\u00f6netimi i\u00e7in gerekli ara\u00e7lar\u0131 sa\u011flar.<\/p>\n<h2>Docker ve Docker Compose Kurulumu<\/h2>\n<p>Discourse, Docker konteynerleri i\u00e7inde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in Docker ve Docker Compose&#8217;un sunucunuza do\u011fru \u015fekilde kurulmas\u0131 hayati \u00f6neme sahiptir.<\/p>\n<h3>Docker GPG Anahtar\u0131n\u0131 Ekleme<\/h3>\n<p>Docker&#8217;\u0131n resmi deposundan paketleri g\u00fcvenli bir \u015fekilde indirebilmek i\u00e7in Docker&#8217;\u0131n GPG anahtar\u0131n\u0131 sisteminize eklememiz gerekir. Bu, indirilen paketlerin Docker taraf\u0131ndan imzaland\u0131\u011f\u0131n\u0131 do\u011frulamam\u0131z\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add -<\/code><\/pre>\n<p><code>apt-key add<\/code> komutunun art\u0131k kullan\u0131m d\u0131\u015f\u0131 oldu\u011funu belirten bir uyar\u0131 alabilirsiniz. Ubuntu 16.04 i\u00e7in bu y\u00f6ntem hala \u00e7al\u0131\u015f\u0131r, ancak daha yeni Ubuntu s\u00fcr\u00fcmlerinde farkl\u0131 bir yakla\u015f\u0131m (\u00f6rne\u011fin <code>\/etc\/apt\/trusted.gpg.d\/<\/code> dizinine anahtar\u0131 koyma) tercih edilir.<\/p>\n<h3>Docker Deposu Ekleme<\/h3>\n<p>\u015eimdi Docker&#8217;\u0131n resmi deposunu sisteminizin <code>apt<\/code> kaynaklar\u0131na ekleyelim. Ubuntu 16.04 i\u00e7in &#8220;xenial&#8221; kod ad\u0131n\u0131 kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo add-apt-repository \"deb [arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu xenial stable\"<\/code><\/pre>\n<p>Bu komut, Docker&#8217;\u0131n kararl\u0131 (stable) s\u00fcr\u00fcm\u00fcn\u00fc i\u00e7eren depoyu ekler.<\/p>\n<h3>Docker Kurulumu<\/h3>\n<p>Depoyu ekledikten sonra, paket listesini tekrar g\u00fcncelleyip Docker Engine&#8217;i kurabiliriz:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install docker-ce -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra Docker servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status docker<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ifadesini g\u00f6rmelisiniz.<\/p>\n<h3>Docker Kullan\u0131c\u0131s\u0131n\u0131 Gruba Ekleme<\/h3>\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 eklemeniz \u00f6nerilir. Bu, her seferinde <code>sudo<\/code> yazma zahmetinden kurtar\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo usermod -aG docker $USER<\/code><\/pre>\n<p>Bu komuttan sonra 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\">newgrp docker<\/code><\/pre>\n<p>Bu komut, yeni grubun mevcut oturumda hemen etkin olmas\u0131n\u0131 sa\u011flayabilir. Do\u011frulama i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">docker run hello-world<\/code><\/pre>\n<p>Bu komut, Docker&#8217;\u0131n do\u011fru \u015fekilde kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6steren bir &#8220;Hello from Docker!&#8221; mesaj\u0131 vermelidir.<\/p>\n<h3>Docker Compose Kurulumu<\/h3>\n<p>Docker Compose, birden fazla Docker konteynerini tan\u0131mlama ve \u00e7al\u0131\u015ft\u0131rma arac\u0131d\u0131r. Discourse, tek bir <code>app.yml<\/code> dosyas\u0131yla birden fazla servisi (web sunucusu, veritaban\u0131, Redis vb.) y\u00f6netmek i\u00e7in Docker Compose&#8217;u kullan\u0131r.<\/p>\n<p>Docker Compose&#8217;un belirli bir s\u00fcr\u00fcm\u00fcn\u00fc indirmemiz gerekiyor. Ubuntu 16.04 ve mevcut Docker s\u00fcr\u00fcmleriyle uyumlu, kararl\u0131 bir s\u00fcr\u00fcm se\u00e7mek \u00f6nemlidir. \u00d6rne\u011fin, 1.29.2 s\u00fcr\u00fcm\u00fc genellikle iyi bir se\u00e7imdir.<\/p>\n<pre><code class=\"language-bash\">sudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.29.2\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n<p>Ard\u0131ndan, indirilen dosyaya y\u00fcr\u00fctme izni vermeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo chmod +x \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n<p>Kurulumu do\u011frulamak i\u00e7in s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin:<\/p>\n<pre><code class=\"language-bash\">docker-compose --version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>docker-compose version 1.29.2<\/code> veya se\u00e7ti\u011finiz s\u00fcr\u00fcm\u00fc g\u00f6rmelisiniz.<\/p>\n<h2>Discourse Kurulumu<\/h2>\n<p>Docker ve Docker Compose&#8217;u ba\u015far\u0131yla kurduktan sonra, art\u0131k Discourse&#8217;un kendisini kurmaya ba\u015flayabiliriz. Discourse, kurulumu basitle\u015ftirmek i\u00e7in resmi bir Docker g\u00f6r\u00fcnt\u00fcs\u00fc ve otomatik bir kurulum beti\u011fi sa\u011flar.<\/p>\n<h3>Discourse Deposu Klonlama<\/h3>\n<p>Discourse&#8217;un Docker kurulum dosyalar\u0131n\u0131 bar\u0131nd\u0131ran depoyu sunucunuza klonlaman\u0131z gerekmektedir. Genellikle <code>\/var\/discourse<\/code> dizini bu ama\u00e7la kullan\u0131l\u0131r. \u0130lk olarak bu dizini olu\u015ftural\u0131m ve kullan\u0131c\u0131ya ait oldu\u011funu do\u011frulayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir \/var\/discourse\nsudo chown $USER:$USER \/var\/discourse\ncd \/var\/discourse<\/code><\/pre>\n<p>\u015eimdi Discourse&#8217;un Docker yap\u0131land\u0131rma dosyalar\u0131n\u0131 klonlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/discourse\/discourse_docker.git .<\/code><\/pre>\n<p><code>.<\/code> (nokta) kullanarak mevcut dizine klonlad\u0131\u011f\u0131m\u0131za dikkat edin.<\/p>\n<h3>Kurulum Dosyas\u0131n\u0131 Yap\u0131land\u0131rma ve \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>Discourse, kurulum s\u00fcrecini otomatikle\u015ftiren bir <code>discourse-setup<\/code> beti\u011fi ile gelir. Bu betik, sizden baz\u0131 temel bilgileri ister ve bu bilgilere dayanarak <code>app.yml<\/code> yap\u0131land\u0131rma dosyas\u0131n\u0131 olu\u015fturur ve Discourse konteynerini ba\u015flat\u0131r.<\/p>\n<pre><code class=\"language-bash\">cd \/var\/discourse\nsudo .\/discourse-setup<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, betik size a\u015fa\u011f\u0131daki gibi sorular soracakt\u0131r:<\/p>\n<p>1.  <strong>Hostname for your Discourse?<\/strong> (Discourse&#8217;unuz i\u00e7in ana bilgisayar ad\u0131?)<br \/>\n    *   Buraya daha \u00f6nce ayarlad\u0131\u011f\u0131n\u0131z alan ad\u0131n\u0131z\u0131 girin (\u00f6rn: <code>forum.example.com<\/code>). Bu alan ad\u0131n\u0131n DNS A kayd\u0131n\u0131n sunucunuzun IP adresine i\u015faret etti\u011finden emin olun.<br \/>\n2.  <strong>Email address for admin account(s)?<\/strong> (Y\u00f6netici hesab\u0131(lar\u0131) i\u00e7in e-posta adresi?)<br \/>\n    *   Bu e-posta adresi, ilk y\u00f6netici hesab\u0131n\u0131 olu\u015fturmak i\u00e7in kullan\u0131lacakt\u0131r. Kurulum tamamland\u0131ktan sonra bu adrese bir aktivasyon e-postas\u0131 g\u00f6nderilecektir.<br \/>\n3.  <strong>SMTP server address?<\/strong> (SMTP sunucu adresi?)<br \/>\n    *   E-posta g\u00f6ndermek i\u00e7in kullanaca\u011f\u0131n\u0131z SMTP sunucusunun adresi (\u00f6rn: <code>smtp.mailgun.org<\/code>, <code>smtp.sendgrid.net<\/code>).<br \/>\n4.  <strong>SMTP port?<\/strong> (SMTP portu?)<br \/>\n    *   SMTP sunucunuzun kulland\u0131\u011f\u0131 port (genellikle <code>587<\/code> veya <code>465<\/code>).<br \/>\n5.  <strong>SMTP username?<\/strong> (SMTP kullan\u0131c\u0131 ad\u0131?)<br \/>\n    *   SMTP hizmet sa\u011flay\u0131c\u0131n\u0131zdan ald\u0131\u011f\u0131n\u0131z kullan\u0131c\u0131 ad\u0131.<br \/>\n6.  <strong>SMTP password?<\/strong> (SMTP \u015fifresi?)<br \/>\n    *   SMTP hizmet sa\u011flay\u0131c\u0131n\u0131zdan ald\u0131\u011f\u0131n\u0131z \u015fifre.<br \/>\n7.  <strong>Optional: Let&#8217;s Encrypt account email?<\/strong> (\u0130ste\u011fe ba\u011fl\u0131: Let&#8217;s Encrypt hesap e-postas\u0131?)<br \/>\n    *   HTTPS (SSL\/TLS) sertifikas\u0131 almak i\u00e7in Let&#8217;s Encrypt kullanmak isterseniz, buraya bir e-posta adresi girin. Bu genellikle y\u00f6netici e-posta adresinizle ayn\u0131 olabilir. Bu ad\u0131m, Discourse&#8217;unuz i\u00e7in otomatik olarak \u00fccretsiz bir SSL sertifikas\u0131 alman\u0131z\u0131 sa\u011flar. \u015eifreleme, g\u00fcvenlik ve SEO a\u00e7\u0131s\u0131ndan HTTPS kullanmak \u015fiddetle tavsiye edilir.<\/p>\n<p>T\u00fcm bu bilgileri girdikten sonra, betik <code>app.yml<\/code> dosyas\u0131n\u0131 olu\u015fturacak ve Discourse kurulum s\u00fcrecini ba\u015flatacakt\u0131r. Bu s\u00fcre\u00e7:<\/p>\n<p>*   Gerekli Docker imajlar\u0131n\u0131 indirecek.<br \/>\n*   Discourse&#8217;u derleyecek.<br \/>\n*   Veritaban\u0131n\u0131 (PostgreSQL) kuracak.<br \/>\n*   Redis&#8217;i yap\u0131land\u0131racak.<br \/>\n*   Nginx&#8217;i proxy olarak ayarlayacak.<br \/>\n*   T\u00fcm servisleri ba\u015flatacakt\u0131r.<\/p>\n<p>Bu s\u00fcre\u00e7, sunucunuzun donan\u0131m\u0131na ve internet h\u0131z\u0131n\u0131za ba\u011fl\u0131 olarak 10 ila 30 dakika s\u00fcrebilir. Kurulum s\u0131ras\u0131nda konsolda bir\u00e7ok \u00e7\u0131kt\u0131 g\u00f6receksiniz. Her \u015fey yolunda giderse, sonunda &#8220;Discourse is installed!&#8221; veya benzeri bir ba\u015far\u0131 mesaj\u0131 almal\u0131s\u0131n\u0131z.<\/p>\n<h3>Kurulum Sonras\u0131 \u0130lk Ad\u0131mlar<\/h3>\n<p>Kurulum tamamland\u0131ktan sonra, taray\u0131c\u0131n\u0131zdan alan ad\u0131n\u0131z\u0131 (\u00f6rn: <code>https:\/\/forum.example.com<\/code>) ziyaret ederek Discourse forumunuza eri\u015febilirsiniz.<\/p>\n<p>1.  <strong>Y\u00f6netici Hesab\u0131 Aktivasyonu:<\/strong> Giri\u015f sayfas\u0131nda, kurulum s\u0131ras\u0131nda belirtti\u011finiz y\u00f6netici e-posta adresinize g\u00f6nderilen aktivasyon ba\u011flant\u0131s\u0131n\u0131 bulman\u0131z gerekecektir. Bu ba\u011flant\u0131ya t\u0131klayarak ilk y\u00f6netici hesab\u0131n\u0131z\u0131 olu\u015fturun ve bir \u015fifre belirleyin.<br \/>\n2.  <strong>Site Ayarlar\u0131:<\/strong> Y\u00f6netici olarak giri\u015f yapt\u0131ktan sonra, site ayarlar\u0131n\u0131 yap\u0131land\u0131rmak i\u00e7in bir kurulum sihirbaz\u0131 ile kar\u015f\u0131la\u015facaks\u0131n\u0131z. Burada sitenizin ad\u0131n\u0131, a\u00e7\u0131klamas\u0131n\u0131, varsay\u0131lan dilini ve di\u011fer temel ayarlar\u0131 belirleyebilirsiniz.<br \/>\n3.  <strong>E-posta Do\u011frulamas\u0131:<\/strong> E-posta ayarlar\u0131n\u0131z\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in bir test e-postas\u0131 g\u00f6ndermeniz \u00f6nerilir. Y\u00f6netici panelinden bu testi yapabilirsiniz.<br \/>\n4.  <strong>Ke\u015ffetme:<\/strong> Art\u0131k Discourse forumunuz haz\u0131r! Forumu ke\u015ffedin, yeni kategoriler olu\u015fturun, kullan\u0131c\u0131lar\u0131 davet edin ve toplulu\u011funuzu b\u00fcy\u00fctmeye ba\u015flay\u0131n.<\/p>\n<h2>Discourse Y\u00f6netimi ve Bak\u0131m\u0131<\/h2>\n<p>Discourse kurulumu tek seferlik bir i\u015flem de\u011fildir; forumunuzu g\u00fcncel tutmak, yedeklemek ve gerekti\u011finde sorun gidermek \u00f6nemlidir.<\/p>\n<h3>Discourse G\u00fcncelleme<\/h3>\n<p>Discourse, d\u00fczenli olarak yeni \u00f6zellikler ve g\u00fcvenlik yamalar\u0131 ile g\u00fcncellenir. Forumunuzu g\u00fcncel tutmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:<\/p>\n<p>1.  Discourse Docker deposunun bulundu\u011fu dizine gidin:<\/p>\n<pre><code class=\"language-bash\">cd \/var\/discourse<\/code><\/pre>\n<p>2.  Yerel depoyu g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">git pull<\/code><\/pre>\n<p>3.  Discourse uygulamas\u0131n\u0131 yeniden derleyin ve g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo .\/launcher rebuild app<\/code><\/pre>\n<p>    Bu komut, Docker imajlar\u0131n\u0131 \u00e7eker, Discourse uygulamas\u0131n\u0131 g\u00fcnceller ve servisleri yeniden ba\u015flat\u0131r. Bu i\u015flem, ilk kuruluma benzer \u015fekilde zaman alabilir.<\/p>\n<h3>Yedekleme<\/h3>\n<p>Veri kayb\u0131n\u0131 \u00f6nlemek i\u00e7in d\u00fczenli yedeklemeler yapmak kritik \u00f6neme sahiptir. Discourse, y\u00f6netici paneli \u00fczerinden kolayca yedekleme yapman\u0131za olanak tan\u0131r.<\/p>\n<p>*   <strong>Y\u00f6netici Paneli Yedeklemesi:<\/strong> Y\u00f6netici panelinde &#8220;Yedeklemeler&#8221; b\u00f6l\u00fcm\u00fcne gidin. Buradan manuel yedekleme yapabilir veya otomatik yedeklemeleri belirli bir s\u0131kl\u0131kta (\u00f6rn: g\u00fcnl\u00fck, haftal\u0131k) yap\u0131land\u0131rabilirsiniz. Yedeklemeler genellikle sunucunuzda <code>\/var\/discourse\/shared\/standalone\/backups\/default<\/code> dizinine kaydedilir.<br \/>\n*   <strong>Harici Yedekleme:<\/strong> Yedeklemelerinizi sunucunuzdan ayr\u0131 bir konuma (\u00f6rn: Amazon S3, Google Cloud Storage, Dropbox) otomatik olarak g\u00f6ndermek i\u00e7in Discourse ayarlar\u0131n\u0131 yap\u0131land\u0131rabilirsiniz. Bu, sunucu ar\u0131zas\u0131 durumunda verilerinizin g\u00fcvende olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Eklenti Kurulumu<\/h3>\n<p>Discourse&#8217;un i\u015flevselli\u011fini geni\u015fletmek i\u00e7in eklentiler kullanabilirsiniz. Eklenti kurulumu, <code>app.yml<\/code> dosyas\u0131n\u0131 d\u00fczenlemeyi ve ard\u0131ndan uygulamay\u0131 yeniden derlemeyi gerektirir.<\/p>\n<p>1.  <code>app.yml<\/code> dosyas\u0131n\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/discourse\/containers\/app.yml<\/code><\/pre>\n<p>2.  <code>plugins:<\/code> b\u00f6l\u00fcm\u00fcn\u00fc bulun ve eklemek istedi\u011finiz eklentinin Git URL&#8217;sini ekleyin. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-yaml\">## Plugins go here\n    ## see https:\/\/meta.discourse.org\/t\/install-a-plugin-in-discourse\/19157\n    plugins:\n      - git clone https:\/\/github.com\/discourse\/discourse-solved.git\n      # - git clone https:\/\/github.com\/discourse\/discourse-calendar.git<\/code><\/pre>\n<p>3.  Dosyay\u0131 kaydedin ve kapat\u0131n.<br \/>\n4.  Discourse uygulamas\u0131n\u0131 yeniden derleyin:<\/p>\n<pre><code class=\"language-bash\">cd \/var\/discourse\n    sudo .\/launcher rebuild app<\/code><\/pre>\n<p>    Bu i\u015flem, eklentiyi kuracak ve Discourse&#8217;u yeni yap\u0131land\u0131rmayla ba\u015flatacakt\u0131r.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>Discourse ile ilgili bir sorunla kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131zda, a\u015fa\u011f\u0131daki komutlar size yard\u0131mc\u0131 olabilir:<\/p>\n<p>*   <strong>Konteyner Loglar\u0131n\u0131 G\u00f6r\u00fcnt\u00fcleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo .\/launcher logs app<\/code><\/pre>\n<p>    Bu komut, Discourse uygulamas\u0131n\u0131n loglar\u0131n\u0131 g\u00f6sterir ve hatalar\u0131 veya uyar\u0131lar\u0131 tespit etmenize yard\u0131mc\u0131 olur.<br \/>\n*   <strong>Konteyner \u0130\u00e7ine Girme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo .\/launcher enter app<\/code><\/pre>\n<p>    Bu komut, Discourse uygulamas\u0131n\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 Docker konteynerinin i\u00e7ine bir shell oturumu a\u00e7ar. Bu, geli\u015fmi\u015f sorun giderme veya yap\u0131land\u0131rma de\u011fi\u015fiklikleri i\u00e7in faydal\u0131 olabilir.<br \/>\n*   <strong>Docker Komutlar\u0131:<\/strong> Genel Docker komutlar\u0131 da sorun gidermede kullan\u0131labilir:<br \/>\n    *   <code>docker ps<\/code>: \u00c7al\u0131\u015fan Docker konteynerlerini listeler.<br \/>\n    *   <code>docker logs <container_id_or_name><\/code>: Belirli bir konteynerin loglar\u0131n\u0131 g\u00f6sterir.<br \/>\n    *   <code>docker stop <container_id_or_name><\/code> \/ <code>docker start <container_id_or_name><\/code>: Konteynerleri durdurur veya ba\u015flat\u0131r.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Discourse kurulumu ve y\u00f6netimi s\u0131ras\u0131nda s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan baz\u0131 sorular\u0131 ve yan\u0131tlar\u0131n\u0131 burada bulabilirsiniz.<\/p>\n<h3>Discourse neden Docker kullan\u0131r?<\/h3>\n<p>Discourse&#8217;un Docker kullanmas\u0131n\u0131n birka\u00e7 temel nedeni vard\u0131r:<\/p>\n<p>*   <strong>Basit Kurulum:<\/strong> Docker, t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 (Ruby, PostgreSQL, Redis, Nginx vb.) tek bir izole ortamda paketleyerek karma\u015f\u0131k kurulum s\u00fcre\u00e7lerini basitle\u015ftirir.<br \/>\n*   <strong>\u0130zolasyon:<\/strong> Discourse&#8217;u sunucudaki di\u011fer uygulamalardan izole eder, \u00e7ak\u0131\u015fmalar\u0131 \u00f6nler.<br \/>\n*   <strong>Ta\u015f\u0131nabilirlik:<\/strong> Docker konteynerleri, farkl\u0131 sunucular aras\u0131nda kolayca ta\u015f\u0131nabilir.<br \/>\n*   <strong>Tutarl\u0131l\u0131k:<\/strong> Geli\u015ftirme, test ve \u00fcretim ortamlar\u0131 aras\u0131nda tutarl\u0131l\u0131k sa\u011flar.<br \/>\n*   <strong>Kolay G\u00fcncelleme:<\/strong> G\u00fcncelleme s\u00fcreci, Docker imajlar\u0131n\u0131 \u00e7ekip yeniden derlemek kadar basittir.<\/p>\n<h3>Ubuntu 16.04 yerine daha yeni bir s\u00fcr\u00fcm kullanmal\u0131 m\u0131y\u0131m?<\/h3>\n<p>Kesinlikle evet. Ubuntu 16.04, Nisan 2021&#8217;de standart destek s\u00fcresini tamamlam\u0131\u015ft\u0131r ve Nisan 2024&#8217;te Geni\u015fletilmi\u015f G\u00fcvenlik Bak\u0131m\u0131 (ESM) sona erecektir. Bu, yeni g\u00fcvenlik yamalar\u0131 veya yaz\u0131l\u0131m g\u00fcncellemeleri almad\u0131\u011f\u0131 anlam\u0131na gelir. \u00dcretim ortamlar\u0131 i\u00e7in her zaman aktif olarak desteklenen bir Ubuntu LTS s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin Ubuntu 20.04 LTS veya 22.04 LTS) kullanman\u0131z \u015fiddetle tavsiye edilir. Bu rehber, belirli bir gereksinim nedeniyle Ubuntu 16.04&#8217;e odaklanm\u0131\u015ft\u0131r, ancak yeni kurulumlar i\u00e7in modern ve desteklenen bir i\u015fletim sistemi tercih edilmelidir.<\/p>\n<h3>SSL\/HTTPS nas\u0131l \u00e7al\u0131\u015f\u0131r ve Let&#8217;s Encrypt entegrasyonu ne anlama gelir?<\/h3>\n<p>SSL\/HTTPS, sunucunuz ile kullan\u0131c\u0131lar\u0131n\u0131z\u0131n taray\u0131c\u0131lar\u0131 aras\u0131ndaki ileti\u015fimi \u015fifreleyerek g\u00fcvenli\u011fi sa\u011flar. <code>discourse-setup<\/code> beti\u011fi, Let&#8217;s Encrypt ile entegre olarak \u00e7al\u0131\u015f\u0131r. Let&#8217;s Encrypt, \u00fccretsiz, otomatik ve a\u00e7\u0131k bir sertifika yetkilisidir. Kurulum s\u0131ras\u0131nda bir Let&#8217;s Encrypt e-posta adresi girdi\u011finizde, Discourse otomatik olarak alan ad\u0131n\u0131z i\u00e7in bir SSL sertifikas\u0131 al\u0131r ve y\u00fckler. Bu sertifika, belirli aral\u0131klarla (genellikle 90 g\u00fcnde bir) otomatik olarak yenilenir. Bu sayede, forumunuz her zaman g\u00fcvenli (HTTPS) bir ba\u011flant\u0131 \u00fczerinden eri\u015filebilir olur.<\/p>\n<h3>Performans iyile\u015ftirmeleri i\u00e7in neler yapabilirim?<\/h3>\n<p>Discourse performans\u0131n\u0131 art\u0131rmak i\u00e7in birka\u00e7 yol vard\u0131r:<\/p>\n<p>*   <strong>Donan\u0131m Y\u00fckseltme:<\/strong> Daha fazla RAM, daha h\u0131zl\u0131 bir CPU ve SSD diskler, genel performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<br \/>\n*   <strong>CDN Kullan\u0131m\u0131:<\/strong> Resimler, CSS ve JavaScript gibi statik i\u00e7erikleri bir \u0130\u00e7erik Da\u011f\u0131t\u0131m A\u011f\u0131 (CDN) \u00fczerinden sunmak, y\u00fckleme s\u00fcrelerini azalt\u0131r ve sunucu y\u00fck\u00fcn\u00fc hafifletir. Discourse&#8217;un CDN entegrasyonu mevcuttur.<br \/>\n*   <strong>\u00d6nbellekleme:<\/strong> Discourse, dahili olarak Redis ve di\u011fer \u00f6nbellekleme mekanizmalar\u0131n\u0131 kullan\u0131r. Bu ayarlar\u0131 optimize etmek, performans\u0131 art\u0131rabilir.<br \/>\n*   <strong>Veritaban\u0131 Optimizasyonu:<\/strong> B\u00fcy\u00fck forumlar i\u00e7in PostgreSQL veritaban\u0131 ayarlar\u0131n\u0131 optimize etmek faydal\u0131 olabilir.<br \/>\n*   <strong>Eklenti ve Tema Optimizasyonu:<\/strong> A\u015f\u0131r\u0131 veya k\u00f6t\u00fc yaz\u0131lm\u0131\u015f eklentiler ve temalar performans\u0131 d\u00fc\u015f\u00fcrebilir. Sadece gerekli olanlar\u0131 kullan\u0131n.<\/p>\n<h3>Discourse&#8217;u farkl\u0131 bir dizine kurabilir miyim?<\/h3>\n<p>Evet, Discourse&#8217;u <code>\/var\/discourse<\/code> d\u0131\u015f\u0131nda farkl\u0131 bir dizine de kurabilirsiniz. \u00d6nemli olan, <code>git clone<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce hedef dizini olu\u015fturmak ve o dizine gitmektir. <code>discourse-setup<\/code> beti\u011fi, \u00e7al\u0131\u015ft\u0131\u011f\u0131 dizindeki yap\u0131land\u0131rma dosyalar\u0131n\u0131 kullanacakt\u0131r. Ancak, resmi dok\u00fcmantasyon ve topluluk \u00f6nerileri genellikle <code>\/var\/discourse<\/code> dizinini kullan\u0131r, bu da sorun giderme ve destek almay\u0131 kolayla\u015ft\u0131r\u0131r.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 16.04 sunucunuz \u00fczerine modern ve g\u00fc\u00e7l\u00fc bir forum platformu olan Discourse&#8217;u ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. Docker tabanl\u0131 kurulum yakla\u015f\u0131m\u0131 sayesinde, karma\u015f\u0131k ba\u011f\u0131ml\u0131l\u0131klarla u\u011fra\u015fmadan Discourse&#8217;u h\u0131zl\u0131 ve verimli bir \u015fekilde \u00e7al\u0131\u015f\u0131r duruma getirebildik.<\/p>\n<p>Discourse, geli\u015fmi\u015f \u00f6zellikleri, kullan\u0131c\u0131 dostu aray\u00fcz\u00fc ve g\u00fc\u00e7l\u00fc moderasyon ara\u00e7lar\u0131yla \u00e7evrimi\u00e7i topluluklar\u0131n\u0131z\u0131 canland\u0131rmak i\u00e7in m\u00fckemmel bir \u00e7\u00f6z\u00fcmd\u00fcr. Kurulum s\u00fcrecinde \u00f6n gereksinimleri do\u011fru bir \u015fekilde kar\u015f\u0131lamak, Docker ve Docker Compose&#8217;u sorunsuz bir \u015fekilde y\u00fcklemek ve <code>discourse-setup<\/code> beti\u011fini do\u011fru bilgilerle yap\u0131land\u0131rmak, ba\u015far\u0131l\u0131 bir kurulumun anahtarlar\u0131d\u0131r.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, bir kez kurulduktan sonra Discourse&#8217;unuzun d\u00fczenli bak\u0131m\u0131, g\u00fcncellemeleri ve yedeklemeleri, forumunuzun uzun vadeli sa\u011fl\u0131\u011f\u0131 ve g\u00fcvenli\u011fi i\u00e7in hayati \u00f6neme sahiptir. Bu rehberdeki ad\u0131mlar\u0131 takip ederek, toplulu\u011funuz i\u00e7in g\u00fcvenilir ve y\u00fcksek performansl\u0131 bir tart\u0131\u015fma platformu olu\u015fturmu\u015f olacaks\u0131n\u0131z. Her ne kadar Ubuntu 16.04 art\u0131k eski bir s\u00fcr\u00fcm olsa da, bu rehber sayesinde mevcut sistemlerinizde Discourse&#8217;u ba\u015far\u0131yla konu\u015fland\u0131rabilirsiniz. Yeni kurulumlar i\u00e7in daha g\u00fcncel ve desteklenen i\u015fletim sistemlerini tercih etmeyi unutmay\u0131n.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber\nDiscourse, modern web standartlar\u0131na uygun, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir forum pl","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-31465","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>Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber Discourse, modern web standartlar\u0131na uygun, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir forum pl\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-10T04:40:58+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=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-10-10T04:40:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":3090,\"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\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-10T04:40:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber Discourse, modern web standartlar\u0131na uygun, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir forum pl","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-10T04:40:58+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-10-10T04:40:58+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/"},"wordCount":3090,"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\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/","name":"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-10T04:40:58+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerine-discourse-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04 \u00dczerine Discourse Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31465","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=31465"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31465\/revisions"}],"predecessor-version":[{"id":31466,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31465\/revisions\/31466"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}