| FOTO | AUTO | EDV | AUDIO |

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
edv:woody:dokuwiki [11 06 2025 15 : 06] – [Plugin sidebar] André Reichert-Creutzedv:woody:dokuwiki [15 14 2025 20 : 14] (aktuell) André Reichert-Creutz
Zeile 1: Zeile 1:
 ======DokuWiki====== ======DokuWiki======
 +====== Installation von DokuWiki unter DietPi mit lighttpd und HTTPS ======
  
-=====Plugin sidebar===== +Diese Anleitung beschreibt die minimalistische und optimierte Installation von DokuWiki auf einem DietPi-System.   
-==== Keine störende Sidebar in Admin und Edit ====+Als Webserver wird '''lighttpd''' verwendet. Die Installation ist rein dateibasiert und kommt ohne Datenbank aus.   
 +Die Absicherung der Verbindung erfolgt über HTTPS mit einem kostenlosen Let's Encrypt Zertifikat. 
 + 
 +===== Voraussetzungen ===== 
 +  * Ein laufendes DietPi-System 
 +  * '''lighttpd''' ist installiert und über Port 80 erreichbar (z.B. via `dietpi-software`) 
 +  * Root- oder sudo-Zugriff auf die Konsole 
 +  * Eine aktive Internetverbindung 
 +  * Ein Domainname, der auf die IP-Adresse des Servers zeigt: 
 +<code>creutz.spdns.de → 192.168.178.3</code> 
 + 
 +===== 1. PHP und benötigte Erweiterungen installieren ===== 
 + 
 +<code bash> 
 +dietpi-software install 89 
 +apt update 
 +apt install php-xml php-gd php-intl php-mbstring -y 
 +</code> 
 + 
 +===== 2. PHP-FPM in lighttpd aktivieren ===== 
 + 
 +<code bash> 
 +lighttpd-enable-mod fastcgi 
 +lighttpd-enable-mod fastcgi-php-fpm 
 +systemctl restart php8.2-fpm 
 +systemctl restart lighttpd 
 +</code> 
 + 
 +===== 3. DokuWiki herunterladen und installieren ===== 
 + 
 +<code bash> 
 +cd /tmp 
 +wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz 
 +tar xvf dokuwiki-stable.tgz 
 +mv dokuwiki-*/ /var/www/dokuwiki 
 +chown -R www-data:www-data /var/www/dokuwiki 
 +chmod -R 755 /var/www/dokuwiki 
 +</code> 
 + 
 +===== 4. Angepasste lighttpd-Konfiguration ===== 
 + 
 +Bearbeiten der Datei **/etc/lighttpd/lighttpd.conf**: 
 + 
 +<code> 
 +server.modules = ( 
 +    "mod_indexfile", 
 +    "mod_access", 
 +    "mod_alias", 
 +    "mod_redirect", 
 +    "mod_rewrite", 
 +    "mod_openssl", 
 +    "mod_fastcgi", 
 +    "mod_setenv" 
 +
 + 
 +server.document-root = "/var/www/dokuwiki" 
 +server.upload-dirs   = ( "/var/cache/lighttpd/uploads"
 +server.errorlog      = "/var/log/lighttpd/error.log" 
 +server.pid-file      = "/run/lighttpd.pid" 
 +server.username      = "www-data" 
 +server.groupname     = "www-data" 
 +server.port          = 80 
 + 
 +index-file.names = ( "index.php", "index.html"
 +url.access-deny = ( "~", ".inc", ".htaccess", "VERSION", "COPYING"
 +static-file.exclude-extensions = ( ".php", ".pl", ".fcgi"
 + 
 +$HTTP["url"] =~ "^/(data|conf|bin|inc)/"
 +    url.access-deny = (""
 +
 +url.rewrite-if-not-file = ( 
 +    "^/_media/(.*)"  => "lib/exe/fetch.php?media=$1", 
 +    "^/_detail/(.*)" => "lib/exe/detail.php?media=$1", 
 +    "^/_export/([^/]+)/(.*)" => "doku.php?do=export_$1&id=$2", 
 +    "^(.*)" => "doku.php?id=$1" 
 +
 + 
 +fastcgi.server = ( 
 +    ".php" => ( 
 +        "localhost" => ( 
 +            "socket" => "/run/php/php8.2-fpm.sock", 
 +            "broken-scriptfilename" => "enable" 
 +        ) 
 +    ) 
 +
 + 
 +$SERVER["socket"] == ":80"
 +    url.redirect = ( 
 +        "" => "https://${url.authority}${url.path}${qsa}" 
 +    ) 
 +
 + 
 +$SERVER["socket"] == ":443"
 +    ssl.engine  = "enable" 
 +    ssl.pemfile = "/etc/letsencrypt/live/creutz.spdns.de/fullchain.pem" 
 +    ssl.privkey = "/etc/letsencrypt/live/creutz.spdns.de/privkey.pem" 
 +    ssl.ca-file = "/etc/letsencrypt/live/creutz.spdns.de/chain.pem" 
 + 
 +    ssl.use-sslv3 = "disable" 
 +    ssl.honor-cipher-order = "enable" 
 +    ssl.cipher-list = "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256" 
 +
 + 
 +server.feature-flags += ("server.h2proto" => "enable"
 +server.feature-flags += ("server.h2c"     => "enable"
 +setenv.add-response-header = ( 
 +    "X-Frame-Options" => "SAMEORIGIN", 
 +    "X-Content-Type-Options" => "nosniff", 
 +    "X-XSS-Protection" => "1; mode=block" 
 +
 +</code> 
 + 
 +===== 5. HTTPS mit Let's Encrypt einrichten ===== 
 + 
 +<code bash> 
 +dietpi-letsencrypt 
 +</code> 
 + 
 +Gib als Domain **creutz.spdns.de** an und folge den Anweisungen.   
 +Nach Abschluss ist HTTPS automatisch aktiv. 
 + 
 +===== 6. DokuWiki im Browser einrichten ===== 
 + 
 +Öffne im Browser:   
 +<code> 
 +https://creutz.spdns.de/install.php 
 +</code> 
 + 
 +Fülle die Felder aus, lege den Admin-Account an und bestätige. 
 + 
 +===== 7. Installation absichern ===== 
 + 
 +<code bash> 
 +mv /var/www/dokuwiki/install.php /var/www/dokuwiki/install.php.bak 
 +</code> 
 + 
 +===== Ergebnis ===== 
 + 
 +  * ✅ DokuWiki läuft unter lighttpd auf DietPi 
 +  * ✅ Zugriff unter **https://creutz.spdns.de** 
 +  * ✅ Keine Datenbank nötig 
 +  * ✅ Ressourcenschonend und abgesichert 
 + 
 +====== Rechte nach Updates automatisch wiederherstellen ===== 
 +nano /usr/local/bin/dokuwiki-fix-perms.sh 
 +<code bash> 
 +#!/bin/bash 
 +DOCU_PATH="/var/www/dokuwiki" 
 + 
 +chown -R www-data:www-data "$DOCU_PATH" 
 +find "$DOCU_PATH" -type d -exec chmod 755 {} \; 
 +find "$DOCU_PATH" -type f -exec chmod 644 {} \; 
 + 
 +find "$DOCU_PATH/data"        -type d -exec chmod 775 {} \; 
 +find "$DOCU_PATH/data"        -type f -exec chmod 664 {} \; 
 +find "$DOCU_PATH/lib/plugins" -type d -exec chmod 775 {} \; 
 +find "$DOCU_PATH/lib/plugins" -type f -exec chmod 664 {} \; 
 +find "$DOCU_PATH/lib/tpl"     -type d -exec chmod 775 {} \; 
 +find "$DOCU_PATH/lib/tpl"     -type f -exec chmod 664 {} \; 
 +</code> 
 +Danach ausführen: <code bash>chmod +x /usr/local/bin/dokuwiki-fix-perms.sh</code> 
 + 
 +---- 
 +====== Plugins ====== 
 +=====Plugin sidebar: Keine störende Sidebar in Admin und Edit =====
 Die neue action.php:  Die neue action.php: 
 <code php> <code php>