Benutzer-Werkzeuge

Webseiten-Werkzeuge


dokuwiki_in_nginx

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
dokuwiki_in_nginx [2025/09/14 15:51] – angelegt ranslitedokuwiki_in_nginx [2025/09/15 07:58] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Dokuwiki in nginx ====== ====== Dokuwiki in nginx ======
-[[Anleitung|https://www.atlantic.net/dedicated-server-hosting/how-to-install-dokuwiki-with-nginx-on-debian/]]+[[https://www.atlantic.net/dedicated-server-hosting/how-to-install-dokuwiki-with-nginx-on-debian/|Quelle]]    
 + 
 +---- 
 +      
 +Alle Abhängigkeiten installieren. 
 +<code bash [enable_keyword_links="false"]> 
 +sudo apt-get install nginx php php-fpm php-curl php-gd php-opcache php-json php-mbstring php-intl php-imagick php-xml certbot -y 
 +</code> 
 + 
 +Falls Apache mit gestartet wird, stoppen und deinstallieren 
 +<code bash> 
 +sudo systemctl stop apahce2 
 +</code> 
 +<code bash> 
 +sudo apt-get remove apache2 --purge 
 +</code> 
 + 
 +Und nginx starten. 
 +<code bash> 
 +sudo systemctl start nginx 
 +</code> 
 + 
 +Bei php-fpm auf die richtige Version von php achten.\\ 
 +Die richtige php-Version herausfinden. 
 +<code bash> 
 +php --version 
 +</code> 
 + 
 +<code bash> 
 +sudo systemctl start php8.4-fpm 
 +</code> 
 + 
 +Das Dokuwiki Verzeichnis ertsellen und betreten. 
 + 
 +<code bash> 
 +sudo mkdir -p /var/www/wiki.zonenranslite.de/html && cd /var/www/wiki.zonenranslite.de/html 
 +</code> 
 + 
 +Dokuwiki herunterladen und entpacken. 
 +<code bash> 
 +sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz 
 +</code> 
 +<code bash> 
 +sudo tar -xvzf dokuwiki-stable.tgz 
 +</code> 
 + 
 +Dokuwiki umbenennen, kann inzwischen einen anderen Namen haben. 
 +<code bash> 
 +mv dokuwiki-2025-05-14a dokuwiki 
 +</code> 
 + 
 +Eigentümer und Zugriffsrechte anpassen. 
 +<code bash> 
 +sudo chown -R www-data:www-data /var/www/wiki.zonenranslite.de/html/dokuwiki 
 +</code> 
 +<code bash> 
 +sudo chmod -R 755 /var/www/wiki.zonenranslite.de/html/dokuwiki 
 +</code> 
 + 
 + 
 +Den Serverblock erstellen. 
 +<code bash> 
 +sudo nano /etc/nginx/sites-available/wiki.zonenranslite.de 
 +</code> 
 +In der Zeile ''fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;'' die php-Version anpassen. 
 +<code nginx> 
 +server { 
 +    listen 80; 
 +    server_name wiki.zonenranslite.de; 
 +    root /var/www/wiki.zonenranslite.de/html/dokuwiki; 
 +    index doku.php index.html index.html; 
 + 
 + 
 +    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&$args last; 
 +    } 
 + 
 +    location ~ \.php$ { 
 +        include snippets/fastcgi-php.conf; 
 +        fastcgi_pass unix:/var/run/php/php8.4-fpm.sock; 
 +        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
 +        include fastcgi_params; 
 +    } 
 +
 +</code> 
 + 
 +Den Serverblock aktivieren. 
 +<code bash> 
 +sudo ln -s /etc/nginx/sites-available/wiki.zonenranslite.de /etc/nginx/sites-enabled/ 
 +</code> 
 + 
 +Auf Fehler prüfen. 
 +<code bash> 
 +sudo nginx -t 
 +</code> 
 + 
 +Falls noch nicht geschehen, den server_name_hash_bucket auf 64 erhöhen. 
 +<code bash> 
 +sudo nano /etc/nginx/nginx.conf 
 +</code>  
 +<code nginx> 
 +... 
 +http { 
 +    ... 
 +    server_names_hash_bucket_size 64; 
 +    ... 
 +
 +... 
 + 
 +</code> 
 + 
 +nginx neustarten. 
 +<code bash> 
 +sudo systemctl restart nginx 
 +</code> 
 + 
 +Jetzt sollte unter [[http://wiki.zonenranslite.de|http://wiki.zonenranslite.de]] Dokuwiki erreichbar sein.\\ 
 +\\ 
 +Mit [[http://wiki.zonenranslite.de/install.php|http://wiki.zonenranslite.de/install.php]] kann die Ersteinrichtung vorgenommen werden. \\ 
 +\\ 
 +Im Anschluß die Datei ''install.php'' löschen.\\ 
 +\\ 
 +Nun mit dem certbot ein TLS/SSL Zertifikat erstellen. 
 +<code bash> 
 +sudo certbot --nginx 
 +</code> 
 + 
 +Abschließend den externen Zugriff auf die Ordner einschränken.\\ 
 +<code bash> 
 +sudo nano /etc/nginx/sites-available/wiki.zonenranslite.de 
 +</code> 
 +<code nginx> 
 + 
 +    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&$args last; 
 +    } 
 + 
 +    location ~ \.php$ { 
 +        include snippets/fastcgi-php.conf; 
 +        fastcgi_pass unix:/var/run/php/php8.4-fpm.sock; 
 +        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
 +        include fastcgi_params; 
 +    } 
 + 
 +    # Verweigert Zugriff auf die Ordner data, conf, bin, inc, vendor 
 +    location ^~ /data/ { 
 +        return 404; 
 +    } 
 + 
 +    location ^~ /conf/ { 
 +        return 404; 
 +    } 
 + 
 +    location ^~ /bin/ { 
 +        return 404; 
 +    } 
 + 
 +    location ^~ /inc/ { 
 +        return 404; 
 +    } 
 + 
 +    location ^~ /vendor/ { 
 +        return 404; 
 +    } 
 + 
 +</code>
dokuwiki_in_nginx.1757865072.txt.gz · Zuletzt geändert: (Externe Bearbeitung)