SSD Nodes Learn 🎉 VPS $5.50/aydan başlayan
Rehberler Matt ConnorYazan Matt Connor · Güncellendi 2026-08-07

En iyi self-hosted forum yazılımları karşılaştırması

Discourse, Flarum, NodeBB ve phpBB yazılımlarının RAM gereksinimlerini, veritabanı yüklerini ve spam yönetimi süreçlerini inceleyin. Hangi yazılımın size uygun olduğunu öğrenin.

Hangi self-hosted forum yazılımını çalıştırmalısınız?

Self-hosted forum yazılımları söz konusu olduğunda, bugün bir VPS (sanal özel sunucu) üzerinde çalıştırabileceğiniz dört gerçek seçenek bulunmaktadır: Discourse, Flarum, NodeBB ve phpBB. Eğer 4 GB RAM ayırabiliyorsanız ve moderasyon yapacak en az iki kişi varsa, Discourse doğru varsayılan tercihtir. 1 GB RAM ve tek bir moderatör ile Flarum veya phpBB kullanın. Temiz tutabileceğiniz sakin bir forum, yönetemeyeceğiniz daha gelişmiş bir forumdan daha iyidir.

Kurulum işin kolay kısmıdır. Bunların her biri bir öğleden sonra kurulabilir. Forumun bir yıl sonra hala var olup olmayacağını belirleyen şey, bayrak kuyruğu (flag queue) ve e-posta yoludur; bu nedenle özellik listelerini okumadan önce moderasyon ve e-posta bölümlerini okuyun.

Bir forumun çalışması için gerçekte ne gerekir?

Bir forum tek bir parçadan değil, dört hareketli parçadan oluşur: bir uygulama süreci, uygulamadan daha uzun ömürlü olması gereken bir veritabanı, yüklenen avatarlar ve eklerin bulunduğu bir dizin ve posta göndermek için çalışan bir yol. Uygulama değiştirilebilir. Veritabanı ise değiştirilemez; çünkü her gönderi, her hesap ve her özel mesaj onun içinde yaşar. Bu nedenle, her projenin seçtiği veritabanı, aşağıdaki bölümlerdeki en önemli satırdır. Ayrılmak istediğiniz gün dışa aktarma işleminizin nasıl görüneceğine bu karar verir.

İkinci maliyet insani olandır. Herkese açık kayıt ve herkese açık gönderi, genellikle alan adının bir taramada görünmesinden sonraki ilk hafta içinde bot kayıtları anlamına gelir. Dördü de kilitlenebilir. Bunlardan yalnızca biri iş akışını çekirdek yapısında sunar.

Discourse: varsayılan yapı ve gerçek maliyeti

Discourse; veri için PostgreSQL, önbellek ve iş kuyrukları için Redis ve arka plan işlerini yürüten Sidekiq bileşenlerini içeren bir Ruby on Rails uygulamasıdır. Desteklenen kurulum yöntemi, tüm bu bileşenleri /var/discourse/containers/app.yml dosyasındaki yapılandırmadan oluşturulan tek bir Docker container içerisinde çalıştırır. Bileşenleri manuel olarak kurmanız gerekmez.

wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash

Bu betik, eksik olmaları durumunda git ve Docker yazılımlarını kurar, discourse_docker deposunu /var/discourse dizinine kopyalar ve ardından kontrolü etkileşimli discourse-setup sihirbazına devreder. Sihirbaz sizden ana makine adını (hostname), yönetici e-posta adresini ve SMTP (simple mail transfer protocol) bilgilerini ister, app.yml dosyasını oluşturur ve container'ı inşa eder. Container kendi nginx sürecini çalıştırdığı ve sizin adınıza Let's Encrypt sertifikası talep ettiği için 80 ve 443 numaralı portların boş olması gerekir.

Yayınlanan minimum gereksinim, swap alanı dahil 1 GB RAM ve 10 GB disk alanıdır. Swap ile ilgili kısım harfiyen dikkate alınmalıdır. Sihirbaz ihtiyaç duyduğuna karar verdiğinde, kurulum betiği fallocate -l 2G /swapfile kullanarak 2 GB boyutunda bir swap dosyası oluşturur; bu swap alanı sadece süs değildir. Bellek kullanımı zirve noktasına sitenin çalıştığı sırada değil, ./launcher rebuild app işlemi sırasında ulaşır; bu işlem her güncellemede container içindeki JavaScript ve CSS varlıklarını yeniden derler. Swap alanı olmayan 1 GB RAM'li bir sunucuda bu adım yarıda kesilir, yeniden oluşturma işlemi ekranda anlamlı bir hata mesajı vermeden sonlanır ve dmesg | tail üzerinde Out of memory: Killed process satırı görülür. Sağlıklı bir çalışma için 2 GB, forum yoğunlaştığında ise 4 GB RAM bütçesi ayırın.

Güncellemeler tarayıcı üzerinden /admin/upgrade ile veya kabuk (shell) üzerinden şu şekilde çalıştırılır:

cd /var/discourse
./launcher rebuild app

rebuild komutu çalışan container'ı yok eder, app.yml dosyasından yeni bir tane oluşturur ve başlatır; bu nedenle işlem süresince site birkaç dakika boyunca erişilemez olur. Tek container yapısında bunu aşmanın bir yolu yoktur. data.yml ve web_only.yml örneklerini kullanarak yapıyı iki container'a bölmek, web container'ı yeniden oluşturulurken PostgreSQL'in ayakta kalmasını sağlar; kullanıcılarınız bu kesintiyi fark etmeye başladığında bu yapıya geçmek mantıklıdır.

Moderasyon, Discourse'un RAM tüketimini hak ettiği alandır. Yeni hesaplar, gönderebilecekleri bağlantı sayısı ve hızları üzerinde katı kısıtlamalar olan 0. güven seviyesinde başlar, okudukça ve katıldıkça bu seviye yükselir. İşaretlemeler (flags), kimin neyi ele aldığını kaydeden bir inceleme kuyruğuna düşer. Akismet ve StopForumSpam entegrasyonları resmi eklentilerdir. Diğer üç platformda ise bu özellikleri eklentilerle kendiniz oluşturursunuz.

Discourse'a geçiş yapmak, platformun en güçlü özelliğidir. Kaynak ağacındaki script/import_scripts/ dizini; phpbb3.rb, vbulletin.rb, xenforo.rb, vanilla.rb, mybb.rb, flarum_import.rb, bir nodebb dizini ve posta listesi arşivleri için bir mbox içe aktarıcısı dahil olmak üzere altmıştan fazla içe aktarma aracı barındırır. Bunlar, eski veritabanınızın bir kopyasına karşı container içinde çalıştırdığınız Ruby betikleridir. Bu betikler yavaştır ancak güncel tutulurlar.

Discourse'dan çıkış yapmak ise zayıf noktadır. ./launcher enter app ve ardından discourse backup komutu, PostgreSQL dökümünü ve yüklenen dosyalar dizinini içeren bir .tar.gz dosyası oluşturur. Bu dosyayı yalnızca başka bir Discourse kurulumu geri yükleyebilir. Başka hiçbir yazılım bunu okuyamaz; bu nedenle Discourse'dan ayrılmak, döküm üzerinde kendi SQL sorgularınızı yazmanız anlamına gelir. 50.000 gönderiyi içe aktarmadan önce bu duruma katlanıp katlanamayacağınıza karar verin.

Flarum: hafif PHP forumu

Flarum standart bir PHP uygulamasıdır: nginx veya Apache arkasında php-fpm, bir MySQL veya MariaDB veritabanı ve disk üzerinde dosyalar. Belgelenen gereksinimler; curl, dom, fileinfo, gd, json, mbstring, openssl, pdo_mysql, tokenizer ve zip eklentileriyle birlikte PHP 7.3 veya daha yeni bir sürüm ile MySQL 5.6+ (veya 8.0.23+) ya da MariaDB 10.0.5+ şeklindedir. Ubuntu 24.04, bu taban seviyesinin üzerinde olan PHP 8.3 sürümüyle gelir.

Bu listedeki pdo_mysql kısmına dikkat edin. Flarum, PostgreSQL veya SQLite desteklemez. Tek dosyalık bir veritabanı arıyorsanız, aşağıdaki phpBB bölümüne bakın.

sudo apt update
sudo apt install -y nginx mariadb-server composer php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
sudo install -d -m 755 /srv/flarum
cd /srv/flarum
sudo COMPOSER_ALLOW_SUPERUSER=1 composer create-project flarum/flarum:^1.8.0 .
sudo chown -R www-data:www-data /srv/flarum

Web sunucusunu /srv/flarum dizinine değil, /srv/flarum/public dizinine yönlendirin. Uygulama kodu, yapılandırma dosyası ve veritabanı parolası public dizininin bir üstünde yer alır; bu nedenle bir seviye yukarıdaki belge kök dizini, kimlik bilgilerinizi talep eden herkese açık hale getirir. Apache üzerinde ayrıca mod_rewrite ve AllowOverride All gereklidir; böylece sağlanan .htaccess dosyası etkinleşir. Nginx üzerinde ise sağlanan .nginx.conf dosyasını server bloğunuzun içine dahil etmelisiniz. Ardından alan adına gidin; Flarum'un kendi yükleyicisi veritabanı ve yönetici hesabı bilgilerini isteyecektir.

Ağustos 2026 itibarıyla sürümler: 1.8.17 mevcut kararlı sürümdür ve Haziran 2026'da yayımlanmıştır; 2.0 sürümü ise 5. aday sürümündedir (release candidate). Yeni bir topluluğu aday sürüm üzerinde başlatmayın. 2.0 sürümü geldiğinde, eklentilerin yüklenmesi için güncellenmesi gerekecektir ve bu, hafta sonunuzu alacak bir yükseltme işlemidir.

Ayak izi küçüktür. Birkaç php-fpm çalışanı, birkaç yüz MB bellek isteyen MariaDB ve statik dosyalar yeterlidir. Yeni bir topluluk 1 GB üzerinde barınabilir.

Moderasyon, sistemin dürüstçe kabul edilen zayıf noktasıdır. Çekirdek yapı size raporlama ve grup bazlı izinler sunar. Onay kuyrukları ve spam engelleme özellikleri, genellikle composer require ile yüklenen ve yönetici panelinden etkinleştirilen FriendsOfFlarum koleksiyonu gibi eklentilerle sağlanır. Bu yapı şu an için çalışmaktadır. phpBB veya Discourse'a kıyasla daha küçük bir gönüllü ekosistemine güveniyorsunuz; bakımı yapılmayan bir eklenti, bir sonraki çekirdek yükseltmenizi engelleyebilir çünkü composer, eklentiyi yeni sürümle çözümlemeyi reddedecektir.

Veri çıkarmak kolaydır: veritabanını mysqldump ile yedekleyin ve assets dizinini kopyalayın. Veri girişi ise daha zordur. Discourse, Flarum'dan Discourse'a geçiş için flarum_import.rb aracını sunar; bu da trafiğin genellikle hangi yöne aktığını gösterir. phpBB'den Flarum'a aktarım, birinci taraf bir araçtan ziyade topluluk eklentileriyle yapılır; bu nedenle tek kopyanız üzerinde güvenmeden önce bir kopya üzerinde test edin.

NodeBB: gerçek zamanlı gönderi paylaşımı ve getirdiği yük

NodeBB, Node.js tabanlıdır. Yeni gönderileri websockets üzerinden açık tarayıcılara iletir, böylece aktif bir başlık sayfa yenilenmeden güncellenir. Tercih edilmesinin temel nedeni budur. README dosyası, Node.js 22 veya daha yeni bir sürüm ile MongoDB 5+ veya Redis 7.2+ gerektirir; kaynak ağacında üçüncü bir seçenek olarak PostgreSQL sürücüsü de mevcuttur.

Redis'i birincil veritabanı olarak kullanmak, bu cümledeki tuzaktır. Redis veri setini bellekte tutar, bu nedenle forum büyüdükçe RAM gereksiniminiz sabit kalmak yerine artar. MongoDB veya PostgreSQL veriyi diskte tutar ve yalnızca sık kullanılanları önbelleğe alır. Redis'i ancak nedenini biliyorsanız seçin.

Ubuntu 24.04, minimum gereksinimin altında kalan Node.js 18 sürümünü paketler, bu yüzden önce güncel bir çalışma zamanı kurun.

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs git build-essential
sudo adduser --system --group --home /srv/nodebb nodebb
sudo -u nodebb git clone -b v4.x https://github.com/NodeBB/NodeBB.git /srv/nodebb
cd /srv/nodebb
sudo -u nodebb ./nodebb setup

./nodebb setup etkileşimlidir. Hangi veritabanının kullanılacağını ve ona nasıl erişileceğini sorar, ardından yönetici hesabını oluşturur ve varsayılan olarak 4567 olan bir port seçer. NodeBB, npm start ile başlamaz. ./nodebb betiği arayüzdür ve ./nodebb log çıktının gittiği yerdir.

./nodebb start arka plan sürecine (daemonize) dönüşür, bu da yeniden başlatılan bir makine için yanlıştır. Yükleyiciyi bunun yerine systemd altında ön planda çalıştırın.

[Unit]
Description=NodeBB
After=network.target

[Service]
Type=simple
User=nodebb
WorkingDirectory=/srv/nodebb
ExecStart=/usr/bin/env node loader.js --no-daemon
Restart=on-failure

[Install]
WantedBy=multi-user.target

--no-daemon insanların gözden kaçırdığı kısımdır. Bu olmadan yükleyici çatallanır (fork) ve ana süreç sonlanır; bu durumda systemctl status nodebb birimi ölü olarak raporlar, ancak curl localhost:4567 hala yanıt verir ve systemctl stop nodebb hiçbir şeyi durduramaz. Bir reverse proxy arkasında, websocket yükseltme başlıklarının iletilmesi gerekir. Eğer nginx bloğunda proxy_set_header Upgrade $http_upgrade; ve proxy_set_header Connection "upgrade"; eksikse, forum yüklenir ancak tarayıcı konsolu başarısız socket.io istekleriyle dolar ve okuyucu sayfayı yenileyene kadar yeni gönderiler görünmez.

Moderasyon, Flarum ile Discourse arasında bir yerdedir. Yönetim panelinde bir işaretleme kuyruğu, kategori bazlı ayrıcalıklar ve bir itibar sistemi bulunur. Anti-spam özelliği, Akismet ve StopForumSpam servislerini entegre eden nodebb-plugin-spam-be-gone gibi topluluk eklentileriyle sağlanır.

Yedeklemeler manueldir ve kimse ihtiyaç duyduğu güne kadar bundan bahsetmez. ./nodebb CLI aracında yedekleme komutu yoktur. Veritabanını mongodump veya pg_dump ile kendiniz döküm almalı, public/uploads dizinini ve yanındaki config.json dosyasını kopyalamalısınız. config.json, veritabanı kimlik bilgilerini ve site URL'sini tutar; bu dosya olmadan yapılan bir geri yükleme sadece yeni bir kurulumdur. Birinci taraf bir içe aktarma aracı da yoktur. nodebb-plugin-import güncelliğini yitirmiş bir topluluk projesidir; Discourse ise bir NodeBB içe aktarıcısı ile gelir, bu nedenle kesin olarak çalışan çıkış kapısı Discourse'a çıkar.

phpBB: hala çalışan, küçük ve sıkıcı olan

phpBB eskidir ve en büyük avantajı da budur. 3.3 serisi, PHP 7.2.0 ile PHP 8.3 dahil olmak üzere bu aralıktaki tüm sürümlerde çalışır; MySQL 4.1.3+, MariaDB 5.1+, PostgreSQL 8.3+, SQLite 3.6.15+, MS SQL Server ve Oracle ile uyumludur. json, mbstring, XML desteği ve getimagesize() fonksiyonunun etkinleştirilmiş olması gerekir.

SQLite, bu listede yer almasının nedenidir. SQLite ile forum, PHP dosyalarından ve tek bir veritabanı dosyasından ibarettir. Veritabanı sunucusu, ayar gerektiren bir yapı veya yedeklenmesi gereken ekstra bir bileşen yoktur. Halihazırda başka servislerin çalıştığı 1 GB RAM'li bir VPS üzerinde bu fark belirgindir. Küçük bir topluluk için SQLite kullanın; eşzamanlı gönderi sayısı arttığında MySQL'e geçiş yapın. Çünkü SQLite yazma işlemlerini sıraya koyar ve gönderiler birbirini beklemeye başlar.

Composer adımı veya container yapısı yoktur. PHP destekli bir web sunucusu kurun, arşivi açın ve tarayıcı tabanlı yükleyiciyi çalıştırın. Tam yığın kurulumu Ubuntu 24.04 üzerinde standart bir LAMP yığını rehberinde anlatılmıştır.

sudo apt update
sudo apt install -y apache2 php libapache2-mod-php php-mysql php-mbstring php-xml php-gd unzip

Güncel 3.3 sürümünü phpbb.com adresinden indirin, vhost dizininize açın ve yükleyicinin yazma işlemi yapacağı yolları web sunucusu kullanıcısı için yazılabilir hale getirin.

sudo chown -R www-data:www-data /srv/phpbb
sudo chmod 660 /srv/phpbb/config.php
sudo chmod -R 770 /srv/phpbb/store /srv/phpbb/cache /srv/phpbb/files /srv/phpbb/images/avatars/upload

Resmi talimatlar 666 ve 777 izinlerini önerir. Bu değerler, PHP'nin hangi kullanıcıyla çalıştığını kontrol edemediğiniz paylaşımlı hosting ortamları içindir. Kendi VPS'nizde bu kontrol sizdedir; bu nedenle sahipliği www-data kullanıcısına verin ve diğer herkesin erişimini kısıtlayın. Apache ile ilgili bir detay kullanıcıları yanıltabilir: Ubuntu yapılandırması yalnızca varsayılan belge kök dizini altında erişime izin verir. Bu nedenle /srv/phpbb dizinini işaret eden bir vhost, eşleşen bir <Directory> bloğuna ve Require all granted yönergesine ihtiyaç duyar; aksi takdirde phpBB'ye ulaşılmadan her istek 403 Forbidden hatası döndürür. Kurulumu /install/index.php adresinden tarayıcı üzerinden tamamlayın, ardından config.php dosyasını tekrar 640 izinlerine getirin ve install/ dizinini silin. phpBB, bu dizin silinene kadar sizi uyarmaya devam edecektir.

Spam, phpBB'nin bilinen bir sorunudur ancak çözülebilir. Kayıt formu tahmin edilebilir bir URL'de (ucp.php?mode=register) bulunur, bu nedenle botlar alan adınız tarandıktan birkaç gün sonra burayı bulur. İşe yarayan çözüm, yönetim panelindeki Spambot countermeasures (Spam botu karşı önlemleri) kısmındadır: anti-spam yöntemini Question and Answer (Soru ve Cevap) olarak ayarlayın ve yalnızca topluluğunuzdaki birinin cevaplayabileceği bir soru yazın. Görsel CAPTCHA'lar (tam otomatik halka açık Turing testi), bin başına ücret alan servisler tarafından kolayca çözülür. Kendi konunuzla ilgili bir soru ise bu şekilde çözülemez.

phpBB, veri taşıma (migration) konusunda en iyi desteğe sahip kaynaktır. Discourse'un phpbb3.rb aracı, bu makaledeki en çok kullanılan içe aktarma yöntemidir ve phpBB destek forumlarında yirmi yıllık soru-cevap arşivi mevcuttur. Sistemden çıkış yapmak mysqldump ile veya SQLite dosyasını kopyalamakla mümkündür. Taşınmayan tek şey ise temalarınız ve eklentilerinizdir.

Forum kayıt e-postaları neden hiç ulaşmıyor?

Bu dört platformun hepsinde kayıt işlemi bir onay e-postasına bağlıdır. Eğer bu e-posta ulaşmazsa hesap hiçbir zaman etkinleştirilmez ve günlük kayıtlarınızda sadece yarım kalmış bir kayıt süreci görünür. Giden e-posta teslim edilebilirliği, forumun çalışıp çalışmayacağını belirleyen temel unsurdur; bu nedenle kurulumun bir parçası olarak değerlendirilmelidir.

  • Giden 25 numaralı port çoğu VPS sağlayıcısı tarafından varsayılan olarak engellenmiştir, bu yüzden doğrudan teslimat yapmaya çalışan yerel bir Postfix hiçbir yere ulaşamaz. E-posta günlüğünde connect to gmail-smtp-in.l.google.com[...]:25: Connection timed out hatası görünür.
  • Yepyeni bir IP adresinin gönderim itibarı yoktur; bu nedenle başarılı bir teslimat gerçekleşse bile e-posta spam klasörüne düşer. Onay bağlantısı için bu, e-postanın hiç ulaşmamasıyla aynı anlama gelir.
  • DNS üzerinde SPF (sender policy framework) ve DKIM (domainkeys identified mail) kayıtları yayınlanmadığında, büyük sağlayıcılar mesajı doğrudan reddeder. Google'ın ret mesajı 550 5.7.26 Unauthenticated email from example.com is not accepted due to domain's DMARC policy şeklindedir. DMARC (domain-based message authentication, reporting and conformance) artık toplu gönderim yapan herkesten beklenen bir standarttır.

Pratik çözüm bir aktarıcı (relay) kullanmaktır. Forumun SMTP ayarlarını 587 numaralı port üzerinden bir işlemsel e-posta sağlayıcısına yönlendirin, sağlayıcının size verdiği SPF, DKIM ve DMARC kayıtlarını yayınlayın ve gönderimleri mail.example.com gibi bir alt alan adından yapın; böylece forumun itibarı kişisel e-postalarınızdan ayrı kalır. E-posta sunucusunu kendiniz yönetmeniz mümkündür ve VPS üzerinde tam kapsamlı bir self-hosted e-posta sunucusu kurulumu bunu açıklar, ancak forum açılışı teslim edilebilirlik öğrenmek için yanlış bir zamandır.

Forumu duyurmadan önce test edin. Discourse üzerinde, container içinden:

cd /var/discourse
./launcher enter app
rake emails:test[you@example.com]

Bu görev SMTP bağlantısını kontrol eder ve bir mesaj gönderir; kimlik bilgileri yanlış olduğunda hatayı genellikle Net::SMTPAuthenticationError olarak belirtir. phpBB'nin yönetici panelinde, İstemci iletişimi altında eşdeğer bir testi bulunur. Flarum ve NodeBB için, büyük bir sağlayıcıda gerçek bir posta kutusu ile geçici bir hesap oluşturun ve gelen mesajın ham başlıklarını (raw headers) okuyun. Authentication-Results başlığındaki spf=pass ve dkim=pass, aradığınız sonuçtur.

Discourse için küçük bir detay: Ağustos 2026 itibarıyla kurulum sihirbazı, SMTP'yi atlayıp Discourse ID kullanmanıza olanak tanır; bu yöntem kişilerin e-posta bağlantısı yerine harici bir hesapla giriş yapmasını sağlar. Bu sayede bir aktarıcıya ihtiyaç duymadan yayına başlayabilirsiniz. Ancak bu yöntem bildirim e-postalarını veya şifre sıfırlama işlemlerini kapsamaz, bu yüzden topluluk büyümeden önce mutlaka SMTP yapılandırmasını tamamlayın.

Forumu TLS arkasına nasıl alırsınız?

Flarum ve phpBB standart sanal ana makinelerdir (virtual host), bu nedenle halihazırda çalıştırdığınız web sunucusunda certbot kullanmak yeterlidir. NodeBB ve Discourse farklıdır: bunlar yerel portları dinleyen uygulamalardır ve önlerinde TLS (transport layer security) sonlandırması yapacak ve ana makine adına göre yönlendirme yapacak bir katman bulunmalıdır. Forum, sunucuyu diğer servislerle paylaşıyorsa, hepsinin önüne tek bir reverse proxy yerleştirin; birden fazla Docker Compose uygulaması önünde Traefik kullanımı tam olarak bunun içindir.

Discourse, kendi nginx'ini ve Let's Encrypt şablonunu kullanarak 80 ve 443 numaralı portları varsayılan olarak sahiplenir. Onu mevcut bir proxy'nin arkasına almak için app.yml dosyasını düzenleyin, templates/web.letsencrypt.ssl.template.yml satırını kaldırın, container'ın yalnızca yerel bir adresi dinlemesi için dışa açılan portları değiştirin ve ardından ./launcher rebuild app komutunu çalıştırın. Bunu kurulumdan sonra yapmak, yeniden derleme gerektirir ve birkaç dakikalık kesintiye yol açar; bu nedenle kurulumdan sonra değil, kurulumdan önce karar verin.

Topluluk boyutunuza hangi forum uygun?

Karar kuralı özelliklerle değil, insanlarla ilgilidir.

  • Birkaç yüz üyeden az, tek moderatör, 1 GB RAM: SQLite üzerinde phpBB veya modern bir arayüz istiyorsanız ve MariaDB çalıştırabiliyorsanız Flarum. Her biri, yamalarının güncel tutulması gereken tek bir PHP uygulamasıdır.
  • Büyüyen bir topluluk, iki veya daha fazla moderatör, 4 GB RAM: Discourse. Moderasyon süreci tek bir kişinin zihnine sığmadığı anda, güven seviyeleri ve inceleme kuyruğu, kapladığı alana fazlasıyla değer.
  • Kalıcı başlıklardan ziyade canlı sohbet istiyorsanız: NodeBB veya bunun bir sohbet olduğunu kabul edip bunun yerine Docker Compose üzerinde Rocket.Chat çalıştırın. Bir hafta sonra okunacak hiçbir şeyin kalmadığı bir forum, aslında bir sohbet sunucusu olmalıydı.
  • Tartışmadan ziyade dokümantasyona ihtiyacınız varsa: bunların hiçbiri uygun değildir. BookStack, Wiki.js veya Outline bu soruya daha iyi yanıt verir; sürekli tekrarlanan sorularla dolu bir forum, genellikle eksik bir vikinin işaretidir.
  • Sunucuda neyin yer alacağına hala karar veremediyseniz: 2026 için daha geniş self-hosting listesi daha iyi bir başlangıç noktasıdır ve self-hosted Notion alternatifleri rehberi, forumlar ile paylaşımlı çalışma alanları arasındaki kesişimi kapsar.

Hangisini seçerseniz seçin, forumun dayanıklılığı yalnızca en son geri yüklenen yedeğiniz kadardır. Veritabanını bir zaman çizelgesine göre dökümünü alın, yükleme dizinini aynı işlemle kopyalayın ve dökümün kullanılabilir olduğunu kanıtlamak için sonucu bir kez başka bir yere geri yükleyin. VPS üzerinde zamanlanmış restic yedeklemeleri bu kısmı kapsar ve bu kurulumun ikinci bir şansı olmayan tek parçası budur.

FAQ

Kendi kendine barındırılan bir forum için minimum sunucu gereksinimleri nelerdir?

phpBB, veritabanı sunucusu gerektirmediği için SQLite ile diğer servislerin yanında 1 GB RAM üzerinde çalışabilir. Flarum 1 GB RAM ve ek olarak MariaDB ister. NodeBB, MongoDB ile 2 GB RAM üzerinde rahat çalışır. Discourse, minimum gereksinim olarak swap alanı dahil 1 GB RAM ve 10 GB disk alanı belirtir; ancak gerçekçi alt sınır 2 GB'tır. Yoğun bir forum için 4 GB önerilir, çünkü ./launcher rebuild app her yükseltme sırasında varlıkları (assets) bellekte yeniden derler ve bu işlem sırasında küçük sunucular çekirdeğin bellek yetersizliği (OOM) yöneticisi tarafından sonlandırılır.

phpBB forumumu Discourse'a taşıyabilir miyim?

Evet, bu burada en iyi desteklenen taşıma yoludur. Discourse, script/import_scripts/phpbb3.rb ile birlikte gelir; bunu canlı veritabanı üzerinde değil, phpBB veritabanının bir kopyası üzerinde çalıştırmalısınız. Kullanıcılar, kategoriler, başlıklar, gönderiler ve ekler taşınır. Stiller ve eklentiler taşınmaz; ayrıca eski başlık URL'leri değişeceği için DNS değişikliği yapmadan önce phpBB yollarından yönlendirmeleri planlamalısınız. Büyük forumların taşınması saatler sürer, bu nedenle içe aktarma işlemini önce bir test sunucusunda deneyin ve süresini ölçün.

Yeni kullanıcılar neden aktivasyon e-postasını hiç almıyor?

Çoğu VPS sağlayıcısı 25 numaralı giden portu engeller, bu nedenle yerel bir posta sunucusu teslimat yapamaz ve günlük kayıtlarında alıcının posta sunucusuna karşı Connection timed out hatası görünür. Teslimat çalışsa bile, SPF veya DKIM kayıtları olmayan yeni bir IP adresi reddedilir veya filtrelenir; Google bu durumda 550 5.7.26 Unauthenticated email ... is not accepted due to domain's DMARC policy ile yanıt verir. Postaları 587 numaralı port üzerinden bir aktarıcı (relay) aracılığıyla gönderin, bu aktarıcının size verdiği SPF, DKIM ve DMARC kayıtlarını yayınlayın, ardından bir test kaydı oluşturarak gelen iletinin Authentication-Results başlığını kontrol edin.

Hangi self-hosted forum yazılımı en az moderasyon iş yükü gerektirir?

Discourse, çünkü iş akışı sonradan eklenmiş değil, çekirdeğin bir parçasıdır. Yeni hesaplar yeterince okuma yapana kadar hız sınırına (rate limit) tabi tutulur, bildirimler (flags) kimin işlem yaptığını kaydeden bir kuyrukta toplanır ve Akismet eklentisi resmi olarak desteklenir. phpBB, Soru-Cevap anti-spam yöntemini etkinleştirdiğinizde buna yaklaşır; bu yöntem bot kayıtlarının çoğunu tek başına engeller. Flarum ve NodeBB aynı işler için topluluk eklentilerine güvenir. Bunların hiçbiri asıl belirleyici faktörü değiştirmez: moderasyon yükü, yazılımdan ziyade kaç kişinin gönderi paylaştığı ile doğru orantılı olarak artar.