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.

    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.

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

    1. En az 1 GB RAM’li sunucu
    2. A kaydı girilmiş bir alan adı
    3. Sunucuya ait 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 kuracağız. Bunun için şağıdaki komutları her satırı tek tek kopyalayarak çalıştırın.

    wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
    sudo apt-get install gnupg
    wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
    sudo apt-get update
    sudo apt-get install -y mongodb-org
    echo "mongodb-org hold" | sudo dpkg --set-selections
    echo "mongodb-org-server hold" | sudo dpkg --set-selections
    echo "mongodb-org-shell hold" | sudo dpkg --set-selections
    echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
    echo "mongodb-org-tools hold" | sudo dpkg --set-selections
    ps --no-headers -o comm 1
    sudo systemctl start mongod
    sudo systemctl daemon-reload
    sudo systemctl enable mongod
    

    Şimdi terminalde 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 14 kurulumu yapacağız.

    #Nodejs indirme
    curl -sL https://deb.nodesource.com/setup_14.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.17.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.

  • Global Moderator

    Ç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

  • Global Moderator

    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.

  • Global Moderator

    @admin denedim gene aynısı

  • Admin

    @echobilisim Ubuntu sürümü nedir?

  • Global Moderator

    20.04 64 bit

  • Admin

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

    Burada anlatılan gibi yapmayı dene o zaman.

  • Global Moderator

    @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.

  • Global Moderator

    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?

  • Global Moderator

    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

  • Global Moderator

    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)

    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:

    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

  • Global Moderator

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

  • Global Moderator

    resimdeki yere geldi durdu öye bittimi yoksa devam ediyormu acaba

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

  • Admin

    This post is deleted!



İLGİNİ ÇEKEBİLİR