{% macro dokuwiki_common() %} # Maximum file upload size is 4MB - change accordingly if needed client_max_body_size 4M; client_body_buffer_size 128k; root {{var_dokuwiki_and_nginx_directory}}; index doku.php; #Remember to comment the below out when you're installing, and uncomment it when done. location ~ /(conf/|bin/|inc/|vendor/|install.php) { deny all; } #Support for X-Accel-Redirect location ~ ^/data/ { internal; } location ~ ^/lib.*\.(js|css|gif|png|ico|jpg|jpeg)$ { expires 365d; } location / { try_files $uri $uri/ @dokuwiki; } location @dokuwiki { # rewrites "doku.php/" out of the URLs if you set the userwrite setting to .htaccess in dokuwiki config page 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$ { try_files $uri $uri/ /doku.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REDIRECT_STATUS 200; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # fastcgi_pass unix:/var/run/php5-fpm.sock; #old php version } {% endmacro %} server { server_name {{var_dokuwki_and_nginx_domain}}; listen 80; listen [::]:80; {% if (var_dokuwki_and_nginx_tls_mode == "force") %} return 301 https://$http_host$request_uri; {% else %} {{ dokuwki_common() }} {% endif %} } {% if (var_element_and_nginx_tls_mode != "disable") %} server { server_name {{var_dokuwki_and_nginx_domain}}; listen [::]:443 ssl http2; listen 443 ssl http2; ssl_certificate_key /etc/ssl/private/{{var_dokuwki_and_nginx_domain}}.pem; ssl_certificate /etc/ssl/fullchains/{{var_dokuwki_and_nginx_domain}}.pem; include /etc/nginx/ssl-hardening.conf; {{ dokuwki_common() }} } {% endif %}