Alles was du brauchst, um APBoard zu installieren, zu konfigurieren und zu betreiben – ausführlich erklärt, auch für absolute Einsteiger.
Klassische Installation direkt auf einem Linux-Server mit Apache, PHP und MariaDB. Diese Methode funktioniert auch auf Shared-Hosting-Paketen und gibt dir volle Kontrolle über die Serverkonfiguration.
Wenn du einen eigenen Server (VPS/Root-Server) hast und noch nichts konfiguriert ist, empfehlen wir die Docker-Installation — sie ist einfacher. Diese Anleitung ist für Shared-Hosting oder Server mit bestehendem LAMP-Stack.
mod_rewrite)| Komponente | Mindestversion | Empfohlen |
|---|---|---|
| PHP | 8.2 | 8.5 |
| MariaDB | 10.6 | 11.x |
| MySQL | 8.0 | 8.4 |
| Apache | 2.4 | 2.4 (aktuell) |
| Erweiterung | Zweck |
|---|---|
pdo_mysql | Datenbankzugriff |
mbstring | Multibyte-Zeichenketten (UTF-8) |
gd oder imagick | Bildverarbeitung (Avatare, Thumbnails) |
curl | HTTP-Requests (Updates, externe Dienste) |
zip | Datei-Archive |
fileinfo | Datei-Typ-Erkennung beim Upload |
json | JSON-Verarbeitung (meist eingebaut) |
openssl | Verschlüsselung, sichere Sessions |
intl | Internationalisierung |
PHP-Erweiterungen prüfen:
php -m | grep -E "pdo_mysql|mbstring|gd|imagick|curl|zip|fileinfo|json|openssl|intl" Lade das aktuelle Release-ZIP von GitLab herunter:
Wähle das neueste Release und lade das ZIP herunter. Achte darauf, das Release-ZIP zu nehmen (nicht den Source-Code-Download) — das Release-ZIP enthält alle benötigten Composer-Abhängigkeiten.
Nutze ein SFTP-Programm wie FileZilla oder Cyberduck:
/var/www/html/, /htdocs/ oder /public_html/)forum/forum/-Ordner hoch# Verbindung mit Server
ssh root@DEINE-SERVER-IP
# Zielverzeichnis erstellen
mkdir -p /var/www/forum
# APBoard herunterladen und entpacken
cd /tmp
wget https://gitlab.apboard.de/app/apboard3/-/releases/permalink/latest/downloads/apboard3-release.zip
unzip apboard3-release.zip -d /var/www/forum
# Dateirechte setzen (Schritt 7 weiter unten) # Als root in MySQL einloggen
mysql -u root -p
# Datenbank erstellen
CREATE DATABASE apboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# Benutzer erstellen und Rechte vergeben
CREATE USER 'apboard'@'localhost' IDENTIFIED BY 'sicheres-passwort';
GRANT ALL PRIVILEGES ON apboard.* TO 'apboard'@'localhost';
FLUSH PRIVILEGES;
EXIT; apboard), wähle utf8mb4_unicode_ci als KollationErstelle eine neue Apache-Konfiguration für dein Forum:
nano /etc/apache2/sites-available/forum.meine-domain.de.conf <VirtualHost *:80>
ServerName forum.meine-domain.de
DocumentRoot /var/www/forum/public
<Directory /var/www/forum/public>
AllowOverride All
Require all granted
Options -Indexes
</Directory>
ErrorLog ${APACHE_LOG_DIR}/forum-error.log
CustomLog ${APACHE_LOG_DIR}/forum-access.log combined
</VirtualHost> # Site aktivieren
sudo a2ensite forum.meine-domain.de.conf
# mod_rewrite aktivieren
sudo a2enmod rewrite
# Apache neu laden
sudo systemctl reload apache2 # Certbot installieren
sudo apt install certbot python3-certbot-apache
# Zertifikat ausstellen und Apache automatisch konfigurieren
sudo certbot --apache -d forum.meine-domain.de
# Certbot richtet automatischen Renewal ein (cron/systemd)
sudo certbot renew --dry-run # Test ob Renewal funktioniert APBoard braucht Schreibrechte auf bestimmte Verzeichnisse:
# Eigentümer auf den Apache-User setzen (meist www-data)
sudo chown -R www-data:www-data /var/www/forum
# Basisrechte
sudo find /var/www/forum -type f -exec chmod 644 \;
sudo find /var/www/forum -type d -exec chmod 755 \;
# Schreibrechte für APBoard-Verzeichnisse
sudo chmod -R 775 /var/www/forum/storage
sudo chmod -R 775 /var/www/forum/bootstrap/cache
APBoard hat einen grafischen Web-Installer. Öffne im Browser:
https://forum.meine-domain.de/install
Der Installer prüft, ob alle PHP-Erweiterungen vorhanden und Verzeichnisrechte korrekt sind. Grüne Haken = alles in Ordnung. Rote Fehler müssen behoben werden.
| Prüfpunkt | Was tun bei Fehler |
|---|---|
| PHP-Version | PHP aktualisieren: sudo apt install php8.5 |
| Erweiterung fehlt | sudo apt install php8.5-EXT (z.B. php8.5-gd) |
| storage/ nicht schreibbar | Rechte prüfen: chmod -R 775 storage/ |
Fülle das Formular mit deinen Datenbankdaten aus:
| Feld | Wert |
|---|---|
| Datenbankhost | localhost (oder die Adresse deines DB-Servers) |
| Datenbankname | Der Name den du in Schritt 5 angelegt hast |
| Datenbankbenutzer | Der Benutzer den du in Schritt 5 angelegt hast |
| Datenbankpasswort | Das Passwort aus Schritt 5 |
| Feld | Hinweis |
|---|---|
| Benutzername | Dein Admin-Benutzername (kann später nicht geändert werden) |
| Deine E-Mail-Adresse | |
| Passwort | Sicheres Passwort (min. 12 Zeichen, Groß-/Kleinbuchstaben, Zahlen, Sonderzeichen) |
| Forum-Titel | Der Name deines Forums |
Nach erfolgreichem Abschluss des Installers muss der Installer gelöscht werden.
APBoard erledigt das automatisch — falls nicht, lösche das Verzeichnis manuell:
rm -rf /var/www/forum/install
Falls du SMTP nicht im Installer konfiguriert hast, kannst du es jederzeit in der
config/config.php nachträglich eintragen:
<?php
// config/config.php (Ausschnitt)
return [
// ...
'mail' => [
'driver' => 'smtp',
'host' => 'smtp.mailbox.org',
'port' => 587,
'encryption' => 'tls',
'username' => 'forum@meine-domain.de',
'password' => 'smtp-passwort',
'from' => [
'address' => 'forum@meine-domain.de',
'name' => 'Mein Forum',
],
],
// ...
]; Prüfe die Apache-Logs:
tail -50 /var/log/apache2/forum-error.log Häufige Ursachen: fehlende PHP-Erweiterung, falsche Dateirechte, .htaccess-Problem.
Symptom: URLs wie /benutzer/profil geben 404-Fehler.
sudo a2enmod rewrite
sudo systemctl reload apache2 Stelle sicher, dass in der VirtualHost-Konfiguration AllowOverride All gesetzt ist.
Prüfe die Zugangsdaten in config/config.php oder .env.
Teste die Verbindung manuell:
mysql -u apboard -p apboard -h localhost Prüfe die PHP-Einstellungen und Dateirechte:
# php.ini-Einstellungen prüfen
php -r "echo ini_get('upload_max_filesize'), PHP_EOL;"
php -r "echo ini_get('post_max_size'), PHP_EOL;"
# Rechte prüfen
ls -la /var/www/forum/storage/uploads/
Prüfe ob alle PHP-Erweiterungen installiert sind und ob PHP-Fehler in den Logs erscheinen.
Manchmal hilft es, display_errors = On temporär in der php.ini zu setzen.