Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| dokuwiki_in_nginx [2025/09/14 15:51] – ranslite | dokuwiki_in_nginx [2025/09/15 07:58] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Dokuwiki in nginx ====== | ====== Dokuwiki in nginx ====== | ||
| - | [[https:// | + | [[https:// |
| + | |||
| + | ---- | ||
| + | |||
| + | Alle Abhängigkeiten installieren. | ||
| + | <code bash [enable_keyword_links=" | ||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | Falls Apache mit gestartet wird, stoppen und deinstallieren | ||
| + | <code bash> | ||
| + | sudo systemctl stop apahce2 | ||
| + | </ | ||
| + | <code bash> | ||
| + | sudo apt-get remove apache2 --purge | ||
| + | </ | ||
| + | |||
| + | Und nginx starten. | ||
| + | <code bash> | ||
| + | sudo systemctl start nginx | ||
| + | </ | ||
| + | |||
| + | Bei php-fpm auf die richtige Version von php achten.\\ | ||
| + | Die richtige php-Version herausfinden. | ||
| + | <code bash> | ||
| + | php --version | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | sudo systemctl start php8.4-fpm | ||
| + | </ | ||
| + | |||
| + | Das Dokuwiki Verzeichnis ertsellen und betreten. | ||
| + | |||
| + | <code bash> | ||
| + | sudo mkdir -p / | ||
| + | </ | ||
| + | |||
| + | Dokuwiki herunterladen und entpacken. | ||
| + | <code bash> | ||
| + | sudo wget https:// | ||
| + | </ | ||
| + | <code bash> | ||
| + | sudo tar -xvzf dokuwiki-stable.tgz | ||
| + | </ | ||
| + | |||
| + | Dokuwiki umbenennen, kann inzwischen einen anderen Namen haben. | ||
| + | <code bash> | ||
| + | mv dokuwiki-2025-05-14a dokuwiki | ||
| + | </ | ||
| + | |||
| + | Eigentümer und Zugriffsrechte anpassen. | ||
| + | <code bash> | ||
| + | sudo chown -R www-data: | ||
| + | </ | ||
| + | <code bash> | ||
| + | sudo chmod -R 755 / | ||
| + | </ | ||
| + | |||
| + | |||
| + | Den Serverblock erstellen. | ||
| + | <code bash> | ||
| + | sudo nano / | ||
| + | </ | ||
| + | In der Zeile '' | ||
| + | <code nginx> | ||
| + | server { | ||
| + | listen 80; | ||
| + | server_name wiki.zonenranslite.de; | ||
| + | root / | ||
| + | index doku.php index.html index.html; | ||
| + | |||
| + | |||
| + | location / { | ||
| + | try_files $uri $uri/ @dokuwiki; | ||
| + | } | ||
| + | |||
| + | location @dokuwiki { | ||
| + | rewrite ^/ | ||
| + | rewrite ^/ | ||
| + | rewrite ^/ | ||
| + | rewrite ^/(.*) / | ||
| + | } | ||
| + | |||
| + | location ~ \.php$ { | ||
| + | include snippets/ | ||
| + | fastcgi_pass unix:/ | ||
| + | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
| + | include fastcgi_params; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Den Serverblock aktivieren. | ||
| + | <code bash> | ||
| + | sudo ln -s / | ||
| + | </ | ||
| + | |||
| + | Auf Fehler prüfen. | ||
| + | <code bash> | ||
| + | sudo nginx -t | ||
| + | </ | ||
| + | |||
| + | Falls noch nicht geschehen, den server_name_hash_bucket auf 64 erhöhen. | ||
| + | <code bash> | ||
| + | sudo nano / | ||
| + | </ | ||
| + | <code nginx> | ||
| + | ... | ||
| + | http { | ||
| + | ... | ||
| + | server_names_hash_bucket_size 64; | ||
| + | ... | ||
| + | } | ||
| + | ... | ||
| + | |||
| + | </ | ||
| + | |||
| + | nginx neustarten. | ||
| + | <code bash> | ||
| + | sudo systemctl restart nginx | ||
| + | </ | ||
| + | |||
| + | Jetzt sollte unter [[http:// | ||
| + | \\ | ||
| + | Mit [[http:// | ||
| + | \\ | ||
| + | Im Anschluß die Datei '' | ||
| + | \\ | ||
| + | Nun mit dem certbot ein TLS/SSL Zertifikat erstellen. | ||
| + | <code bash> | ||
| + | sudo certbot --nginx | ||
| + | </ | ||
| + | |||
| + | Abschließend den externen Zugriff auf die Ordner einschränken.\\ | ||
| + | <code bash> | ||
| + | sudo nano / | ||
| + | </ | ||
| + | <code nginx> | ||
| + | |||
| + | location / { | ||
| + | try_files $uri $uri/ @dokuwiki; | ||
| + | } | ||
| + | |||
| + | location @dokuwiki { | ||
| + | rewrite ^/ | ||
| + | rewrite ^/ | ||
| + | rewrite ^/ | ||
| + | rewrite ^/(.*) / | ||
| + | } | ||
| + | |||
| + | location ~ \.php$ { | ||
| + | include snippets/ | ||
| + | fastcgi_pass unix:/ | ||
| + | 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; | ||
| + | } | ||
| + | |||
| + | </ | ||