Group Details Private

Discourse

Discourse site sahibi olanlar için özel grup

Member List

  • Discourse'de sayfa yayınlama

    Discourse’de normal konuları sayfa haline getirmek mümkün. Bir konu sayfa haline getirildiğini cevaplara kapanır ve sol tarafta bulunan navigasyon kaybolur. Ayrıca sayfanın link yapısı değiştirilebilir.

    Discourse Sayfa Yapma

    1. Normal bir konu aç. Ardından konu kontrolleri menüsüne tıkla. alt metni

    2. Anahtara tıklayın. alt metni

    3. “Sayfa Yayınlama”yı seçin.
      alt metni

    4. Bu adımdan sonra size bir bilgi kartı açılır. Burada başlık otomatik çekilir. İsterseniz değiştirebilirsiniz.
      alt metni

    5. Sayfanın herkese açık olmasını isterseniz yöetüm panelinde bu seçeneği işaretlemelisiniz.
      alt metni

    Discourse Sayfa Özelleştirme

    Yayınlanmış bir sayfanın HTML ve CSS yapısında değişiklik yapmak mümkündür.
    Yayınlanan bir sayfanın;

    Örnek HTML yapısı

    <body class="published-page">
        <div class="published-page-header">
            <div class="published-page-header-wrapper">
                <a>
                    <img class="published-page-logo"/>
                </a>
                <h1 class="published-page-title">Guide for ActivityPub users</h1>
            </div>
        </div>
        <div class="published-page-content-wrapper">
            <div class="published-page-content-header">
                <div class="published-page-author">
                    <img  class="avatar" src="/letter_avatar_proxy/v4/letter/n/da6949/90.png">
                    <div class="published-page-author-details">
                        <div class="username">nedjo</div>
                        <div class="topic-created-at">February 8</div>
                    </div>
                </div>
            </div>
    
            <div class="published-page-body">
    

    CSS Sınıfları

    body.published-page tüm sayfa (veya basitçe: .published-page) Bilgi, kategori ve etiketlerin de css sınıfları olarak ekleneceğini unutmayın


    .published-page-header sayfa başlığını içeren bir div (söylem stiline benzer stil d-header)


    .published-page-header-wrapper site logosu ve sayfa başlığı etrafında bir div


    .published-page-logo Site logosu (küçük versiyonu kullanır)


    .published-page-title sayfa başlığı


    .published-page-content-wrapper içerik etrafında bir div


    .published-page-content-header başlık ve yazarlık bilgileri


    .published-page-title konu başlığı ( h1etiket)


    .published-page-author avatar yazarın adı ve konu oluşturma tarihi


    .published-page-author .avatar avatar


    .published-page-author-details kullanıcı adı ve konu oluşturma tarihi


    .published-page-author-details .username yazarın kullanıcı adı


    .published-page-author-details .topic-created-at konunun oluşturulma tarihi


    .published-page-body sayfa içeriği


    posted in Discourse
  • RE: Discourse Forum kurulumu

    @Erkut-ERÇELİK Sitenize hem www olan hemde www olmayan URL ile ulaşılabiliyor. Resmi Discourse kurulumu ile yüklediyseniz otomatik yönlendirme olması gerekiyordu. Sorun bundan kaynaklı olabilir. Şu an elimde canlı bir Discourse sitesi yok. O yüzden çok fazla yorum veya test yapamıyorum melesef.

    Birde tarayıcı konsolunda bu hatalar var.
    Screenshot_1.jpg

    posted in Discourse
  • RE: Discourse Forum kurulumu posted in Discourse
  • RE: Discourse Forum kurulumu

    @Erkut-ERÇELİK

    cd /var/discourse
    nano containers/app.yml
    

    conteiners.app yml dosyasında girdiğiniz smtp bilgilerini kontrol edin. Doğru olsa bile rebuild ederek tekrar deneyin.

    ./launcher rebuild app
    

    Bazen üst üste göndermek gerekebilir. Eğer hala sorun yaşarsan mailgun deneyebilirsin. Mailgun ile şimdiye kadar onlarca kurulum yaptım ve hiç sorun yaşamadım.

    posted in Discourse
  • RE: Discourse Forum kurulumu

    @Erkut-ERÇELİK google workspace DNS’leri eklediniz mi?

    posted in Discourse
  • Discourse forumunda SEO sorunları

    Geçen Discourse forumunda gezinirken konu dikkatimi çekti. Kullanıcının biri bu konuyu açmış. Konudaki gönderilerin birinde bir kullanıcı iki ay önce açtığı sitesindeki konuların hala indexlenmediğini söylüyor. Sorunu Discourse geliştiricileri de kabul ediyor.

    Discourse forumun kendisinde bir kaç başlığı bende Google de arattım ama hiç indexlenmemiş.

    Bakalım nasıl bir değişiklik yapacaklar? Gerçekten merak ediyorum.

    posted in Discourse
  • Ubuntu sunucuda Discourse kaldırma

    Herhangi bir neden dolayı Discourse’i sunucudan kaldırmanız/silmeniz gerekiyorsa aşağıdaki komutları kullanabilirsiniz.

    sudo apt-get purge docker-engine
    sudo rm -rf /var/lib/docker
    sudo apt-get autoremove
    sudo apt-get autoclean
    sudo rm -rf /var/discourse -R
    
    posted in Discourse
  • Discourse ile aynı sunucuda siteler yayınlama

    Discourse Docker içinde çalışan bir sistem. Eğer resmi kurulum talimatlarını izleyerek Discourse kurulumu yaptıysanız ve diğer sitelerinizi Discorse ile aynı sunucuda kullanmayı düşünüyorsanız Discourse’yi Docker dışında yayına almanız gerekiyor.

    Şimdi size Discourse’yi Docker dışında kurulan Nginx Web sunucusu ile nasıl yayınlanacağını anlatmaya çalışacağım.

    1. Dicourse’yi durdur

    Çalışan Discourse örneğini kapatmamız gerekiyor. bunun için;

    cd /var/discourse
    ./launcher stop app
    

    2. Nginx Kur

    Docker dışına Nginx web sunucusunu kurmak için;

    sudo apt-get update && sudo apt-get install nginx
    

    3. App.yml düzenle

    app.yml’de bir kaç bölümde değişiklik yapacağız. Bazı ekleme ve çıkarmalar…
    app.yml dosyasını açmak için;

    cd /var/discourse
    nano containers/app.yml
    
    • app.yml dosyasında aşağıdaki satırları bulun ve yorumlayın ( Yani başına # koyun)
    # - "templates/web.ssl.template.yml"
    # - "templates/web.letsencrypt.ssl.template.yml"
    
    • Aşağıdaki satırı app.yml dosyasında templates bölümünde herhangi bir yere ekleyin.
    - "templates/web.socketed.template.yml"
    
    • Şimdi Docker’de portları kapatmaak gerek. Çünkü artık Docker dışında kalan portları kullanacağız. 80 ve 443 portlarını kapatmamız gerek. bunun için aşağıdaki satırları bulun ve başına # ekleyin.
    # - "80:80"   # http <--başına # koy
    # - "443:443" # https  <--başına # koy
    

    4. Nginx’te Discourse’yi yayınla

    Artık Discourse örneğimizi Docker dışında çalışan Nginx web sunucumuz ile yayına hazırız. Şimdi discourse.conf adında bir dosya oluşturacağız ve discourseyi rebuild ettikten sonra artık yayına hazır olacak.

    Nginx konfigürasyon dosyası oluşturmak için;

    nano /etc/nginx/sites-enabled/discourse.conf
    

    Discourse.conf içeriği ise aşağıdaki gibi olacak.

    server {
        listen 80; listen [::]:80;
        server_name forum.example.com;  # <-- change this
    
        return 301 https://$host$request_uri;
    }
    
    
    server {
        listen 443 ssl http2;  listen [::]:443 ssl http2;
        server_name forum.example.com;  # <-- change this
    
        ssl_certificate      /var/discourse/shared/standalone/ssl/ssl.crt;
        ssl_certificate_key  /var/discourse/shared/standalone/ssl/ssl.key;
        ssl_dhparam          /var/discourse/shared/standalone/ssl/dhparams.pem;
        ssl_session_tickets off;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;
    
        http2_idle_timeout 5m; # up from 3m default
        client_max_body_size 0;
    
        location / {
            proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
            proxy_set_header Host $http_host;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    

    Önemli Noktalar;

    Discourse let’s encrypt SSL ile birlikte gelir. Let’s encrypt SSL dosyaları ise /var/discourse/shared/standalone/ssl/ klasörü içinde bulunur. Discourse kurulumu ile gelen Let’s Encrypt SSL kullanmaya devam edeceksiniz yukarıdaki SSL ile ilgili blokları aşağıdaki gibi girmelisiniz.

    ssl_certificate      /var/discourse/shared/standalone/ssl/seninssl.com.cer;
    ssl_certificate_key  /var/discourse/shared/standalone/ssl/seninsll.com.key;
    

    /var/discourse/shared/standalone/ssl/ yolunda bulunan SSL klasöründe dhparams.pem adında bir dosya yoksa (discourse.conf içindeki aşağıdaki satır)

    ssl_dhparam          /var/discourse/shared/standalone/ssl/dhparams.pem;
    

    Aşağıdaki komutu çalıştırarak bu dosyayı oluşturabilirsin.

    openssl dhparam -out /var/discourse/shared/standalone/ssl/dhparams.pem 2048
    

    veya discourse.con içinden bu satırı tamamen silebilirsinde. Discourse’nin çalışmasına etki etmez. Sana kalmış 😄

    İstersen kendine ait SSL veya Cloudflare Full Strick SSL de kullanabilirsin. Sadece geçerli SSL sertifikalarının yolunu ve adını discourse.conf dosyasında doğru girmiş olmak gerekiyor.

    5. Tamamla

    Artık işimiz bitti. Sitemizi yayına alıp Discourse’yi yeniden oluşturduğumuzda işimiz bitmiş olacak.

    # Discourse'nin kapalı olduğundan emin olmak için;
    /var/discourse/launcher stop app || true
    
    # Nginx'te hata var mı yok mu kontrol edin.
    sudo nginx -t
    # Herhangi bir hata yoksa Discourse'yi yayına alın.
    sudo service nginx reload
    
    # app.yml'de yaptığımız değişikliklerin aktif olması için;
    /var/discourse/launcher rebuild app
    

    Artık Discourse siteniz Docker dışında yayında olmalı. Sunucunuza diğer uygulamalarınızı kurarak istediğiniz kadar siteyi Discourse ile aynı sunucuda kullanabilirsiniz.

    posted in Discourse
  • Discourse meta banner eklentisi özelleştirmesi

    discourse-meta-banner.png

    Discourse meta banner eklentisi Discourse sitesinde kullanılıyor ancak yayınlanmadı. Tabi bu bu güzel eklentiyi kullanmaya engel değil.

    Eklenti bu hali ile de kurulabilir ama linkleri panelden değiştiremiyorsunuz. Haliyle bir işe yaramamış oluyor. Varsayılan olarak sadece TL 2 altı ve yönetici olmayanlara gösterilir.

    Nasıl yapıldığını merak ediyorsanız konu altına yazın.

    posted in Discourse