====== 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