Diese Anleitung beschreibt die Installation von DokuWiki auf Ubuntu 26.04 LTS mit Nginx, HTTPS-Absicherung und einer ausgelagerten Datenpartition auf /mnt/dataUSB/dokuwiki/data.
DokuWiki benötigt PHP und einige Erweiterungen, aber keine Datenbank.
sudo apt update && sudo apt upgrade -y sudo apt install nginx php-fpm php-xml php-mbstring php-gd php-json -y
Das Wiki wird standardmäßig unter /var/www/dokuwiki abgelegt.
cd /var/www sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz sudo tar -xvzf dokuwiki-stable.tgz sudo mv dokuwiki-*/ dokuwiki sudo rm dokuwiki-stable.tgz
Um die Daten auf /mnt/dataUSB zu speichern, verschieben wir das data-Verzeichnis und passen die Pfade an. 1. Verzeichnis erstellen und verschieben:
sudo mkdir -p /mnt/dataUSB/dokuwiki sudo mv /var/www/dokuwiki/data /mnt/dataUSB/dokuwiki/
2. Berechtigungen setzen: Nginx (www-data) benötigt Schreibzugriff auf beide Orte.
sudo chown -R www-data:www-data /var/www/dokuwiki sudo chown -R www-data:www-data /mnt/dataSSD/dokuwiki
3. Pfad in DokuWiki konfigurieren: In der Datei conf/local.php im Wiki-Verzeichnis, das neue Datenverzeichnis zu verweisen.
sudo nano /var/www/dokuwiki/conf/local.php
Die Zeile wie folgt ändern:
$conf['savedir'] = '/mnt/dataSSD/dokuwiki/data';
Sollte die Datei HttpGateway.conf existieren, dann deaktivieren
sudo mv /etc/nginx/conf.d/HttpGateway.conf /etc/nginx/conf.d/HttpGateway.conf.bak
Prüfe die Datei /etc/nginx/nginx.conf Bitte öffne die Datei:
sudo nano /etc/nginx/nginx.conf
Und füge innerhalb des http { … }‑Blocks, direkt unter der Zeile:
include /etc/nginx/conf.d/*.conf;
diese Zeile ein:
include /etc/nginx/sites-enabled/*.conf;
Der Block muss danach so aussehen:
http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; server_tokens off; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*.conf; }
Speichern: CTRL+O und Enter. Beenden: CTRL+X Falls die beiden Verzeichnisse noch nicht existieren, müssen sie noch angelegt werden
sudo mkdir /etc/nginx/sites-available sudo mkdir /etc/nginx/sites-enabled
Erstellen Sie eine neue Site-Konfiguration.
sudo nano /etc/nginx/sites-available/dokuwiki.conf
Inhalt (angepasst für Nginx-Best-Practices):
server { listen 80; server_name wiki.hoeglinger.name; # Leite alles auf HTTPS um return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name wiki.hoeglinger.name; root /var/www/dokuwiki; index index.php; # SSL-Zertifikate (Let's Encrypt) ssl_certificate /etc/letsencrypt/live/wiki.hoeglinger.name/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/wiki.hoeglinger.name/privkey.pem; # DokuWiki Standard location / { try_files $uri $uri/ @dokuwiki; } location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1 last; } location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/run/php/php8.5-fpm.sock; } # Sicherheitsregeln location ~ /(data|conf|bin|inc|vendor)/ { deny all; } }
Sym-Link neu setzen:
sudo ln -s /etc/nginx/sites-available/dokuwiki.conf /etc/nginx/sites-enabled/dokuwiki.conf
Aktivieren Sie die Seite:
sudo ln -s /etc/nginx/sites-available/dokuwiki /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx
Ordnerstruktur korrekt anlegen
sudo mkdir -p /mnt/dataSSD/dokuwiki/data sudo chown -R www-data:www-data /mnt/dataSSD/dokuwiki sudo chmod -R 775 /mnt/dataSSD/dokuwiki
DokuWiki‑Installation liegt vermutlich unter
/var/www/dokuwiki
Dort gibt es standardmäßig:
/var/www/dokuwiki/data
Wir ersetzen diesen Ordner durch einen sauberen Symlink. Vorhandenen data‑Ordner verschieben (falls er existiert)
sudo mv /var/www/dokuwiki/data /var/www/dokuwiki/data_backup
Symlink setzen
sudo ln -s /mnt/dataSSD/dokuwiki/data /var/www/dokuwiki/data
Damit zeigt DokuWiki intern weiterhin auf data/, aber die echten Daten liegen auf der SSD. Nginx testen
sudo nginx -t
Wenn OK:
sudo systemctl reload nginx
Nutzen Sie Certbot, um das SSL-Zertifikat automatisch zu erstellen und in Nginx einzubinden.
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d wiki.hoeglinger.name
Folgen Sie den Anweisungen, um eine automatische Umleitung von HTTP auf HTTPS zu aktivieren.
Rufen Sie im Browser https://wiki.hoeglinger.name auf, um den Administrator-Account zu erstellen. Löschen Sie danach aus Sicherheitsgründen die Installationsdatei:
sudo rm /var/www/dokuwiki/install.php