====== Installation ======
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//.
===== System vorbereiten und PHP installieren =====
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
===== DokuWiki herunterladen und installieren =====
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
===== Datenverzeichnis auf den USB-Speicher verschieben =====
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';
===== Nginx für wiki.hoeglinger.name konfigurieren =====
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
===== Daten sollen auf einem eigenen Datenlaufwerk liegen =====
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
===== HTTPS mit Let's Encrypt einrichten =====
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.
===== Abschluss der Installation =====
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