Benutzer-Werkzeuge

Webseiten-Werkzeuge


server:wikihoeglinger:installation:start

Dies ist eine alte Version des Dokuments!


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. [1, 2]

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, 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
server/wikihoeglinger/installation/start.1780437995.txt.gz · Zuletzt geändert: von 192.164.6.234