diff --git a/ansible/roles/dokuwiki-and-nginx/defaults/main.json b/ansible/roles/dokuwiki-and-nginx/defaults/main.json new file mode 100644 index 0000000..22367fe --- /dev/null +++ b/ansible/roles/dokuwiki-and-nginx/defaults/main.json @@ -0,0 +1,5 @@ +{ + "var_dokuwiki_and_nginx_directory": "/opt/dokuwiki", + "var_dokuwiki_and_nginx_domain": "dokuwiki.example.org", + "var_dokuwiki_and_nginx_tls_enable": true +} diff --git a/ansible/roles/dokuwiki-and-nginx/info.md b/ansible/roles/dokuwiki-and-nginx/info.md new file mode 100644 index 0000000..8cbeec2 --- /dev/null +++ b/ansible/roles/dokuwiki-and-nginx/info.md @@ -0,0 +1,3 @@ +## Beschreibung + +- zur Einrichtung von [nginx](../nginx) als Reverse-Proxy für [DokuWiki](../dokuwiki) diff --git a/ansible/roles/dokuwiki-and-nginx/tasks/main.json b/ansible/roles/dokuwiki-and-nginx/tasks/main.json new file mode 100644 index 0000000..e0b7959 --- /dev/null +++ b/ansible/roles/dokuwiki-and-nginx/tasks/main.json @@ -0,0 +1,35 @@ +[ + { + "name": "deactivate default site", + "become": true, + "ansible.builtin.file": { + "state": "absent", + "dest": "/etc/nginx/sites-enabled/default" + } + }, + { + "name": "emplace configuration | data", + "become": true, + "ansible.builtin.template": { + "src": "conf.j2", + "dest": "/etc/nginx/sites-available/{{var_dokuwiki_and_nginx_domain}}" + } + }, + { + "name": "emplace configuration | link", + "become": true, + "ansible.builtin.file": { + "state": "link", + "src": "/etc/nginx/sites-available/{{var_dokuwiki_and_nginx_domain}}", + "dest": "/etc/nginx/sites-enabled/{{var_dokuwiki_and_nginx_domain}}" + } + }, + { + "name": "restart nginx", + "become": true, + "ansible.builtin.systemd_service": { + "state": "restarted", + "name": "nginx" + } + } +] diff --git a/ansible/roles/dokuwiki-and-nginx/templates/conf.j2 b/ansible/roles/dokuwiki-and-nginx/templates/conf.j2 new file mode 100644 index 0000000..085847c --- /dev/null +++ b/ansible/roles/dokuwiki-and-nginx/templates/conf.j2 @@ -0,0 +1,15 @@ +server { + listen 80; + listen [::]:80; + listen 443 ssl; + listen [::]:443 ssl; + + server_name {{var_dokuwiki_and_nginx_domain}}; + +{% if var_dokuwiki_and_nginx_tls_enable %} + ssl_certificate /etc/ssl/fullchains/{{var_dokuwiki_and_nginx_domain}}.pem; + ssl_certificate_key /etc/ssl/private/{{var_dokuwiki_and_nginx_domain}}.pem; +{% endif %} + + document_root {{var_dokuwiki_and_nginx_directory}} +}