Flarum Installation · 18 min read · Oct 20, 2025
So installieren Sie die Flarum-Community-Software auf Debian 12

Flarum ist eine Open-Source-Community-Software, die entwickelt wurde, um Online-Foren einfach zu erstellen und zu verwalten. Mit einer eleganten, modernen Benutzeroberfläche bietet Flarum ein optimiertes Benutzererlebnis, das auf Leistung und Einfachheit ausgelegt ist. Es ist hochgradig anpassbar durch ein robustes Erweiterungssystem, das es Administratoren ermöglicht, ihre Foren an spezifische Bedürfnisse und Vorlieben anzupassen. Flarum unterstützt responsives Design, um die Kompatibilität über verschiedene Geräte hinweg zu gewährleisten, und bietet Funktionen wie Echtzeitbenachrichtigungen, das Einbetten von Multimedia-Inhalten und nahtlose Moderationstools. Seine Grundlage in PHP und MySQL macht es für eine Vielzahl von Webhosting-Umgebungen zugänglich und spricht sowohl kleine Gemeinschaften als auch große Organisationen an, die eine effiziente Plattform für Online-Diskussionen suchen.
In diesem Tutorial lernen wir, wie man die Flarum-Community-Software auf einem Server mit Debian 12 installiert.
Voraussetzungen
- Ein Server, der Debian 12 ausführt.
- Ein Nicht-Root-Benutzer mit Sudo-Rechten.
- Ein vollständig qualifizierter Domainname (FQDN) wie
flarum.example.com, der auf Ihren Server verweist. - Stellen Sie sicher, dass Ihr Server über aktivierten Swap-Speicher verfügt, wenn Sie auf einem Server mit 1 GB RAM sind.
- Stellen Sie sicher, dass alles aktualisiert ist.
$ sudo apt update && sudo apt upgrade - Flarum benötigt einige essentielle Pakete, um zu laufen. Einige davon sind möglicherweise bereits auf Ihrem Server vorhanden.
$ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y
Schritt 1 - Firewall konfigurieren
Der erste Schritt besteht darin, die Firewall zu konfigurieren. Debian wird standardmäßig mit ufw (Uncomplicated Firewall) geliefert.
Überprüfen Sie, ob die Firewall läuft.
$ sudo ufw status
Sie erhalten die folgende Ausgabe.
Status: inactive
Erlauben Sie den SSH-Port, damit die Firewall die aktuelle Verbindung beim Aktivieren nicht unterbricht.
$ sudo ufw allow OpenSSH
Erlauben Sie auch die HTTP- und HTTPS-Ports.
$ sudo ufw allow http
$ sudo ufw allow https
Aktivieren Sie die Firewall
$ sudo ufw enable
Befehl kann bestehende SSH-Verbindungen stören. Mit der Operation fortfahren (y|n)? y
Firewall ist aktiv und beim Systemstart aktiviert
Überprüfen Sie den Status der Firewall erneut.
$ sudo ufw status
Sie sollten eine ähnliche Ausgabe sehen.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Schritt 2 - Nginx installieren
Debian 12 wird mit einer älteren Version von Nginx ausgeliefert. Um die neueste Version zu installieren, müssen Sie das offizielle Nginx-Repository herunterladen.
Importieren Sie den Signaturschlüssel von Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Fügen Sie das Repository für die stabile Version von Nginx hinzu.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Aktualisieren Sie die System-Repositorys.
$ sudo apt update
Installieren Sie Nginx.
$ sudo apt install nginx
Überprüfen Sie die Installation. Auf Debian-Systemen funktioniert der folgende Befehl nur mit sudo.
$ sudo nginx -v
nginx version: nginx/1.24.0
Starten Sie den Nginx-Server.
$ sudo systemctl start nginx
Überprüfen Sie den Status des Dienstes.
$ sudo systemctl status nginx
? nginx.service - nginx - Hochleistungs-Webserver
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Thu 2023-11-09 12:08:18 UTC; 1s ago
Docs: https://nginx.org/en/docs/
Process: 1957 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 1958 (nginx)
Tasks: 2 (limit: 1107)
Memory: 1.7M
CPU: 6ms
CGroup: /system.slice/nginx.service
??1958 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??1959 "nginx: worker process"
Öffnen Sie die IP-Adresse Ihres Servers in Ihrem Webbrowser. Sie sollten die folgende Seite sehen, was bedeutet, dass Ihr Server läuft.

Schritt 3 - PHP installieren
Debian 12 wird standardmäßig mit PHP 8.2 ausgeliefert. Sie können es installieren, indem Sie den folgenden Befehl ausführen.
$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y
Um immer auf der neuesten Version von PHP zu bleiben oder wenn Sie mehrere Versionen von PHP installieren möchten, fügen Sie Ondrejs PHP-Repository hinzu.
Zuerst importieren Sie den GPG-Schlüssel des Sury-Repos für PHP.
$ sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
Fügen Sie Ondrej Surys PHP-Repository hinzu.
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Aktualisieren Sie die System-Repository-Liste.
$ sudo apt update
Installieren Sie nun PHP und die von Flarum benötigten Erweiterungen.
$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y
Überprüfen Sie, ob PHP korrekt funktioniert.
$ php --version
Sie sollten eine ähnliche Ausgabe sehen.
PHP 8.2.12 (cli) (built: Oct 27 2023 13:00:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies
Schritt 4 - Composer installieren
Composer ist ein Abhängigkeitsmanager für PHP. Flarum benötigt Composer, um verschiedene Komponenten zu installieren und auszuführen.
Führen Sie die folgenden Befehle aus, um Composer zu installieren. Zuerst laden wir den Installer herunter, überprüfen den Hash, um ihn zu verifizieren, und führen dann den Installer über die PHP-Befehlszeile aus. Danach verschieben wir die Binärdatei in das Verzeichnis /usr/local/bin.
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer
Überprüfen Sie, ob Composer korrekt installiert ist.
$ composer --version
Composer version 2.6.5 2023-10-06 10:11:52
Schritt 5 - MariaDB installieren
MariaDB ist ein direkter Ersatz für MySQL, was bedeutet, dass die Befehle zum Ausführen und Betreiben von MariaDB dieselben sind wie die für MySQL.
Debian 12 wird standardmäßig mit MariaDB 10.11.4 ausgeliefert, die etwas veraltet ist. Sie müssen das offizielle Repository verwenden, um die neueste stabile Version von MariaDB zu erhalten.
Importieren Sie den GPG-Schlüssel von MariaDB.
$ sudo curl -o /usr/share/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
Erstellen Sie die Repository-Datei für MariaDB.
$ echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.11/debian `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/mariadb-server.list
Aktualisieren Sie die System-Repository-Liste.
$ sudo apt update
Führen Sie den folgenden Befehl aus, um den MariaDB-Server zu installieren.
$ sudo apt install mariadb-server -y
Überprüfen Sie, ob MariaDB korrekt installiert ist.
$ mysql --version
Sie sollten die folgende Ausgabe sehen.
mysql Ver 15.1 Distrib 10.11.6-MariaDB, für debian-linux-gnu (x86_64) unter Verwendung von EditLine-Wrapper
Sie können auch mariadb --version verwenden, um die Version zu überprüfen.
Der MariaDB-Dienst ist bereits aktiviert und läuft. Überprüfen Sie seinen Status mit dem folgenden Befehl.
$ sudo systemctl status mariadb
? mariadb.service - MariaDB 10.11.6-Datenbankserver
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
??migrated-from-my.cnf-settings.conf
Active: active (running) since Tue 2023-11-14 08:42:03 UTC; 4min 1s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 74903 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 74904 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 74906 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR>
Process: 74946 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 74948 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Main PID: 74935 (mariadbd)
Status: "Nehme jetzt Ihre SQL-Anfragen entgegen..."
Tasks: 9 (limit: 1107)
Memory: 214.9M
CPU: 627ms
CGroup: /system.slice/mariadb.service
??74935 /usr/sbin/mariadbd
Führen Sie den folgenden Befehl aus, um die Standardkonfiguration durchzuführen, z. B. um ein Root-Passwort festzulegen, anonyme Benutzer zu entfernen, das Root-Login aus der Ferne zu verbieten und Testtabellen zu löschen.
$ sudo mariadb-secure-installation
Sie werden nach Ihrem Root-Passwort gefragt. Da wir kein Root-Passwort festgelegt haben, drücken Sie die Enter-Taste, um fortzufahren.
HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESER SKRIPTE WIRD FÜR ALLE MariaDB
SERVER IM PRODUKTIVEINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG!
Um sich bei MariaDB abzusichern, benötigen wir das aktuelle
Passwort für den Root-Benutzer. Wenn Sie MariaDB gerade installiert haben und
noch kein Root-Passwort festgelegt haben, sollten Sie hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste, wenn keines vorhanden ist): [EINGABETASTE DRÜCKEN]
OK, Passwort erfolgreich verwendet, weiter geht's...
Als nächstes werden Sie gefragt, ob Sie zum unix_socket-Plugin wechseln möchten. Das unix_socket-Plugin ermöglicht es Ihnen, sich mit Ihren Linux-Benutzerdaten bei MariaDB anzumelden. Wählen Sie n, um den Wechsel zu überspringen, da Sie bereits ein geschütztes root-Konto haben.
Das Festlegen des Root-Passworts oder die Verwendung des unix_socket stellt sicher, dass niemand
sich ohne die richtige Autorisierung beim MariaDB-Root-Benutzer anmelden kann.
Sie haben Ihr Root-Konto bereits geschützt, daher können Sie sicher 'n' antworten.
Wechseln Sie zur unix_socket-Authentifizierung [Y/n] n
... überspringen.
Als nächstes werden Sie gefragt, ob Sie Ihr Root-Passwort ändern möchten. Auf Debian 12 ist das Root-Konto für MariaDB eng mit der automatisierten Systemwartung verbunden, daher sollten Sie die konfigurierten Authentifizierungsmethoden für das Konto nicht ändern. Andernfalls könnte ein Paketupdate das Datenbanksystem durch den Verlust des Zugangs zum Administratorkonto beschädigen. Geben Sie n ein, um fortzufahren.
Ihr Root-Konto ist bereits geschützt, daher können Sie sicher 'n' antworten.
Ändern Sie das Root-Passwort? [Y/n] n
... überspringen.
Von hier an drücken Sie y und dann die Eingabetaste, um die Standardwerte für alle folgenden Fragen zu akzeptieren. Dadurch wird der Zugriff auf anonyme Benutzer entfernt, Testdatenbanken gelöscht, das Remote-Root-Login deaktiviert und die Änderungen geladen.
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, der es jedem ermöglicht,
sich bei MariaDB anzumelden, ohne dass ein Benutzerkonto für ihn erstellt werden muss. Dies ist nur für Tests gedacht und soll die Installation etwas reibungsloser gestalten. Sie sollten sie entfernen, bevor Sie in eine Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? [Y/n] y
... Erfolg!
Normalerweise sollte root nur von 'localhost' aus verbunden werden dürfen. Dies
stellt sicher, dass niemand das Root-Passwort über das Netzwerk erraten kann.
Root-Login aus der Ferne verbieten? [Y/n] y
... Erfolg!
Standardmäßig kommt MariaDB mit einer Datenbank namens 'test', auf die jeder zugreifen kann. Dies ist ebenfalls nur für Tests gedacht und sollte entfernt werden, bevor Sie in eine Produktionsumgebung wechseln.
Testdatenbank und Zugriff darauf entfernen? [Y/n] y
- Testdatenbank löschen...
... Erfolg!
- Berechtigungen für die Testdatenbank entfernen...
... Erfolg!
Das Neuladen der Berechtigungstabellen stellt sicher, dass alle bisher vorgenommenen Änderungen sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [Y/n] y
... Erfolg!
Aufräumen...
Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen haben, sollte Ihre MariaDB-Installation jetzt sicher sein.
Danke, dass Sie MariaDB verwenden!
Das war’s. Das nächste Mal, wenn Sie sich in die MariaDB-Shell einloggen möchten, verwenden Sie den folgenden Befehl.
$ sudo mysql
Geben Sie Ihr Linux-Root-Passwort ein, wenn Sie dazu aufgefordert werden.
Willkommen beim MariaDB-Monitor. Befehle enden mit ; oder \g.
Ihre MariaDB-Verbindungs-ID ist 39
Serverversion: 10.11.6-MariaDB-1:10.11.6+maria~deb12 mariadb.org binäre Verteilung
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere.
Geben Sie 'help;' oder '\h' für Hilfe ein. Geben Sie '\c' ein, um die aktuelle Eingabeaufforderung zu löschen.
MariaDB [(none)]>
Drücken Sie exit, um die MariaDB-Shell zu schließen.
Schritt 6 - MariaDB konfigurieren
Melden Sie sich bei der MariaDB-Shell an.
$ sudo mysql
Erstellen Sie eine neue MySQL-Datenbank, einen Datenbankbenutzer und ein Passwort für Ihre Flarum-Installation.
MariaDB> CREATE DATABASE flarum;
MariaDB> CREATE USER 'flarumuser'@'localhost' IDENTIFIED BY 'yourpassword';
MariaDB> GRANT ALL PRIVILEGES ON flarum.* TO 'flarumuser'@'localhost';
Ersetzen Sie flarum, flarumuser und yourpassword durch die von Ihnen gewählten Anmeldeinformationen. Wählen Sie ein sicheres Passwort.
Erstellen Sie auch einen Administrationsbenutzer mit denselben Berechtigungen wie das Root-Konto.
MariaDB> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Laden Sie die Berechtigungen, um sicherzustellen, dass sie in der aktuellen Sitzung gespeichert werden.
MariaDB> FLUSH PRIVILEGES;
Verlassen Sie die MariaDB-Shell.
MariaDB> exit
Schritt 7 - Flarum installieren
Erstellen Sie ein Verzeichnis, in dem Flarum leben wird.
$ sudo mkdir /var/www/flarum -p
Mit der -p-Direktive werden übergeordnete Verzeichnisse erstellt, die zuvor nicht existierten.
Ändern Sie den Besitz des Flarum-Verzeichnisses auf den aktuell angemeldeten Linux-Benutzer, damit Sie Befehle ohne Verwendung von sudo ausführen können.
$ sudo chown -R $USER:$USER /var/www/flarum
Navigieren Sie zum Installationsordner.
$ cd /var/www/flarum
Laden Sie Flarum mit Composer herunter und installieren Sie es.
$ composer create-project flarum/flarum .
Ändern Sie den Besitz des Flarum-Verzeichnisses auf nginx für den Nginx-Server.
$ sudo chown -R nginx:nginx /var/www/flarum
Erlauben Sie den Schreibzugriff auf das Verzeichnis.
$ sudo chmod 775 -R /var/www/flarum
Von hier an benötigt Composer Sudo-Rechte, um zu laufen, was nicht empfohlen wird. Sie können auch die Gruppenberechtigungen des Verzeichnisses auf Ihren Linux-Benutzer ändern und sie nach Abschluss der Arbeiten wieder auf nginx zurücksetzen. Dies ist keine ideale Lösung, da es erfordert, dass Sie dieselben Befehle wiederholt ausführen. Eine dauerhaftere Lösung besteht darin, Ihren Benutzernamen zur nginx-Gruppe hinzuzufügen. Führen Sie den folgenden Befehl aus, um Ihren aktuell angemeldeten Linux-Benutzer zur nginx-Gruppe hinzuzufügen.
$ sudo usermod -a -G nginx $USER
Um die neue Gruppenmitgliedschaft anzuwenden, melden Sie sich vom Server ab und wieder an oder geben Sie Folgendes ein.
su - ${USER}
Schritt 8 - SSL installieren
Wir müssen Certbot installieren, um das SSL-Zertifikat zu generieren. Sie können Certbot entweder über das Debian-Repository installieren oder die neueste Version mit dem Snapd-Tool herunterladen. Wir werden die Snapd-Version verwenden.
Debian 12 wird nicht mit Snapd ausgeliefert. Installieren Sie das Snapd-Paket.
$ sudo apt install snapd
Führen Sie die folgenden Befehle aus, um sicherzustellen, dass Ihre Version von Snapd auf dem neuesten Stand ist.
$ sudo snap install core && sudo snap refresh core
Installieren Sie Certbot.
$ sudo snap install --classic certbot
Verwenden Sie den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem Sie einen symbolischen Link zum Verzeichnis /usr/bin erstellen.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Überprüfen Sie, ob Certbot korrekt funktioniert.
$ certbot --version
certbot 2.7.4
Generieren Sie das SSL-Zertifikat.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d flarum.example.com
Der obige Befehl lädt ein Zertifikat in das Verzeichnis /etc/letsencrypt/live/flarum.example.com auf Ihrem Server herunter.
Generieren Sie ein Diffie-Hellman-Gruppe-Zertifikat.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Überprüfen Sie den Zeitplan für den Certbot-Erneuerungsdienst.
$ sudo systemctl list-timers
Sie finden snap.certbot.renew.service als einen der Dienste, die geplant sind.
NÄCHSTER ÜBRIG LETZTER VERGANGEN EINHEIT AKTIVIERT
---------------------------------------------------------------------------------------------------------------------------
Tue 2023-11-14 15:39:00 UTC 24min übrig Tue 2023-11-14 15:09:02 UTC 5min ago phpsessionclean.timer phpsessionclean.service
Tue 2023-11-14 17:33:00 UTC 2h 18min übrig - - snap.certbot.renew.timer snap.certbot.renew.service
Tue 2023-11-14 19:03:30 UTC 3h 49min übrig Tue 2023-11-14 15:12:10 UTC 1min 58s ago apt-daily.timer apt-daily.service
Führen Sie einen Testlauf des Prozesses durch, um zu überprüfen, ob die SSL-Erneuerung einwandfrei funktioniert.
$ sudo certbot renew --dry-run
Wenn Sie keine Fehler sehen, sind Sie bereit. Ihr Zertifikat wird automatisch erneuert.
Schritt 9 - PHP-FPM konfigurieren
Öffnen Sie die Datei /etc/php/8.2/fpm/pool.d/www.conf.
$ sudo nano /etc/php/8.2/fpm/pool.d/www.conf
Wir müssen den Unix-Benutzer/die Gruppe der PHP-Prozesse auf nginx setzen. Suchen Sie die Zeilen user=www-data und group=www-data in der Datei und ändern Sie sie in nginx.
; Unix-Benutzer/-gruppe der Kindprozesse. Dies kann nur verwendet werden, wenn der Master
; Prozessbenutzer root ist. Es wird festgelegt, nachdem der Kindprozess erstellt wurde.
; Der Benutzer und die Gruppe können entweder durch ihren Namen oder durch ihre numerischen
; IDs angegeben werden.
; Hinweis: Wenn der Benutzer root ist, muss das ausführbare Programm mit
; --allow-to-run-as-root-Option gestartet werden, um zu funktionieren.
; Standardwerte: Der Benutzer wird standardmäßig auf den Benutzer des Masterprozesses gesetzt.
; Wenn die Gruppe nicht festgelegt ist, wird die Gruppe des Benutzers verwendet.
user = nginx
group = nginx
...
Suchen Sie die Zeilen listen.owner = www-data und listen.group = www-data in der Datei und ändern Sie sie in nginx.
; Setzen Sie Berechtigungen für den Unix-Socket, falls einer verwendet wird. In Linux müssen Lese-/Schreibberechtigungen
; gesetzt werden, um Verbindungen von einem Webserver zu ermöglichen. Viele
; BSD-abgeleitete Systeme erlauben Verbindungen unabhängig von den Berechtigungen. Der Eigentümer
; und die Gruppe können entweder durch ihren Namen oder durch ihre numerischen IDs angegeben werden.
; Standardwerte: Der Eigentümer wird auf den Benutzer des Masterprozesses gesetzt. Wenn die Gruppe
; nicht festgelegt ist, wird die Gruppe des Eigentümers verwendet. Modus ist auf 0660 gesetzt.
listen.owner = nginx
listen.group = nginx
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Erhöhen Sie die Dateigröße für den Upload auf 8 MB.
$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php/8.2/fpm/php.ini
Starten Sie den PHP-FPM-Dienst neu.
$ sudo systemctl restart php8.2-fpm
Ändern Sie die Gruppe des PHP-Sitzungsverzeichnisses auf Nginx.
$ sudo chgrp -R nginx /var/lib/php/sessions
Schritt 10 - Nginx konfigurieren
Führen Sie den folgenden Befehl aus, um eine Konfigurationsdatei für Ihre Website hinzuzufügen.
$ sudo nano /etc/nginx/conf.d/flarum.conf
Fügen Sie den folgenden Code in den Editor ein.
server {
listen [::]:80;
listen 80;
server_name flarum.example.com;
# HTTP auf HTTPS umleiten
return 301 https://flarum.example.com$request_uri;
}
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
server_name flarum.example.com;
access_log /var/log/nginx/flarum.access.log;
error_log /var/log/nginx/flarum.error.log;
root /var/www/flarum/public;
index index.php;
include /var/www/flarum/.nginx.conf;
client_max_body_size 8M;
if ($host != "flarum.example.com") {
return 301 $scheme://flarum.example.com$request_uri;
}
# SSL-Code
ssl_certificate /etc/letsencrypt/live/flarum.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/flarum.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/flarum.example.com/chain.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_prefer_server_ciphers off;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s;
resolver_timeout 2s;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
tcp_nopush on;
types_hash_max_size 2048;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
}
Diese Datei geht davon aus, dass wir example.com im Verzeichnis /var/www/flarum/public hosten. Flarum wird mit einigen Standard-Nginx-Einstellungen in der Datei /var/www/flarum/.nginx.conf geliefert, die wir in unsere Nginx-Konfiguration aufgenommen haben.
Sobald Sie fertig sind, drücken Sie Strg + X, um den Editor zu schließen, und drücken Sie Y, wenn Sie dazu aufgefordert werden, um die Datei zu speichern.
Öffnen Sie die Datei /etc/nginx/nginx.conf zur Bearbeitung.
$ sudo nano /etc/nginx/nginx.conf
Fügen Sie die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; hinzu.
server_names_hash_bucket_size 64;
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden. Testen Sie die Nginx-Konfiguration.
$ sudo nginx -t
Sie sollten die folgende Ausgabe sehen, die anzeigt, dass Ihre Konfiguration korrekt ist.
nginx: die Konfigurationsdatei /etc/nginx/nginx.conf Syntax ist ok
nginx: Konfigurationsdatei /etc/nginx/nginx.conf Test war erfolgreich
Laden Sie den Nginx-Dienst neu.
$ sudo systemctl reload nginx
Schritt 11 - Zugriff auf die Flarum-Installation und Abschluss
Öffnen Sie http://example.com in Ihrem Browser, um die Installation abzuschließen.

Füllen Sie die erforderlichen Datenbankwerte aus, die wir oben erstellt haben. Sie können das Tabellenpräfix-Feld leer lassen, um Flarum das Standardpräfix verwenden zu lassen, oder Sie können ein benutzerdefiniertes Präfix wie fla_ eingeben. Wählen Sie einen Benutzernamen, ein sicheres Passwort und eine E-Mail-ID, um Flarum zu installieren.
Klicken Sie auf die Schaltfläche Flarum installieren, um die Installation abzuschließen.
Nach der Installation sollten Sie mit der Standard-Homepage von Flarum begrüßt werden.

Ihr Forum ist jetzt installiert und bereit zur Nutzung.
2FA aktivieren
Die Zwei-Faktor-Authentifizierung ist eine wesentliche Funktion für jedes öffentliche Forum. Flarum wird nicht nativ mit dieser Funktion geliefert, aber Sie können sie aktivieren, indem Sie eine Erweiterung dafür installieren. Die Erweiterung ist über Extiverse verfügbar. Extiverse ist ein inoffizielles Repository für Flarum-Themen und -Plugins.
Um das Plugin zu installieren, wechseln Sie zuerst in das Flarum-Verzeichnis.
$ cd /var/www/flarum
Installieren Sie das Plugin mit Composer.
$ composer require ianm/twofactor:"*"
Der nächste Schritt besteht darin, das Plugin über das Administrationspanel von Flarum zu aktivieren. Klicken Sie auf Ihren Namen in der oberen rechten Ecke der Homepage und klicken Sie im Dropdown-Menü auf den Link Administration.

Sie gelangen zum Administrationsdashboard. Wählen Sie die Funktion 2FA aus dem linken Menü und aktivieren Sie sie. Sie müssen nichts ändern, da die Standardeinstellungen gut funktionieren sollten.

Wenn Sie möchten, dass Moderatoren im Forum 2FA aktiviert haben, klicken Sie auf die Schaltfläche Mods und aktivieren Sie die Einstellung 2FA erforderlich. Klicken Sie auf die Schaltfläche Änderungen speichern, um abzuschließen.

Um 2FA für Ihr Konto zu aktivieren, öffnen Sie Ihre Einstellungsseite über das Menü in der oberen rechten Ecke der Forum-Homepage. Öffnen Sie die Seite Sicherheit, indem Sie sie im linken Seitenmenü auswählen.

Klicken Sie auf die Schaltfläche 2FA aktivieren, und das folgende Popup wird geöffnet.

Scannen Sie den QR-Code oder wählen Sie die manuelle Option mit Ihrer 2FA-App und geben Sie den generierten Code in das Feld ein. Klicken Sie auf die Schaltfläche Überprüfen, wenn Sie fertig sind. Ihnen werden Sicherungscodes angezeigt. Speichern Sie diese und klicken Sie auf die Schaltfläche, um fortzufahren.

Sie werden erneut um Bestätigung gebeten. Klicken Sie auf die Schaltfläche Ok, um fortzufahren. Der Prozess ist jetzt abgeschlossen.

E-Mail-Einstellungen konfigurieren
Sie müssen auch die E-Mail-Einstellungen über das Administrationspanel konfigurieren. Flarum unterstützt den Mailgun-SMTP-Dienst nativ oder Sie können einen externen SMTP-Anbieter verwenden.

Wir verwenden den Amazon SES-Dienst, für den wir smtp aus dem Dropdown-Menü für den E-Mail-Treiber auf der E-Mail-Seite ausgewählt haben. Klicken Sie auf die Schaltfläche Änderungen speichern und dann auf die Schaltfläche Senden, um eine Test-E-Mail zu senden. Die Seite informiert Sie, ob die E-Mail erfolgreich gesendet wurde. Sie sollten die folgende E-Mail erhalten.

Wenn Sie Mailgun verwenden möchten, wählen Sie mailgun aus dem Dropdown-Menü. Füllen Sie die erforderlichen Felder aus und speichern Sie die Einstellungen.

Bevor Sie eine Test-E-Mail senden, müssen Sie ein Composer-Paket installieren, damit es funktioniert. Wechseln Sie in das Flarum-Verzeichnis auf dem Server.
$ cd /var/www/flarum
Installieren Sie das Composer-Paket.
$ composer require guzzlehttp/guzzle:^7.0
Senden Sie eine Test-E-Mail zur Überprüfung.
Fazit
Damit endet unser Tutorial zur Installation der Flarum-Community-Forum-Software auf einem Debian 12-Server. Wenn Sie Fragen oder Feedback haben, hinterlassen Sie diese bitte in den Kommentaren unten.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.