NodeBB nedir? Nodebb forum nasıl kurulur?

  • Admin

    nodebb.png

    NodeBB nedir?

    Nodebb, Nodejs ile yazılmış açık kaynak kodlu bir tek sayfa forum uygulamasıdır. Veri tabanı olarak MongoDB kullanılır. İsteğe bağlı olarak Redis’te kullanılabilir. Javascript ile yazılmıştır. Kullandığı altyapı sayesinde oldukça performanslı bir yapıya sahiptir. Büyük trafiklerde gayet iyi performans göstermektedir.

    NodeBB Forum Özellikleri

    1. Dahili olarak Türkçe dil desteği vardır. Kullanıcının dil tercihini otomatik tespit ederek o dilde yayınlanma özelliği bulunmaktadır.
    2. Tüm cihazlarla uyumlu olarak çalışabilen NodeBB’de dahili PWA uygulaması bulunmaktadır.
    3. Her kategoriye özel Moderatör tayin edilebilir.
    4. Davet sistemi ile kayıt olma özelliği bulunmaktadır.
    5. Gelişmiş moderatör araçları vardır.
    6. Dahili anlık sohbet vardır.
    7. Dahili websocket ile anlık akış sağlanabilmektedir.
    8. Google, Facebook, Twitter, Github siteleri ile SSO aracılığıyla kayıt ve oturum açma seçenekleri vardır.
    9. Dahili SEO
    10. Gruplar oluşturma, davet ile gruba katılma ve onaylama

    gibi bu listede olmayan onlarca özelliği içinde barındırmaktadır.

    Group-3681 (1).png

    NodeBB Kurulumu

    Ubuntu 20.04 yüklü bir sunucuda NodeBB forum kurulumu yapacağız.

    NodeBB için ön hazırlık

    Kuruluma başlayabilmemiz için aşağıdaki listede yer alanları hazırlamamız gerekiyor. Sunucuyu benim referansım ile Digitalocean’dan alırsanız 3 ay geçerli 100 USD kredi kazanabilirsiniz. Referans linki aşağıda.

    https://m.do.co/c/048371f2a2d6

    5 USD’lik sunucu işinizi görecektir.

    1. En az 1 GB RAM’li sunucu
    2. A kaydı girilmiş bir alan adı
    3. Sunucu root kullanıcısına ait şifre

    NodeBB sistem gereksinimleri

    1. Web sunucusu olarak Nginx
    2. Veri tabanı olarak MongoDB
    3. NodeJS 12+

    1- Nginx Kurulumu

    İlk olarak Ubuntu paketlerini güncelleyelim.

    sudo apt update && sudo apt upgrade -y
    

    Şimdi Nginx kurulumuna geçebiliriz.

    sudo apt-get install -y nginx
    

    2 - MongoDB kurulumu

    MongoDB’nin son sürümünü sunucuya kurmak için aşağıdaki komutları girin.

    wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
    sudo apt-get update
    sudo apt-get install -y mongodb-org
    

    Şimdi terminalde sudo systemctl start mongod yazarak veri tabanı sunucusunu çalıştıralım.
    mongo yazarak veri tabanına girelim. Şimdi yeni bir veri tabanı ve kullanıcısı oluşturacağız.

    #Admin kullanıcısına geriş için;
    > use admin
    
    #Admin kullanıcısının şifresini belirleyin. " işaretlerine dikkat edin. şifre " işaretleri arasına yazılacak.
    > db.createUser( { user: "admin", pwd: "admin_şifresini_buraya_yaz", roles: [ { role: "root", db: "admin" } ] } )
    
    #nodebb kullanıcısına geçelim. Bu aynı zamanda veri tbanımız olacak.
     > use nodebb
     
     #Bu kullanıcının şifresini belirleyelim.
     > db.createUser( { user: "nodebb", pwd: "şifreyi_buraya_yaz", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
     
     #veri tabanından çıkmak için;
     quit()
    

    3 - NodeJS kurulumu

    NodeJS 16 kurulumu yapacağız.

    #Nodejs indirme
    curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    
    #Node.js kurmak için ardından;
    sudo apt-get install -y nodejs
    

    NodeBB için yeni kullanıcı oluşturma

    NodeBB, root veya sudo ayrıcalıklarına sahip kullanıcı ile kurulmamalıdır. Bu bazı karışıklıklara sebep olmaktadır. Bu yüzden hiç bir ayrıcalığı olmayan yeni bir kullanıcı oluşturacağız.
    adduser nodebb komutu ile nodebb adında bir kullanıcı oluşturmuş oldum. Şimdi bu kullanıcıya geçiş yapıp nodebb kurulumuna başlayacağız. NodeBB kullanıcısına geçmek için su - nodebb komutunu çalıştıralım.

    NodeBB kurulumu

    NodeBB kullanıcısı ile Nodebb klasörüne NodeBB indirmek için;

    git clone -b v1.19.x https://github.com/NodeBB/NodeBB.git nodebb
    

    Nodebb dizinine geçmek için cd nodebb komutunu kullanın.
    Şimdi NodeBB kurulum komutunu çalıştırabiliriz.

    ./nodebb setup
    

    Kurulum sırasında sizden bir takım bilgileri isteyecek. Aşağıdaki resimde vermeniz gereken cevaplar için bir görsel mevcut.

    nodebb-setup.jpeg

    Admin kullanıcısına ait bilgileri de girdikten sonra artık NodeBB’yi başlatabiliriz.

    ./nodebb start
    

    NodeBB yayınlama

    Şimdi root kullanıcısına geçiş yapalım. Bunun için exit yazmak yeterlidir.
    Şimdi kurmuş olduğumuz NodeBB forumunu Nginx’te yayına alacağız. İlk olarak dizine geçiş yapalım.

    cd /etc/nginx/sites-available
    

    Bu dizinde nodebb.conf adında bir dosya oluşturalım ve içini aşağıdakilerle dolduralım. Kendi alan adınızı eklemeyi unutmayın.

    sudo nano nodebb.conf
    

    Açılan ekrana aşağıdakileri yapıştıralım.

    server {
        listen 80;
    
        server_name forum.example.com;
    
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $http_host;
            proxy_set_header X-NginX-Proxy true;
    
            proxy_pass http://127.0.0.1:4567;
            proxy_redirect off;
    
            # Socket.IO Support
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }
    

    Şimdi aşağıdaki komutla ilgili dizine gidelim.

    cd ../sites-enabled
    

    Siteyi yayına almak için aşağıdaki komutu çalıştıralım.

    sudo ln -s ../sites-available/nodebb.conf
    

    Tüm değişikliklerin aktif olması için nginx’i yeniden başlatmak gerekiyor. Bunun için;

    sudo systemctl restart nginx
    

    Artık http://alanadiniz. com adresinden sitenizi görüntüleyebiliyor olanız gerekiyor.

  • Admin

    @EchoBilisim NodeBB resmi forumunuzdaki konunuzu gördüm. Centos için sudo yerine yum komutunu kullanarak kurabilirsin. Sadece MongoDB kurulumu için kendi MongoDB sitesine bakman gerekebilir.


  • Çok güzel anlatım olmuş temiz ve sade bilgilendirme için çok teşekkür ediyorum daha iyi yerlere gelmenizi gönülden isterim teşekkürler tekrardan


  • Merhaba anlatımdaki 2 işlemi yaptığında kodlara bakarsanız bazılarında 404 Not Found diyor neden acaba

    Ekran görüntüsü 2021-05-23 151547.png

  • Admin

    @echobilisim apt update dedikten sonra tekrar dener misin? Ubuntu deposundan Nginx’i indiremiyor.


  • @admin denedim gene aynısı

  • Admin

    @echobilisim Ubuntu sürümü nedir?


  • 20.04 64 bit

  • Admin

    @echobilisim
    https://www.ubuntuupdates.org/ppa/nginx_from_nginx.org

    Burada anlatılan gibi yapmayı dene o zaman.


  • @admin ondan sonra sizin komutlarımı devam edeyim ?

  • Admin

    @echobilisim evet nginx kurduktan sonra buraya devam edebilirsin. Ubuntu 20.04 için bu anlatım.


  • bu : echo “mongodb-org-shell hold” | sudo dpkg --set-selections

    satırları girirken böyle söylüyor gene yanlış bişey var sanırım

    dpkg: warning: found unknown packages; this might mean the available database
    is outdated, and needs to be updated through a frontend method;
    please see the FAQ https://wiki.debian.org/Teams/Dpkg/FAQ

  • Admin

    @echobilisim, içinde söyledi: NodeBB nedir? Nodebb forum nasıl kurulur?

    bu : echo “mongodb-org-shell hold” | sudo dpkg --set-selections

    satırları girirken böyle söylüyor gene yanlış bişey var sanırım

    dpkg: warning: found unknown packages; this might mean the available database
    is outdated, and needs to be updated through a frontend method;
    please see the FAQ https://wiki.debian.org/Teams/Dpkg/FAQ

    İşletim sistemi Ubuntu değil mi? Debian olmasın?


  • VDS İşletim Sistemi
    Ubuntu 19.04 64 Bit sipariş verirken bunu seçerek verdim ve şu anda işletim sistemi bu yazıyor bakılması gereken bişey varsa bakayım ama direk vds olarak aldım herhangi bir panel filan eklemedim

  • Admin

    @echobilisim cat /etc/os-release bu komutu çalıştırıp işletim sistemine bakar mısın


  • senin verdiğin komutu girdim

    NAME="Ubuntu"
    VERSION="19.04 (Disco Dingo)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 19.04"
    VERSION_ID="19.04"
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    VERSION_CODENAME=disco
    UBUNTU_CODENAME=disco
     
    
    ancak ben puyt ile giriş yaparken altta verdiğim yazıyor
    
    Welcome to Ubuntu 19.04 (GNU/Linux 5.0.0-13-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
      System information as of Sun May 23 14:07:48 UTC 2021
    
      System load:  0.07               Processes:            146
      Usage of /:   13.3% of 29.46GB   Users logged in:      1
      Memory usage: 11%                IP address for ens32: 213.238.179.18
      Swap usage:   0%
    
    
    0 updates can be installed immediately.
    0 of these updates are security updates.
    
    Your Ubuntu release is not supported anymore.
    For upgrade information, please visit:
    http://www.ubuntu.com/releaseendoflife
    
    New release '20.04.2 LTS' available.
    Run 'do-release-upgrade' to upgrade to it.
    
  • Admin

    @echobilisim do-release-upgrade bunu çalıştır 20.04 e yükseltsin


  • tamam işlem yapıyor şu anda bittikten sonra kurulumda verdiğin komutları en başından yapacam gene değilmi ?


  • resimdeki yere geldi durdu öye bittimi yoksa devam ediyormu acaba

    Ekran görüntüsü 2021-05-23 171705.png

  • Admin

    @echobilisim Hayır daha bitmedi bekle.


Benzer Konular