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
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.
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.
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.
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
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;
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.
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„.
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.
Wenn die Installation erfolgreich war, solltest du die Meldung„The configuration was finished successfully…“ erhalten.
Picture
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.
Klicke nun auf die Schaltfläche Login und du solltest die folgende DokuWiki-Login-Seite erhalten.
Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Anmelden. Wenn du erfolgreich warst, solltest du das DokuWiki-Dashboard sehen.
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.