ansible-base/roles/dokuwiki-and-nginx/templates/conf.j2
2024-07-30 13:29:12 +00:00

71 lines
1.9 KiB
Django/Jinja

{% 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_dokuwiki_and_nginx_domain}};
listen 80;
listen [::]:80;
{% if (var_dokuwiki_and_nginx_tls_mode == 'force') %}
return 301 https://$http_host$request_uri;
{% else %}
{{ dokuwiki_common() }}
{% endif %}
}
{% if (var_dokuwiki_and_nginx_tls_mode != 'disable') %}
server {
server_name {{var_dokuwiki_and_nginx_domain}};
listen [::]:443 ssl http2;
listen 443 ssl http2;
ssl_certificate_key /etc/ssl/private/{{var_dokuwiki_and_nginx_domain}}.pem;
ssl_certificate /etc/ssl/fullchains/{{var_dokuwiki_and_nginx_domain}}.pem;
include /etc/nginx/ssl-hardening.conf;
{{ dokuwiki_common() }}
}
{% endif %}