Alles was du brauchst, um APBoard zu installieren, zu konfigurieren und zu betreiben. Ausführlich erklärt, auch für absolute Einsteiger.
Docker ist die empfohlene Installationsart für einen eigenen Server. Diese Anleitung führt dich von einem frischen Linux Server bis zu einem laufenden APBoard Forum.
APBoard nutzt einen App Container und einen Datenbankcontainer.
Der App Container enthält PHP 8.5, Apache und Composer. Der Datenbankcontainer nutzt MariaDB 10.6.
Deine Forendaten bleiben auf dem Host in deploy/db/ und public/shared/uploads/.
Öffne ein Terminal auf deinem Computer und verbinde dich per SSH mit deinem Server. Ersetze die IP Adresse durch die Adresse deines Servers.
ssh root@203.0.113.10 Auf Ubuntu oder Debian installierst du Docker aus dem offiziellen Docker Repository. Die folgenden Befehle sehen lang aus, fügen aber nur die Paketquelle hinzu und installieren Docker Compose.
apt update
apt install ca-certificates curl git
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list
apt update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin Prüfe danach, ob die Befehle funktionieren:
docker --version
docker compose version
git --version
Wähle einen dauerhaften Ort für APBoard. Das Beispiel nutzt /home/apboard.
Du kannst einen anderen Pfad wählen, solltest ihn später aber konsequent verwenden.
mkdir -p /home/apboard
cd /home/apboard
git clone https://forge.chrislo.de/APBoard/apboard3.git forum
cd forum
Docker liest die APBoard Einstellungen aus deploy/.env.
Das Repository enthält eine Vorlage. Kopiere sie und bearbeite deine eigene Datei.
cd /home/apboard/forum/deploy
cp .env.example .env
nano .env Ändere mindestens diese Werte:
| Variable | Beispiel | Bedeutung |
|---|---|---|
COMPOSE_PROJECT_NAME | apboard-forum | Eindeutiger Name für diese Instanz. Nutze für jede APBoard Installation auf demselben Server einen anderen Namen. |
APBOARD_URL | https://forum.example.com | Die vollständige öffentliche Forum URL. Kein Schrägstrich am Ende. |
APBOARD_DOMAIN | forum.example.com | Nur die Domain. Traefik nutzt sie für das Routing. |
APBOARD_DB_HOST | db | Lass diesen Wert in Docker auf db. Die Datenbank wird über den Servicenamen erreicht. |
APBOARD_DB_NAME | apboard | Name der Datenbank in MariaDB. |
APBOARD_DB_USER | apboard | Datenbankbenutzer für APBoard. |
APBOARD_DB_PASSWORD | langes zufälliges Passwort | Passwort für den APBoard Datenbankbenutzer. |
APBOARD_DB_ROOT_PASSWORD | anderes langes Passwort | Root Passwort für MariaDB. Sicher speichern. |
APBOARD_FIRST_ADMIN_EMAIL | admin@example.com | E Mail Adresse für den ersten Administrator. |
APBOARD_FIRST_ADMIN_PASSWORD | starkes Admin Passwort | Passwort für den ersten Administrator. |
Die Datei .env enthält Datenbank und Mail Passwörter. Veröffentliche sie niemals.
Setze nach dem Bearbeiten restriktive Dateirechte.
chmod 600 /home/apboard/forum/deploy/.env
Die mitgelieferte docker-compose.yml erwartet einen Traefik Reverse Proxy mit einem externen Docker Netzwerk namens proxy.
Traefik nimmt Anfragen auf Port 80 und 443 an und leitet passende Anfragen an APBoard weiter.
docker network ls | grep proxy
# Falls es noch nicht existiert:
docker network create proxy Wenn du Traefik nicht nutzt, kannst du Docker trotzdem verwenden. Dann musst du die Compose Datei so anpassen, dass ein Host Port veröffentlicht wird, und Apache, nginx oder einen anderen Proxy davor setzen. Für eine produktive Erstinstallation ist Traefik oft einfacher, weil es HTTPS Zertifikate automatisch anfordern kann.
Führe Docker Compose aus dem Verzeichnis deploy/ aus.
Der erste Start kann einige Minuten dauern, weil Docker das Image baut und Composer PHP Pakete installiert.
cd /home/apboard/forum/deploy
docker compose up -d --build Mit den Logs siehst du, was passiert. Die Datenbank startet, der App Container bereitet Dateien vor und Apache beginnt mit dem Ausliefern.
docker compose ps
docker compose logs -f app
docker compose logs -f db
Die App ist bereit, wenn docker compose ps den App Container als healthy anzeigt.
Der Docker Entrypoint erledigt die Aufgaben, die bei einer normalen Installation der Web Installer übernimmt.
Er erzeugt public/assets/, public/shared/uploads/, public/sitemap.xml und die nötigen Symlinks für Bootstrap, jQuery, Font Awesome, TinyMCE, Klaro und Stylesets.
Er führt außerdem composer install aus, wenn vendor/autoload.php fehlt oder veraltet ist, schreibt config.php aus den Umgebungsvariablen und ruft setup/docker-init.php auf, um den ersten Admin anzulegen.
Die Datenbankstruktur kommt aus setup/mysql/initial-setup-dump.sql, das MariaDB beim ersten leeren Datenbankstart importiert.
Öffne die URL aus APBOARD_URL, zum Beispiel https://forum.example.com.
Melde dich unter /login/ mit APBOARD_FIRST_ADMIN_EMAIL und APBOARD_FIRST_ADMIN_PASSWORD an.
Nach dem Login geht es mit Nach der Installation weiter. Lege Kategorien und Boards an, fülle rechtliche Seiten aus und teste den Mailversand, bevor du Nutzer einlädst.