Wie installiere ich Flarum Next Generation Forum auf Ubuntu 24.04

Flarum ist eine freie und quelloffene Forensoftware in PHP, JavaScript und TypeScript. Es handelt sich um eine Forensoftware der nächsten Generation, die minimalistisch gestaltet ist und sich durch Erweiterungen gut ausbauen lässt. Flarum ist eine moderne Lösung für Forensoftware, die schnell, einfach und leicht zu bedienen und zu installieren ist.

In diesem Tutorial zeigen wir dir, wie du Flarum auf Ubuntu 24.04 installierst. Du installierst Flarum mit dem LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP) und sicherst es dann über HTTPS mit Certbot und letsencrypt.

Voraussetzungen

Um diesem Tutorial folgen zu können, musst du die folgenden Voraussetzungen erfüllen:

  • Ein Ubuntu 24.04 ‚Noble Numbat‘.
  • Ein Nicht-Root-Benutzer mit Administrator-Rechten.
  • Eine laufende UFW (Uncomplicated Firewall).
  • Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.

Installieren der Abhängigkeiten

Flarum ist eine Open-Source-Forensoftware, die in PHP geschrieben wurde. Um sie zu installieren, musst du Abhängigkeiten auf deinem Ubuntu-Server installieren. Dazu gehören der LAMP-Stack (Linux, Apache, MySQL/MariaDB), Git und Composer.

In diesem Abschnitt wirst du die Abhängigkeiten für Flarum über das Ubuntu-Repository installieren.

Führe zunächst den unten stehenden Befehl aus, um deinen Ubuntu-Paketindex zu aktualisieren.

sudo apt update

Repo aktualisieren

Führe nun die folgenden Befehle aus, um Abhängigkeiten wie den LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP), Composer und Git auf deinem Ubuntu-System zu installieren.

sudo apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer composer git

Gib Y ein, um die Installation zu bestätigen.

Abhängigkeiten installieren

Überprüfe nach der Installation den Status des Apache-Dienstes mit dem folgenden Befehl. Du wirst sehen, dass der Apache-Webserver mit dem Status„active (running)aktiviert ist.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

apache2 prüfen

Überprüfe nun den MariaDB-Server mit dem folgenden Befehl. Du wirst eine ähnliche Ausgabe sehen, bei der MariaDB aktiviert ist und läuft.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

mariadb prüfen

Überprüfe abschließend die PHP- und Composer-Versionen mit dem folgenden Befehl. Du wirst sehen, dass PHP 8.3 und Composer 2.7.1 auf deinem Ubuntu-System installiert sind.

php -v
sudo -u www-data composer -v

php composer überprüfen

Einrichten der UFW (Uncomplicated Firewall)

Nachdem du die Abhängigkeiten installiert hast, musst du den Zugriff auf den Apache-Webserver über die UFW (Uncomplicated Firewall) erlauben. Der Apache-Webserver bietet ein UFW-Anwendungsprofil„Apache Full„, um sowohl HTTP- als auch HTTPS-Zugriff zu ermöglichen.

Führe den folgenden Befehl aus, um sowohl den HTTP- als auch den HTTPS-Zugriff über das Profil „ApacheFull“ zu ermöglichen. Wenn es hinzugefügt wurde, siehst du die Ausgabe„Rules Added„.

sudo ufw allow 'Apache Full'

Überprüfe nun die Listenregeln auf deinem UFW mit dem folgenden Befehl.

sudo ufw status

Du solltest das Profil„Apache Full“ auf deiner Firewall aktiviert haben. Damit ist sowohl der HTTP- als auch der HTTPS-Zugriff auf deinen Apache-Webserver erlaubt.

ufw-Einrichtung

PHP konfigurieren

In diesem Abschnitt wirst du PHP für Flarum konfigurieren, indem du die Datei „php.ini“ bearbeitest. Du wirst einige PHP-Konfigurationen wie memory_limit und upload_max_filesize für deine Flarum-Installation anpassen müssen.

Öffne die Standard-PHP-Konfiguration„php.ini“ mit dem folgenden Befehl des nano-Editors.

sudo nano /etc/php/8.3/apache2/php.ini

Ändere die Standard-PHP-Konfiguration wie folgt. Achte darauf, dass du die Werte für die Optionen memory_limit und date.timezone anpasst.

memory_limit = 512M
upload_max_filesize = 150M
max_execution_time = 600
date.timezone = Europe/Paris

Wenn du fertig bist, speichere die Datei und beende sie.

Führe nun den folgenden Befehl aus, um den Apache-Webserver neu zu starten und die neue PHP-Konfiguration anzuwenden.

sudo systemctl restart apache2

MariaDB-Server konfigurieren

Nachdem du PHP konfiguriert hast, musst du den MariaDB-Server sichern und eine neue Datenbank und einen neuen Benutzer anlegen, die von Flarum verwendet werden. Du kannst MariaDB mit dem Befehl„mariadb-secure-installation“ sichern und dann eine neue Datenbank und einen neuen Benutzer mit dem„mariadb„-Client erstellen.

Um den MariaDB-Server zu sichern, führst du den unten stehenden Befehl„mariadb-secure-installation“ aus. Daraufhin wirst du nach einigen MariaDB-Konfigurationen gefragt.

sudo mariadb-secure-installation

Nachstehend findest du die Konfiguration, nach der du gefragt wirst:

  • Die Standardinstallation von MariaDB wird ohne Passwort geliefert. Drücke ENTER, wenn du nach dem Passwort gefragt wirst.
  • Gib nun Y ein, um das MariaDB Root-Passwort einzurichten. Gib dann das neue Passwort für MariaDB ein und wiederhole das Passwort.
  • Gib Y ein, um den anonymen Benutzer aus deiner MariaDB-Installation zu entfernen.
  • Gib erneut Y ein, wenn du aufgefordert wirst, die Fernanmeldung für den MariaDB-Root-Benutzer zu deaktivieren.
  • Gib Y ein, um den Standard-Datenbanktest aus deiner MariaDB zu entfernen.
  • Gib schließlich Y ein, um die Tabellenberechtigungen neu zu laden und die neuen Änderungen anzuwenden.

Sobald MariaDB gesichert ist, melde dich mit folgendem Befehl am MariaDB-Server an. Gib dein MariaDB Root-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -u root -p

Führe nun die folgenden Abfragen aus, um eine neue Datenbank und einen neuen Benutzer für Flarum zu erstellen. In diesem Beispiel erstellst du eine neue Datenbank„flarum„, einen Benutzer„flarum“ und das Passwort„password„. Du kannst diese Daten durch deine eigenen Angaben ersetzen.

CREATE DATABASE flarum;
CREATE USER flarum@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON flarum.* TO flarum@localhost;
FLUSH PRIVILEGES;

Datenbank erstellen

Als Nächstes führst du die folgende Abfrage aus, um die Berechtigungen des Benutzers„flarum“ zu überprüfen. Dadurch wird sichergestellt, dass der Benutzer„flarum“ auf die Datenbank„flarum“ zugreifen kann.

SHOW GRANTS FOR flarum@localhost;

Wie du unten siehst, kann der Benutzer„flarum“ auf die Datenbank„flarum“ zugreifen.

Tippe nun quit ein, um den MariaDB-Server zu verlassen.

Privilegien anzeigen

Herunterladen des Flarum-Quellcodes

Wenn du alle Abhängigkeiten konfiguriert hast, kannst du den Quellcode von Flarum herunterladen. In diesem Abschnitt erstellst du ein neues Stammverzeichnis für Flarum und lädst dann den Flarum-Quellcode über Composer herunter.

Führe zunächst den folgenden Befehl aus, um ein neues Flarum-Installationsverzeichnis„/var/www/flarum/“ und die Verzeichnisse für den Composer„/var/www/.cache“ und„/var/www/.config“ zu erstellen. Dann änderst du die Eigentumsrechte an diesen Verzeichnissen auf den Benutzer„www-data„.

mkdir -p /var/www/{.cache,.config,flarum}
chown -R www-data:www-data /var/www/{.cache,.config,flarum}

Wechsle nun in das Verzeichnis„/var/www/flarum/“ und lade den Flarum-Quellcode mit dem unten stehenden Composer-Befehl herunter.

cd /var/www/flarum/
sudo -u www-data composer create-project flarum/flarum .

Unten siehst du, wie der Flarum-Quellcode heruntergeladen wird.

Herunterladen von Flarum

Nachdem der Downloadvorgang abgeschlossen ist, führe den folgenden„ls„-Befehl aus, um den Flarum-Quellcode zu überprüfen.

ls -ah

Du solltest den heruntergeladenen Flarum-Quellcode wie folgt sehen:

flarum Quellcode

Einrichten des virtuellen Apache-Hosts für Flarum

Nachdem du Flarum heruntergeladen hast, musst du einen neuen virtuellen Apache-Host einrichten. Achte also darauf, dass du deinen Domainnamen für die Flarum-Installation vorbereitet hast.

Bevor du einen virtuellen Host erstellst, führe den folgenden Befehl aus, um die Apache-Module„ssl„,„rewrite“ und„headers“ zu aktivieren.

sudo a2enmod ssl rewrite headers

Module aktivieren

Erstelle nun eine neue Konfiguration für den virtuellen Host„/etc/apache2/sites-available/flarum.conf“ mit dem folgenden Befehl des nano Editors.

sudo nano /etc/apache2/sites-available/flarum.conf

Füge die unten stehende Konfiguration ein und achte darauf, dass du die Option ServerName durch deinen Domainnamen und den Pfad des Document-Root-Verzeichnisses für deine Flarum-Installation ersetzt.

<VirtualHost *:80>
 ServerAdmin admin@hwdomain.io
 DocumentRoot /var/www/flarum/public
 ServerName forum.hwdomain.io
<Directory /var/www/flarum/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/flarum/public/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>

Wenn du fertig bist, speichere die Datei und beende den Editor.

Als Nächstes führst du den folgenden Befehl aus, um die virtuelle Hostdatei „flarum.conf“ zu aktivieren und deine Apache-Syntax zu überprüfen.

sudo a2ensite flarum.conf
sudo apachectl configtest

Du solltest die Ausgabe„Syntax OK“ erhalten, wenn du den Apache richtig konfiguriert hast.

vhost-Einrichtung

Zum Schluss führst du den folgenden Befehl aus, um den Apache-Webserver neu zu starten und die neue Konfiguration des virtuellen Flarum-Hosts anzuwenden. Damit sollte dein Flarum erreichbar sein.

sudo systemctl restart apache2

Flarum mit HTTPS absichern

Wenn du Flarum auf einer öffentlichen Domain betreibst, kannst du es mit Certbot und Letsencrypt-Zertifikaten über HTTPS sichern. Wenn du eine lokale Domäne verwendest, kannst du selbstsignierte Zertifikate benutzen.

Installiere Certbot und das Certbot Apache Plugin mit dem unten stehenden Befehl. Gib Y ein, um die Installation zu bestätigen.

sudo apt install certbot python3-certbot-apache

Führe nun den folgenden „certbot“-Befehl aus, um SSL/TLS-Zertifikate für deine Flarum-Installation zu erzeugen. Achte darauf, dass du die Details des Domainnamens und der E-Mail-Adresse mit deinen Daten abänderst.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d forum.hwdomain.io

Sobald der Vorgang abgeschlossen ist, sollte deine Flarum-Installation mit HTTPS gesichert sein. Und deine SSL/TLS-Zertifikate sollten im Verzeichnis„/etc/letsencrypt/live/domain.com“ verfügbar sein.

Installation von Flarum

Öffne deinen Webbrowser und rufe deinen Domainnamen auf, z. B. https://forum.hwdomain.io/. Wenn deine Konfiguration erfolgreich ist, solltest du den Flarum-Installationsassistenten erhalten.

Gib den Titel deines Forums, die Details der MariaDB-Datenbank, den Benutzer und das Passwort ein. Dann gibst du den Admin-Benutzer, die E-Mail und das Passwort für deine neue Flarum-Installation ein.

Klicke auf die Schaltfläche„Flarum installieren„, um die Installation fortzusetzen.

flarum installieren

Sobald die Installation abgeschlossen ist, wird dir das Flarum-Administrations-Dashboard wie folgt angezeigt:

flarum installiert

Klicke jetzt auf dein Benutzersymbol und wähle Verwaltung. Hier siehst du Details zu deiner Flarum-Installation.

Wie du unten sehen kannst, ist Flarum 1.8.5 mit PHP 8.3 und MariaDB Server 10.11 installiert.

admin dashboard flarum

Fazit

Herzlichen Glückwunsch! Du hast nun die Installation von Flarum auf Ubuntu 24.04 abgeschlossen. Du hast Flarum mit dem LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP) zum Laufen gebracht und Flarum mit HTTPS über Certbot und Letsencrypt gesichert.

Das könnte dich auch interessieren …