APBoard v3 · Dokumentation

Dokumentation

Alles was du brauchst, um APBoard zu installieren, zu konfigurieren und zu betreiben – ausführlich erklärt, auch für absolute Einsteiger.

APBoard Dokumentation Installation auf LAMP

APBoard auf einem LAMP-Server installieren

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.

Docker bevorzugen?

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.

1. Was du vor dem Start brauchst

  • SSH- oder FTP-Zugang zu deinem Server
  • PHP 8.5 oder neuer
  • Apache 2.4 oder neuer (mit mod_rewrite)
  • MariaDB 10.6+ oder MySQL 8.0+
  • Eine leer angelegte Datenbank
  • Eine Domain die auf den Server zeigt

2. Systemanforderungen

PHP-Version und Erweiterungen

KomponenteMindestversionEmpfohlen
PHP8.28.5
MariaDB10.611.x
MySQL8.08.4
Apache2.42.4 (aktuell)

Benötigte PHP-Erweiterungen

ErweiterungZweck
pdo_mysqlDatenbankzugriff
mbstringMultibyte-Zeichenketten (UTF-8)
gd oder imagickBildverarbeitung (Avatare, Thumbnails)
curlHTTP-Requests (Updates, externe Dienste)
zipDatei-Archive
fileinfoDatei-Typ-Erkennung beim Upload
jsonJSON-Verarbeitung (meist eingebaut)
opensslVerschlüsselung, sichere Sessions
intlInternationalisierung

PHP-Erweiterungen prüfen:

bash
php -m | grep -E "pdo_mysql|mbstring|gd|imagick|curl|zip|fileinfo|json|openssl|intl"

3. APBoard herunterladen

Lade das aktuelle Release-ZIP von GitLab herunter:

Releases auf GitLab

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.

4. Dateien hochladen

Option A: Per SFTP (Shared-Hosting / einfach)

Nutze ein SFTP-Programm wie FileZilla oder Cyberduck:

  1. Verbinde dich mit deinem Server per SFTP (Host, Benutzername, Passwort / SSH-Key)
  2. Navigiere zum Web-Root deines Servers (oft /var/www/html/, /htdocs/ oder /public_html/)
  3. Erstelle dort einen neuen Ordner, z.B. forum/
  4. Entpacke das ZIP lokal und lade die Dateien in den forum/-Ordner hoch

Option B: Per SSH (empfohlen für Root-Server)

bash
# 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)

5. Datenbank anlegen

Option A: Über die MySQL-Kommandozeile

bash
# 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;

Option B: Über phpMyAdmin (Shared-Hosting)

  1. Öffne phpMyAdmin (meist über das Hosting-Panel erreichbar)
  2. Klicke auf Datenbanken
  3. Gib einen Namen ein (z.B. apboard), wähle utf8mb4_unicode_ci als Kollation
  4. Klicke auf Anlegen
  5. Erstelle im Hosting-Panel einen Datenbankbenutzer mit allen Rechten auf diese Datenbank

6. Apache konfigurieren

VirtualHost-Konfiguration

Erstelle eine neue Apache-Konfiguration für dein Forum:

bash
nano /etc/apache2/sites-available/forum.meine-domain.de.conf
apache
<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>
bash
# Site aktivieren
sudo a2ensite forum.meine-domain.de.conf

# mod_rewrite aktivieren
sudo a2enmod rewrite

# Apache neu laden
sudo systemctl reload apache2

HTTPS mit Certbot (Let's Encrypt)

bash
# 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

7. Dateirechte setzen

APBoard braucht Schreibrechte auf bestimmte Verzeichnisse:

bash
# 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

8. Web-Installer ausführen

APBoard hat einen grafischen Web-Installer. Öffne im Browser: https://forum.meine-domain.de/install

Schritt 1: Systemprüfung

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üfpunktWas tun bei Fehler
PHP-VersionPHP aktualisieren: sudo apt install php8.5
Erweiterung fehltsudo apt install php8.5-EXT (z.B. php8.5-gd)
storage/ nicht schreibbarRechte prüfen: chmod -R 775 storage/

Schritt 2: Datenbankverbindung

Fülle das Formular mit deinen Datenbankdaten aus:

FeldWert
Datenbankhostlocalhost (oder die Adresse deines DB-Servers)
DatenbanknameDer Name den du in Schritt 5 angelegt hast
DatenbankbenutzerDer Benutzer den du in Schritt 5 angelegt hast
DatenbankpasswortDas Passwort aus Schritt 5

Schritt 3: Admin-Account anlegen

FeldHinweis
BenutzernameDein Admin-Benutzername (kann später nicht geändert werden)
E-MailDeine E-Mail-Adresse
PasswortSicheres Passwort (min. 12 Zeichen, Groß-/Kleinbuchstaben, Zahlen, Sonderzeichen)
Forum-TitelDer Name deines Forums
Installer nach der Installation löschen

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

9. Nach der Installation

  • Melde dich mit dem Admin-Account an
  • Gehe zu Admin-Panel → Einstellungen und prüfe URL, E-Mail und weitere Einstellungen
  • Lege Kategorien und Boards an
  • Teste die Registrierung (neuen Account anlegen, E-Mail-Bestätigung)
  • Richte regelmäßige Datenbank-Backups ein

10. SMTP nachträglich einrichten

Falls du SMTP nicht im Installer konfiguriert hast, kannst du es jederzeit in der config/config.php nachträglich eintragen:

php
<?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',
        ],
    ],
    // ...
];

11. Fehlerbehebung

500 Internal Server Error

Prüfe die Apache-Logs:

bash
tail -50 /var/log/apache2/forum-error.log

Häufige Ursachen: fehlende PHP-Erweiterung, falsche Dateirechte, .htaccess-Problem.

mod_rewrite nicht aktiv

Symptom: URLs wie /benutzer/profil geben 404-Fehler.

bash
sudo a2enmod rewrite
sudo systemctl reload apache2

Stelle sicher, dass in der VirtualHost-Konfiguration AllowOverride All gesetzt ist.

Datenbank-Verbindungsfehler

Prüfe die Zugangsdaten in config/config.php oder .env. Teste die Verbindung manuell:

bash
mysql -u apboard -p apboard -h localhost

Uploads funktionieren nicht

Prüfe die PHP-Einstellungen und Dateirechte:

bash
# 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/

Installer-Seite bleibt leer oder bricht ab

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.