SSD Nodes Learn 🎉 VPS ab $5.50/Monat
Anleitungen Matt ConnorVon Matt Connor · Aktualisiert 2026-08-07

Selbst gehostete Forensoftware im Vergleich

Discourse, Flarum, NodeBB und phpBB auf dem VPS: realer RAM-Bedarf, Datenbank, Spam-Schutz und ein belastbarer Migrationsweg für später.

Welche selbst gehostete Forensoftware sollten Sie betreiben?

Bei selbst gehosteter Forensoftware gibt es heute vier praktikable Optionen, die Sie auf einem VPS (virtual private server) betreiben können: Discourse, Flarum, NodeBB und phpBB. Discourse ist die beste Standardwahl, wenn Sie 4 GB RAM bereitstellen können und mindestens zwei Personen für die Moderation haben. Bei 1 GB RAM und einer moderierenden Person sollten Sie stattdessen Flarum oder phpBB einsetzen. Ein ruhiges Forum, das Sie sauber halten können, ist besser als ein besseres Forum, das Sie nicht betreiben können.

Die Installation ist der einfache Teil. Jede dieser Anwendungen lässt sich an einem Nachmittag installieren und in Betrieb nehmen. Entscheidend dafür, ob das Forum in einem Jahr noch existiert, sind die Meldungswarteschlange und der E-Mail-Versandweg. Lesen Sie daher die Abschnitte zur Moderation und zu E-Mail, bevor Sie die Funktionslisten lesen.

Was benötigt ein Forum tatsächlich für den Betrieb?

Ein Forum besteht aus vier Komponenten, nicht aus einer: einem Anwendungsprozess, einer Datenbank, die unabhängig vom Prozess bestehen bleiben muss, einem Verzeichnis für hochgeladene Avatare und Anhänge sowie einem funktionierenden Versandweg für E-Mails. Die Anwendung kann ersetzt werden. Die Datenbank kann das nicht, weil jeder Beitrag, jedes Benutzerkonto und jede private Nachricht darin gespeichert ist. Deshalb ist die jeweils vom Projekt verwendete Datenbank die wichtigste Angabe in den folgenden Abschnitten. Sie bestimmt, wie Ihr Export an dem Tag aussieht, an dem Sie die Plattform verlassen möchten.

Die zweite Kostenart ist der personelle Aufwand. Öffentliche Registrierung und öffentliche Beiträge führen zu Bot-Anmeldungen, in der Regel bereits innerhalb der ersten Woche, nachdem die Domain in einem Crawler erfasst wurde. Alle vier Komponenten können abgesichert werden. Nur eine davon liefert den entsprechenden Ablauf im Kernumfang mit.

Discourse: der Standard und die tatsächlichen Kosten

Discourse basiert auf Ruby on Rails. PostgreSQL speichert die Daten, Redis dient als Cache und für Job-Warteschlangen, und Sidekiq führt Hintergrundaufgaben aus. Bei der unterstützten Installation läuft das alles in einem Docker-Container, der aus einer Konfigurationsdatei unter /var/discourse/containers/app.yml erstellt wird. Sie installieren diese Komponenten nicht einzeln.

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

Das Skript installiert git und Docker, falls sie fehlen, klont discourse_docker nach /var/discourse und übergibt anschließend an den interaktiven discourse-setup-Assistenten. Der Assistent fragt nach dem Hostnamen, einer Administrator-E-Mail-Adresse und den SMTP-Daten (Simple Mail Transfer Protocol), schreibt app.yml und erstellt den Container. Die Ports 80 und 443 müssen frei sein, weil der Container einen eigenen nginx ausführt und für Sie ein Let's-Encrypt-Zertifikat anfordert.

Als Mindestanforderung werden 1 GB RAM mit Swap sowie 10 GB Speicherplatz genannt. Nehmen Sie den Hinweis auf Swap wörtlich. Das Setup-Skript erstellt mit fallocate -l 2G /swapfile eine 2-GB-Swap-Datei, wenn der Assistent feststellt, dass der Server eine benötigt. Dieser Swap ist nicht optionaler Schmuck. Der maximale Speicherbedarf entspricht nicht dem Speicherbedarf der laufenden Website. Er entsteht bei ./launcher rebuild app, das die JavaScript- und CSS-Assets bei jedem Upgrade im Container neu kompiliert. Auf einem Server mit 1 GB RAM und ohne Swap wird dieser Schritt vorzeitig beendet. Der Neuaufbau endet dann ohne brauchbare Fehlermeldung auf dem Bildschirm, und dmesg | tail zeigt eine Zeile mit Out of memory: Killed process. Planen Sie für einen zuverlässigen Betrieb 2 GB ein, bei einem stark genutzten Forum 4 GB.

Upgrades starten Sie im Browser über /admin/upgrade oder über die Shell:

cd /var/discourse
./launcher rebuild app

rebuild zerstört den laufenden Container, erstellt anhand von app.yml einen neuen Container und startet ihn. Die Website ist während der dafür benötigten mehreren Minuten nicht erreichbar. Bei einem einzelnen Container lässt sich diese Unterbrechung nicht vermeiden. Wenn Sie zwei Container anhand der Beispiele data.yml und web_only.yml verwenden, bleibt PostgreSQL aktiv, während der Web-Container neu erstellt wird. Das lohnt sich, sobald Sie Benutzer haben, die Ausfälle bemerken.

Bei der Moderation zeigt sich, warum Discourse so viel RAM benötigt. Neue Konten beginnen mit Vertrauensstufe 0 und unterliegen strikten Begrenzungen dafür, wie viele Links sie veröffentlichen dürfen und in welchem Zeitraum. Mit zunehmendem Lesen und Beitragen steigt ihre Vertrauensstufe. Meldungen werden in einer Prüfwarteschlange erfasst, die dokumentiert, wer welche Meldung bearbeitet hat. Integrationen für Akismet und StopForumSpam sind offizielle Plugins. Bei den drei anderen Systemen müssen Sie diese Funktionalität aus Add-ons zusammenstellen.

Die Migration zu Discourse ist dessen stärkste Funktion. Das Verzeichnis script/import_scripts/ im Quellbaum enthält mehr als sechzig Importer, darunter phpbb3.rb, vbulletin.rb, xenforo.rb, vanilla.rb, mybb.rb, flarum_import.rb, ein nodebb-Verzeichnis und einen mbox-Importer für Archive von Mailinglisten. Dabei handelt es sich um Ruby-Skripte, die Sie innerhalb des Containers gegen eine Kopie der alten Datenbank ausführen. Sie laufen langsam, werden aber gepflegt.

Die Migration aus Discourse ist die schwache Seite. ./launcher enter app gefolgt von discourse backup schreibt eine .tar.gz, die einen PostgreSQL-Dump sowie das Uploads-Verzeichnis enthält. Eine andere Discourse-Instanz kann dieses Archiv wiederherstellen. Kein anderes System kann es einlesen. Wenn Sie Discourse verlassen, müssen Sie daher selbst SQL-Abfragen gegen diesen Dump schreiben. Klären Sie vor dem Import von 50,000 Beiträgen, ob Sie damit leben können.

Flarum: das schlanke PHP-Forum

Flarum ist eine gewöhnliche PHP-Anwendung: php-fpm hinter nginx oder Apache, eine MySQL- oder MariaDB-Datenbank und Dateien auf der Festplatte. Die dokumentierten Anforderungen sind PHP 7.3 oder neuer mit den Erweiterungen curl, dom, fileinfo, gd, json, mbstring, openssl, pdo_mysql, tokenizer und zip sowie MySQL 5.6+ (oder 8.0.23+) oder MariaDB 10.0.5+. Ubuntu 24.04 enthält PHP 8.3 und liegt damit über dieser Mindestversion.

Beachten Sie pdo_mysql in dieser Liste. Flarum unterstützt PostgreSQL nicht und unterstützt auch SQLite nicht. Wenn Sie eine Datenbank in einer einzelnen Datei verwenden wollten, ist phpBB weiter unten die passende Option.

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

Verweisen Sie den Webserver auf /srv/flarum/public und nicht auf /srv/flarum. Der Anwendungscode, die Konfigurationsdatei und das Datenbankpasswort liegen eine Verzeichnisebene über public. Ein um eine Ebene zu hoher Document Root stellt Ihre Zugangsdaten daher jedem zur Verfügung, der sie anfordert. Unter Apache benötigen Sie außerdem mod_rewrite und AllowOverride All, damit das mitgelieferte .htaccess wirksam wird. Unter nginx binden Sie das mitgelieferte .nginx.conf in Ihren server-Block ein. Rufen Sie anschließend die Domain auf. Das Installationsprogramm von Flarum fragt dann nach der Datenbank und dem Administratorkonto.

Stand August 2026: 1.8.17 ist die aktuelle stabile Version. Sie wurde im Juni 2026 veröffentlicht. 2.0 befindet sich bei Release Candidate 5. Starten Sie keine neue Community mit dem Release Candidate. Wenn 2.0 erscheint, müssen Erweiterungen aktualisiert werden, bevor sie geladen werden. Dieses Upgrade kann Sie ein ganzes Wochenende kosten.

Der Ressourcenbedarf ist gering. Einige php-fpm-Worker, MariaDB mit einigen hundert MB und statische Dateien reichen aus. Eine junge Community passt auf 1 GB.

Die Moderation ist die klare Schwachstelle. Der Kern bietet Meldungen und Berechtigungen pro Gruppe. Freigabewarteschlangen und Spam-Blockierung kommen über Erweiterungen, hauptsächlich aus der Sammlung FriendsOfFlarum. Installiert werden sie mit composer require und anschließend im Administrationsbereich aktiviert. Das funktioniert derzeit. Sie verlassen sich dabei auf ein kleineres freiwilliges Ökosystem als bei phpBB oder Discourse. Eine nicht mehr gepflegte Erweiterung kann Ihr nächstes Upgrade des Kerns blockieren, weil composer sie nicht gegen die neue Version auflösen kann.

Daten lassen sich einfach exportieren: mysqldump Sie die Datenbank und kopieren Sie das assets-Verzeichnis. Der Import ist schwieriger. Discourse enthält flarum_import.rb für die Richtung von Flarum zu Discourse. Das zeigt, in welche Richtung Daten normalerweise übertragen werden. Der Import von phpBB in Flarum erfolgt über Community-Erweiterungen und nicht über eine offizielle Erweiterung. Testen Sie eine solche Erweiterung daher zunächst mit einer Kopie, bevor Sie ihr die einzige Kopie anvertrauen.

NodeBB: Beiträge in Echtzeit und der damit verbundene Aufwand

NodeBB basiert auf Node.js. Neue Beiträge werden über WebSockets an geöffnete Browser übertragen, sodass ein aktiver Thread ohne Aktualisierung aktualisiert wird. Das ist der Grund, NodeBB auszuwählen. Die README verlangt Node.js 22 oder neuer sowie entweder MongoDB 5+ oder Redis 7.2+. Als dritte Option ist ein PostgreSQL-Treiber im Quellbaum enthalten.

Redis als primäre Datenbank ist der problematische Punkt in diesem Satz. Redis hält den Datenbestand im Arbeitsspeicher. Dadurch steigt der RAM-Bedarf mit der Größe des Forums, statt konstant zu bleiben. MongoDB oder PostgreSQL speichern die Daten auf der Festplatte und puffern häufig verwendete Daten. Wählen Sie Redis nur, wenn Sie den Grund dafür benennen können.

Ubuntu 24.04 enthält Node.js 18. Das liegt unter der erforderlichen Mindestversion. Installieren Sie daher zuerst eine aktuelle Laufzeitumgebung.

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 ist interaktiv. Das Skript fragt, welche Datenbank verwendet werden soll und wie sie erreichbar ist. Anschließend legt es das Administratorkonto an und wählt einen Port aus. Der Standardwert ist 4567. NodeBB startet nicht mit npm start. Das Skript ./nodebb ist die Schnittstelle. Die Ausgabe wird nach ./nodebb log geschrieben.

./nodebb start startet den Prozess als Daemon. Das ist für einen Rechner, der neu startet, ungeeignet. Führen Sie den Loader stattdessen im Vordergrund unter systemd aus.

[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 ist der Punkt, der häufig übersehen wird. Ohne diese Option erstellt der Loader einen Fork und beendet den übergeordneten Prozess. Dadurch meldet systemctl status nodebb die Unit als beendet, während curl localhost:4567 weiterhin antwortet. systemctl stop nodebb beendet dann keinen Prozess. Hinter einem Reverse Proxy müssen die Header für das WebSocket-Upgrade weitergeleitet werden. Fehlen proxy_set_header Upgrade $http_upgrade; und proxy_set_header Connection "upgrade"; im nginx-Block, wird das Forum geladen. Die Browserkonsole füllt sich jedoch mit fehlgeschlagenen socket.io-Anfragen, und neue Beiträge erscheinen erst wieder nach einer Aktualisierung.

Die Moderation liegt zwischen Flarum und Discourse. Im Administrationsbereich gibt es eine Meldeschlange, Berechtigungen pro Kategorie und ein Reputationssystem. Der Schutz vor Spam kommt von Community-Plugins wie nodebb-plugin-spam-be-gone. Dieses bindet Akismet und StopForumSpam ein.

Backups müssen manuell erstellt werden. Das wird meist erst erwähnt, wenn ein Backup benötigt wird. Die ./nodebb-CLI bietet keinen Backup-Befehl. Sie sichern die Datenbank selbst mit mongodump oder pg_dump und kopieren zusätzlich das Verzeichnis public/uploads sowie config.json. config.json enthält die Zugangsdaten der Datenbank und die URL der Website. Eine Wiederherstellung ohne diese Datei ist daher lediglich eine neue Installation. Einen offiziellen Importer gibt es ebenfalls nicht. nodebb-plugin-import ist ein Community-Projekt, das nicht mehr mit der Entwicklung Schritt gehalten hat. Discourse wird dagegen mit einem NodeBB-Importer ausgeliefert. Der sicher funktionierende Wechsel führt daher zu Discourse.

phpBB: klein, unspektakulär und weiterhin zuverlässig

phpBB ist alt. Genau das spricht dafür. Die Version-3.3-Reihe läuft mit PHP 7.2.0 bis einschließlich PHP 8.3 und unterstützt MySQL 4.1.3+, MariaDB 5.1+, PostgreSQL 8.3+, SQLite 3.6.15+, MS SQL Server und Oracle. Sie benötigt Unterstützung für json, mbstring und XML sowie die aktivierte Funktion getimagesize().

SQLite ist der Grund, warum phpBB in diese Liste gehört. Mit SQLite besteht das Forum aus einem Verzeichnis mit PHP-Dateien und einer Datenbankdatei. Es gibt keinen Datenbankserver, nichts zu optimieren und nichts Zusätzliches zu sichern. Auf einem 1-GB-VPS, auf dem bereits ein anderer Dienst läuft, macht das einen deutlichen Unterschied. Verwenden Sie SQLite für eine kleine Community. Wechseln Sie zu MySQL, sobald mehrere Benutzer gleichzeitig Beiträge erstellen, weil SQLite Schreibvorgänge serialisiert und Beiträge dadurch hintereinander warten.

Es gibt keinen Composer-Schritt und keinen Container. Installieren Sie einen Webserver mit PHP, entpacken Sie das Archiv und führen Sie die browserbasierte Installation aus. Die Einrichtung des vollständigen Stacks wird in einem standardmäßigen LAMP-Stack unter Ubuntu 24.04 beschrieben.

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

Laden Sie die aktuelle Version 3.3 von phpbb.com herunter, entpacken Sie sie in das Verzeichnis, das Ihr vhost bereitstellt, und machen Sie die Pfade, in die der Installer schreibt, für den Webserver-Benutzer beschreibbar.

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

Die offiziellen Anweisungen nennen 666 und 777. Diese Werte sind für Shared Hosting gedacht, bei dem Sie den Benutzer, unter dem PHP ausgeführt wird, nicht kontrollieren. Auf Ihrem eigenen VPS können Sie das kontrollieren. Übertragen Sie daher den Besitz an www-data und sperren Sie alle anderen Benutzer aus. Ein Detail bei Apache führt häufig zu Problemen: Die Ubuntu-Konfiguration gewährt standardmäßig nur unterhalb des eigenen Document Root Zugriff. Ein vhost, der auf /srv/phpbb zeigt, benötigt daher zusätzlich einen passenden <Directory>-Block mit Require all granted. Andernfalls liefert jede Anfrage 403 Forbidden, bevor phpBB überhaupt erreicht wird. Schließen Sie die Installation im Browser unter /install/index.php ab. Setzen Sie anschließend config.php wieder auf 640 und löschen Sie das Verzeichnis install/. phpBB warnt weiterhin vor diesem Verzeichnis, bis es gelöscht wurde.

Spam ist das bekannte Problem von phpBB. Es lässt sich beheben. Das Registrierungsformular befindet sich unter einer vorhersehbaren URL (ucp.php?mode=register). Bots finden es daher innerhalb weniger Tage, nachdem die Domain gecrawlt wurde. Die nachhaltige Lösung finden Sie im Administrationsbereich unter Spambot countermeasures: Setzen Sie die Anti-Spam-Methode auf Question and Answer und formulieren Sie eine Frage, die nur jemand aus Ihrer Community beantworten kann. Bild-CAPTCHAs (completely automated public Turing tests) werden von Diensten, die pro tausend Prüfungen abrechnen, kostengünstig gelöst. Eine Frage zu Ihrem eigenen Thema wird nicht auf diese Weise gelöst.

phpBB ist außerdem die am besten unterstützte Quelle für eine Migration. Discourse's phpbb3.rb ist der am häufigsten verwendete Importer in diesem gesamten Artikel, und in den phpBB-Supportforen gibt es Antworten aus zwanzig Jahren. Für den Export können Sie mysqldump verwenden oder die SQLite-Datei kopieren. Nicht übernommen werden Ihre Styles und Erweiterungen.

Warum kommen Bestätigungs-E-Mails für die Forumanmeldung nie an?

Die Registrierung bei allen vier Systemen erfordert eine Bestätigungs-E-Mail. Wenn diese E-Mail nicht ankommt, wird das Konto nie aktiviert, und in den Logs ist nur eine abgebrochene Anmeldung zu sehen. Die Zustellbarkeit ausgehender E-Mails entscheidet darüber, ob das Forum überhaupt funktioniert. Behandeln Sie sie daher als Bestandteil der Installation.

  • Der ausgehende Port 25 ist bei den meisten VPS-Anbietern standardmäßig gesperrt. Ein lokales Postfix, das E-Mails direkt zustellen soll, erreicht daher keinen Empfänger. Im Mail-Log wird connect to gmail-smtp-in.l.google.com[...]:25: Connection timed out angezeigt.
  • Eine brandneue IP-Adresse hat noch keine Absenderreputation. Selbst eine erfolgreiche Zustellung endet daher häufig im Spam-Ordner. Bei einem Bestätigungslink entspricht das praktisch einer nicht zugestellten E-Mail.
  • Ohne in DNS veröffentlichte SPF- (Sender Policy Framework) und DKIM- (DomainKeys Identified Mail) Einträge lehnen große Anbieter die Nachricht direkt ab. Die Ablehnung von Google lautet 550 5.7.26 Unauthenticated email from example.com is not accepted due to domain's DMARC policy. DMARC (Domain-based Message Authentication, Reporting and Conformance) wird inzwischen von allen erwartet, die viele E-Mails versenden.

Die praktische Lösung ist ein Relay. Tragen Sie in den SMTP-Einstellungen des Forums einen Transaktionsmail-Anbieter an Port 587 ein. Veröffentlichen Sie die SPF-, DKIM- und DMARC-Einträge, die dieser Anbieter bereitstellt. Verwenden Sie als Absender eine Subdomain wie mail.example.com, damit die Reputation des Forums von Ihrer persönlichen E-Mail getrennt bleibt. Sie können den Mailserver auch selbst betreiben. Ein vollständig selbst gehosteter Mailserver auf einem VPS behandelt dieses Thema. Für den Start eines Forums ist jedoch nicht der richtige Zeitpunkt, um sich erstmals mit Zustellbarkeit zu befassen.

Testen Sie die Konfiguration, bevor Sie das Forum ankündigen. Führen Sie den Test bei Discourse innerhalb des Containers aus:

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

Diese Aufgabe prüft die SMTP-Verbindung und versendet eine Nachricht. Bei falschen Zugangsdaten wird der Fehler benannt, normalerweise als Net::SMTPAuthenticationError. phpBB bietet einen entsprechenden Test im Administrationsbereich unter Client communication. Erstellen Sie bei Flarum und NodeBB ein temporäres Konto mit einem echten Postfach bei einem großen Anbieter und prüfen Sie die Header der empfangenen Nachricht im Rohformat. spf=pass und dkim=pass im Header Authentication-Results sind das erwartete Ergebnis.

Eine Besonderheit gilt für Discourse. Seit August 2026 können Sie im Einrichtungsassistenten SMTP überspringen und stattdessen auf Discourse ID zurückgreifen. Dabei melden sich Benutzer mit einem externen Konto statt über einen per E-Mail versendeten Link an. Damit können Sie ohne Relay starten. Benachrichtigungs-E-Mails und das Zurücksetzen von Passwörtern funktionieren dadurch jedoch nicht. Konfigurieren Sie SMTP daher trotzdem, bevor die Community wächst.

Wie stellen Sie das Forum hinter TLS?

Flarum und phpBB sind gewöhnliche virtuelle Hosts. Daher reicht certbot auf dem bereits betriebenen Webserver aus. NodeBB und Discourse funktionieren anders: Diese Anwendungen lauschen an lokalen Ports. Ein vorgeschalteter Dienst muss TLS (Transport Layer Security) terminieren und den Datenverkehr anhand des Hostnamens weiterleiten. Wenn das Forum denselben Server wie andere Dienste nutzt, setzen Sie einen Reverse Proxy vor alle Dienste. Genau dafür ist Traefik vor mehreren Docker-Compose-Anwendungen vorgesehen.

Discourse beansprucht standardmäßig selbst die Ports 80 und 443. Dafür verwendet es sein eigenes nginx und seine eigene Let's-Encrypt-Vorlage. Um Discourse hinter einem vorhandenen Proxy zu betreiben, bearbeiten Sie app.yml, entfernen die Zeile templates/web.letsencrypt.ssl.template.yml, ändern die veröffentlichten Ports, sodass der Container nur an einer lokalen Adresse lauscht, und führen anschließend ./launcher rebuild app aus. Eine nachträgliche Umstellung erfordert einen Rebuild und einige Minuten Ausfallzeit. Legen Sie die Konfiguration daher vor der Installation fest und nicht erst danach.

Welche Forensoftware passt zur Größe Ihrer Community?

Die Entscheidungsregel richtet sich nach der Personenzahl, nicht nach den Funktionen.

  • Unter einigen hundert Mitgliedern, mit einer moderierenden Person und 1 GB RAM: phpBB mit SQLite oder Flarum, wenn Sie eine moderne Oberfläche wünschen und MariaDB betreiben können. Beide sind einzelne PHP-Anwendungen, die Sie aktuell halten müssen.
  • Eine wachsende Community, mit zwei oder mehr moderierenden Personen und 4 GB RAM: Discourse. Vertrauensstufen und die Prüfwarteschlange rechtfertigen den Ressourcenbedarf, sobald die Moderation nicht mehr von einer Person allein bewältigt werden kann.
  • Sie wünschen eher Live-Unterhaltungen als dauerhaft relevante Diskussionen: NodeBB. Alternativ akzeptieren Sie, dass es sich um Chat handelt, und betreiben Sie stattdessen Rocket.Chat mit Docker Compose. Ein Forum, in dem eine Woche später nichts mehr lesenswert ist, hätte ein Chat-System sein sollen.
  • Sie benötigen tatsächlich Dokumentation statt Diskussion: keines dieser Systeme. BookStack, Wiki.js oder Outline beantwortet diese Anforderung besser. Ein Forum mit ständig wiederholten Fragen weist meist auf ein fehlendes Wiki hin.
  • Sie klären noch, was überhaupt auf den Server gehört: die umfassendere Self-Hosting-Auswahl für 2026 ist ein besserer Ausgangspunkt. Der Leitfaden zu selbst gehosteten Notion-Alternativen behandelt die Überschneidung zwischen Foren und gemeinsam genutzten Arbeitsbereichen.

Unabhängig von Ihrer Wahl ist das Forum nur so dauerhaft verfügbar wie die letzte erfolgreich wiederhergestellte Sicherung. Sichern Sie die Datenbank regelmäßig per Dump, kopieren Sie das Upload-Verzeichnis im selben Auftrag und stellen Sie das Ergebnis einmal an einem anderen Ort wieder her, um die Verwendbarkeit des Dumps zu überprüfen. Geplante restic-Sicherungen auf einem VPS behandelt diesen Teil. Er ist der einzige Bestandteil dieses Setups, bei dem es keine zweite Chance gibt.

FAQ

Welche Mindestanforderungen muss ein Server für ein selbst gehostetes Forum erfüllen?

phpBB mit SQLite läuft neben anderen Diensten mit 1 GB RAM, weil kein Datenbankserver erforderlich ist. Flarum benötigt 1 GB plus MariaDB. NodeBB läuft mit 2 GB und MongoDB komfortabel. Discourse nennt 1 GB mit Swap und 10 GB Speicherplatz als Mindestanforderung, aber 2 GB sind die realistische Untergrenze und 4 GB eignen sich für ein stark frequentiertes Forum, weil ./launcher rebuild app bei jedem Upgrade Assets im Arbeitsspeicher neu kompiliert und ein kleines System dabei vom Out-of-Memory-Handler des Kernels beendet werden kann.

Kann ich mein phpBB-Forum zu Discourse migrieren?

Ja. Das ist hier der am besten unterstützte Migrationspfad. Discourse enthält script/import_scripts/phpbb3.rb, das Sie innerhalb des Containers gegen eine Kopie der phpBB-Datenbank ausführen, niemals gegen die Live-Datenbank. Benutzer, Kategorien, Themen, Beiträge und Anhänge werden übernommen. Styles und Erweiterungen werden nicht übernommen, und die URLs alter Themen ändern sich. Planen Sie daher Weiterleitungen von den phpBB-Pfaden, bevor Sie die DNS-Einträge umstellen. Bei großen Foren dauert der Vorgang mehrere Stunden. Führen Sie den Import daher einmal testweise auf einem temporären Server durch und messen Sie die Dauer.

Warum erhalten neue Benutzer die Aktivierungs-E-Mail nie?

Die meisten VPS-Anbieter blockieren ausgehenden Port 25. Ein lokaler Mailserver kann dann überhaupt keine E-Mails zustellen, und das Log enthält für den Mail-Exchanger des Empfängers Connection timed out. Wenn die Zustellung funktioniert, wird eine neue IP-Adresse ohne SPF- oder DKIM-Einträge abgewiesen oder gefiltert, und Google antwortet mit 550 5.7.26 Unauthenticated email ... is not accepted due to domain's DMARC policy. Senden Sie über ein Relay auf Port 587 und veröffentlichen Sie die SPF-, DKIM- und DMARC-Einträge, die Sie von diesem Relay erhalten. Bestätigen Sie die Konfiguration anschließend mit einer Testregistrierung und prüfen Sie den Authentication-Results-Header der empfangenen Nachricht.

Welche selbst gehostete Forensoftware verursacht den geringsten Moderationsaufwand?

Discourse, weil der Workflow Bestandteil des Kernsystems ist und nicht nachträglich ergänzt wird. Neue Konten werden einer Ratenbegrenzung unterworfen, bis die Benutzer genügend Inhalte gelesen haben. Meldungen werden in einer Warteschlange gesammelt, die protokolliert, wer sie bearbeitet hat. Außerdem ist das Akismet-Plugin offiziell. phpBB kommt diesem Funktionsumfang nahe, sobald Sie die Anti-Spam-Methode Question and Answer aktivieren. Sie verhindert die meisten Bot-Registrierungen eigenständig. Flarum und NodeBB benötigen für dieselben Aufgaben Erweiterungen aus der Community. Das ändert jedoch nichts am entscheidenden Faktor: Der Moderationsaufwand steigt mit der Anzahl der Personen, die Beiträge veröffentlichen, nicht mit der verwendeten Software.