So installierst du DokuWiki unter Debian 12

DokuWiki ist eine einfache, vielseitige Open-Source-Wikisoftware, die keine Datenbank benötigt. Sie ist bekannt für ihre einfache Pflege, Lesbarkeit und Benutzerverwaltung und eignet sich daher ideal für die Erstellung und Verwaltung von Dokumentationen in Unternehmen oder gemeinschaftlichen Umgebungen. Die mit PHP betriebene, vielseitige Wiki-Software und die integrierten Zugriffskontrollen (ACL) unterstützen die wichtigsten Authentifizierungsverfahren. DokuWiki ist einfach zu verwalten, zu installieren, zu warten und von einem Host auf einen anderen zu übertragen.

In dieser Anleitung führen wir dich durch die Installation von DokuWiki auf dem Debian 12 Server. Du wirst DokuWiki mit dem LAMP-Stack (Apache2, MariaDB und PHP), UFW und SSl/TLS-Zertifikaten über Letsencyrpt installieren.

Voraussetzungen

Um mit diesem Leitfaden fortzufahren, musst du folgende Voraussetzungen erfüllen:

  • Einen Debian 12 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen Domainnamen, der auf die IP-Adresse des Servers zeigt.

Installieren der Abhängigkeiten

Standardmäßig ist das DokuWiki-Paket im Debian-Repository verfügbar. Um jedoch sicherzustellen, dass du die neueste Version von DokuWiki installiert hast, musst du DokuWiki manuell auf deinem Debian-Server installieren.

In diesem Abschnitt installierst du die Abhängigkeiten für DokuWiki, einschließlich der LAMP STack-Pakete (Apache2, MariaDB und PHP), UFW und Certbot.

Bevor du beginnst, aktualisiere dein Debian-Repository mit dem unten stehenden Befehl.

sudo apt update

Installiere die Pakete LAMP Stack, UFW und Certbot mit dem folgenden Befehl apt install. Gib Y ein und drücke ENTER, wenn du dazu aufgefordert wirst.

sudo apt install apache2 mariadb-server php libapache2-mod-php php-xml php-mbstring php-zip php-intl php-gd ufw certbot python3-certbot-apache

deps installieren

Sobald die Installation abgeschlossen ist, überprüfe den Status des Apache- und MariaDB-Dienstes, um sicherzustellen, dass der Dienst läuft.

Führe den folgenden Befehl aus, um den apache2-Dienst zu überprüfen.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Wenn apache2 läuft, solltest du die Ausgabe „active (running)“ erhalten. Und die Ausgabe „enabled“ bestätigt, dass apache2 beim Systemstart gestartet wird.

apache2 überprüfen

Führe nun den folgenden Befehl aus, um den mariadb-Dienst zu überprüfen.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Vergewissere dich, dass der mariadb-Dienst auf deinem Debian-Rechner „aktiviert“ und „aktiv (läuft)“ ist.

verifiziere mariadb

UFW konfigurieren

In dieser Anleitung wirst du deinen Debian-Server mit UFW (Uncomplicated Firewall) absichern. In diesem Fall musst du den SSH-Port für deinen Fernzugriff und die Ports für die HTTP- und HTTPS-Protokolle öffnen, um die DokuWiki-Installation auszuführen.

Führe den folgenden Befehl aus, um die Profile OpenSSH und„WWW Full“ zur UFW hinzuzufügen.

Das OpenSSH-Profil öffnet den standardmäßigen SSh-Port 22, während das „WWW Full“-Profil sowohl HTTP- als auch HTTPS-Ports öffnet.

sudo ufw allow OpenSSH
sudo ufw allow 'WWW Full'

Führe nun den folgenden Befehl aus, um UFW auf deinem Debian-Rechner zu starten und zu aktivieren.

sudo ufw enable

Gib y ein, wenn du zur Bestätigung aufgefordert wirst, und du solltest eine Ausgabe wie„Firewall ist aktiv und beim Systemstart aktiviert“ erhalten. Die UFW wird beim Systemstart automatisch ausgeführt.

ufw-Einrichtung

Führe abschließend den folgenden Befehl aus, um den UFW-Status zu überprüfen. Vergewissere dich, dass sowohl das OpenSSH- als auch das „WWW Full“-Profil in deinen UFW-aktivierten Regeln aufgeführt sind.

sudo ufw status

ufw verifizieren

Konfigurieren der php.ini

Im folgenden Abschnitt wirst du PHP konfigurieren, indem du die Standarddatei php.ini änderst und einige Konfigurationen für die DokuWiki-Installation anpasst.

Öffne die PHP-Konfigurationsdatei„/etc/php/8.2/apache2/php.ini“ mit dem Editor nano.

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

Ändere die Standardkonfiguration wie folgt ab. Achte darauf, dass du den Parameter memory_limit an deinen aktuellen Server-RAM anpasst.

memory_limit=256M
upload_max_filesize=32M
post_max_size=32M
max_execution_time=60

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den apache2-Dienst neu zu starten und deine Änderungen wirksam werden zu lassen.

sudo systemctl restart apache2

MariaDB Server konfigurieren

Nachdem du PHP konfiguriert hast, musst du als Nächstes deine MariaDB Serverinstallation konfigurieren und eine neue Datenbank und einen neuen Benutzer anlegen, der DokuWiki verwenden soll.

Starte den MariaDB-Konfigurationsprozess, indem du den unten stehenden Befehl mariadb-secure-installation ausführst.

sudo mariadb-secure-installation

Gib Y ein, wenn du gefragt wirst, ob die neue Konfiguration auf MariaDB angewendet werden soll. Du kannst auch n für No eingeben, um sie abzulehnen. Im Folgenden findest du einige der MariaDB-Konfigurationen, zu denen du aufgefordert wirst:

  • Die Standard-MariaDB-Installation enthält kein Passwort. 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.

Nachdem die MariaDB-Konfiguration abgeschlossen ist, musst du eine neue Datenbank und einen neuen Benutzer erstellen, die von DokuWiki verwendet werden sollen.

Melde dich beim MariaDB-Server an, indem du den unten stehenden Befehl mariadb ausführst. 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 dokuwikidb, den Benutzer dokuwiki und das Passwort„p4ssword“ zu erstellen. Achte darauf, dass du das Passwort mit deinem neuen Passwort änderst.

CREATE DATABASE dokuwikidb;
CREATE USER dokuwiki@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON dokuwikidb.* TO dokuwiki@localhost;
FLUSH PRIVILEGES;

Datenbankbenutzer anlegen

Als Nächstes überprüfst du den Benutzer dokuwiki, um die Rechte für die Datenbank dokuwikidb sicherzustellen.

SHOW GRANTS FOR dokuwiki@localhost;

In der folgenden Ausgabe siehst du, dass du den Benutzer dokuwiki mit vollen Rechten für die Datenbank dokuwikidb konfiguriert hast.

show dtabase user

Zum Schluss gibst du quit ein, um den MariaDB-Server zu verlassen und mit dem nächsten Schritt fortzufahren.

Herunterladen des DokuWiki-Quellcodes

In diesem Abschnitt lädst du den DokuWiki-Quellcode herunter und richtest das Installationsverzeichnis mit den richtigen Rechten ein.

Wechsle in das Verzeichnis /var/www/ und lade die neueste stabile Version von DokuWiki mit dem unten stehenden wget-Befehl herunter.

cd /var/www/
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Entpacke nun die Datei dokuwiki-stable.tgz und benenne das entpackte Verzeichnis in dokuwiki um. Das bedeutet, dass dein DokuWiki-Installationsverzeichnis unter /var/www/dokuwiki zu finden sein wird.

tar xzvf dokuwiki-stable.tgz
sudo mv dokuwiki-*a dokuwiki

Zum Schluss führst du den unten stehenden Befehl aus, um den Eigentümer des Verzeichnisses /var/www/dokuwiki auf den Benutzer www-data und den Benutzer www-data zu ändern. Auf diese Weise kann dein Apache2-Webserver den Quellcode von DokuWiki lesen.

sudo chown -R www-data:www-data /var/www/dokuwiki

Apache2 Virtual Host konfigurieren

Nachdem du DokuWiki heruntergeladen hast, erstellst du nun eine neue Apache2 Virtual Host-Datei, um DokuWiki auszuführen. Vergewissere dich, dass du deinen Domainnamen bereit hast, bevor du beginnst. In diesem Beispiel werden wir die Domain wiki.hwdomain.io verwenden.

Führe den folgenden Befehl im nano-Editor aus, um eine neue Konfiguration für den virtuellen Apache2-Host /etc/apache2/sites-available/dokuwiki.conf zu erstellen.

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

Füge die folgende Konfiguration ein und achte darauf, dass du den Domainnamen wiki.hwdomain.io durch deine Domain ersetzt.

<VirtualHost *:80>
    ServerName    wiki.hwdomain.io 
    DocumentRoot  /var/www/dokuwiki
<Directory ~ "/var/www/dokuwiki/(bin/|conf/|data/|inc/)">
<IfModule mod_authz_core.c>
AllowOverride All
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
</Directory>

ErrorLog   /var/log/apache2/wiki.hwdomain.io_error.log
CustomLog  /var/log/apache2/wiki.hwdomain.io_access.log combined
</VirtualHost>

Wenn du fertig bist, speichere und schließe die Datei.

Als Nächstes führst du den folgenden Befehl aus, um den virtuellen Host dokuwiki.conf zu aktivieren, und überprüfst die Apache-Syntax, um sicherzustellen, dass kein Fehler vorliegt.

sudo a2ensite dokuwiki.conf
sudo apachectl configtest

Wenn du eine korrekte Syntax hast und kein Fehler auftritt, siehst du die Ausgabe„Syntax OK„.

apache2 einrichten

Zum Schluss führst du den unten stehenden Befehl aus, um den Apache2-Server neu zu starten und deine Änderungen zu übernehmen.

sudo systemctl restart apache2

DokuWiki mit SSL/TLS-Zertifikaten absichern

Jetzt läuft dein DokuWiki und ist zugänglich. Um jedoch sicherzustellen, dass deine Installation sicher ist, musst du SSl/TLS-Zertifikate über Letsencrypt einrichten.

Führe den unten stehenden Befehl certbot aus, um SSL/TLS-Zertifikate für deinen DokuWiki-Domainnamen zu generieren. Achte darauf, dass du die E-Mail-Adresse und den Domainnamen mit deinen Daten änderst.

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

Sobald der Vorgang abgeschlossen ist, sollte deine DokuWiki-Installation automatisch mit HTTPS konfiguriert sein. Und deine SSL/TLS-Zertifikate sollten im Verzeichnis /etc/letsencrypt/live/yourdomain.com verfügbar sein.

Installation von DokuWiki über den Web-Installer

Öffne deinen Webbrowser und rufe den Domainnamen für die DokuWiki-Installation auf, z.B. https:/wiki.hwdomain.io/install.php. Du solltest das DokuWiki-Web-Installationsprogramm sehen.

Wähle die Option ACL aktivieren, gib deinen Admin-Benutzer, deine E-Mail und dein Passwort für DokuWiki ein und klicke dann auf Speichern.

dokuwiki installieren

Wenn die Installation erfolgreich war, solltest du die Meldung„The configuration was finished successfully…“ erhalten.

PictuInstallation beendetre

Gehe nun zurück zu deinem Terminal und lösche das Skript install.php mit dem unten stehenden Befehl.

sudo rm /var/www/dokuwiki/install.php

Klicke anschließend auf den Link„Dein neues DokuWiki„, um fortzufahren. Du solltest dann die DokuWiki-Homepage wie die folgende sehen.

dokuwiki-Startseite

Klicke nun auf die Schaltfläche Login und du solltest die folgende DokuWiki-Login-Seite erhalten.

Login-Seite

Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Anmelden. Wenn du erfolgreich warst, solltest du das DokuWiki-Dashboard sehen.

dockuwiki Dashboard

Fazit

Herzlichen Glückwunsch! Du hast nun die Installation von DokuWiki auf dem Debian 12-Server abgeschlossen. Du hast DokuWiki mit dem LAMP-Stack (Apache2, MariaDB und PHP) installiert. Außerdem hast du deine DokuWiki-Installation mit UFW (Uncomplicated Firewall) und SSL/TLS-Zertifikaten von Letsencrypt abgesichert.

Das könnte dich auch interessieren …