diff --git a/request-tracker/defaults/main.yml b/request-tracker/defaults/main.yml index 69cb68ae3b7e877f5fb8190d1a87eab17ce81d52..e0f05adb7bb510ba651193eddbf2df1995754564 100644 --- a/request-tracker/defaults/main.yml +++ b/request-tracker/defaults/main.yml @@ -1,3 +1,4 @@ --- rt_enable_acmetool: False rt_workers: 4 +rt_webserver: "nginx" diff --git a/request-tracker/handlers/main.yml b/request-tracker/handlers/main.yml index c9e3c4595492c259f165e04b6a2213805f8c5941..69d67610b33d0f7e7bd95cc576ed16e17937b7fc 100644 --- a/request-tracker/handlers/main.yml +++ b/request-tracker/handlers/main.yml @@ -1,3 +1,4 @@ +# TODO apache2? conditional? - name: restart RT service: name=rt4-fcgi state=restarted diff --git a/request-tracker/tasks/main.yml b/request-tracker/tasks/main.yml index 4f2a8e3b6244c2b8fa8ebcf0ac7c11d712ba24da..333ce1136481f5605c44c77909c1916e94ed6216 100644 --- a/request-tracker/tasks/main.yml +++ b/request-tracker/tasks/main.yml @@ -62,6 +62,24 @@ - import_tasks: postgres.yml +- name: Have RT packages for nginx installed + apt: + name: rt4-fcgi + state: present + install_recommends: no + when: rt_webserver == "nginx" + tags: + - rt + +- name: Have RT packages for apache2 installed + apt: + name: rt4-apache2 + state: present + install_recommends: no + when: rt_webserver == "apache2" + tags: + - rt + - name: Have RT packages installed apt: name: "{{ item }}" @@ -69,48 +87,77 @@ install_recommends: no with_items: - request-tracker4 - - rt4-fcgi - rt4-db-postgresql tags: - rt -- name: Have nginx config for RT installed - template: - src: nginx-rt.j2 - dest: /etc/nginx/sites-available/rt - tags: - - rt - notify: - - restart nginx +- name: Configure nginx + when: rt_webserver == "nginx" + block: + - name: Have nginx config for RT installed + template: + src: nginx-rt.j2 + dest: /etc/nginx/sites-available/rt + tags: + - rt + notify: + - restart nginx + + - name: Have nginx default config removed + file: + path: /etc/nginx/sites-enabled/default + state: absent + tags: + - rt + notify: + - restart nginx + + - name: Have nginx config for RT activated + file: + state: link + src: /etc/nginx/sites-available/rt + dest: /etc/nginx/sites-enabled/rt + tags: + - rt + notify: + - restart nginx + + - name: Have fcgi env installed + template: + src: fcgi-env.j2 + dest: /etc/default/rt4-fcgi + owner: root + group: root + mode: 0644 + tags: + - rt -- name: Have nginx default config removed - file: - path: /etc/nginx/sites-enabled/default - state: absent - tags: - - rt - notify: - - restart nginx +- name: Configure apache2 + when: rt_webserver == "apache2" + block: + - name: Install config + template: + src: apache2.j2 + dest: /etc/apache2/sites-available/rt.conf + owner: root + group: root + mode: 0644 + tags: + - rt + - config + notify: + - reload apache2 -- name: Have nginx config for RT activated - file: - state: link - src: /etc/nginx/sites-available/rt - dest: /etc/nginx/sites-enabled/rt - tags: - - rt - notify: - - restart nginx - -- name: Have fcgi env installed - template: - src: fcgi-env.j2 - dest: /etc/default/rt4-fcgi - owner: root - group: root - mode: 0644 - tags: - - rt + - name: Have apache2 config for RT activated + file: + state: link + src: /etc/apache2/sites-available/rt + dest: /etc/apache2/sites-enabled/rt + tags: + - rt + - config + notify: + - reload apache2 - name: Have DB for RT initialized shell: "rt-setup-database --action init --skip-create && touch /etc/request-tracker4/.db_initialized" @@ -130,11 +177,12 @@ tags: - rt -- name: Have RT up und running +- name: Have RT up und running (nginx) service: name: "{{ item }}" state: started enabled: yes + when: rt_webserver == "nginx" with_items: - rt4-fcgi - request-tracker4 @@ -144,3 +192,15 @@ - restart nginx tags: - rt + +- name: Have RT up und running (apache2) + service: + name: "{{ item }}" + state: started + enabled: yes + when: rt_webserver == "apache2" + with_items: + - apache2 + - request-tracker4 + tags: + - rt diff --git a/request-tracker/templates/apache2.j2 b/request-tracker/templates/apache2.j2 new file mode 100644 index 0000000000000000000000000000000000000000..325ff9c379b33b6b2528cd6f474c83ef1c9af7d3 --- /dev/null +++ b/request-tracker/templates/apache2.j2 @@ -0,0 +1,22 @@ +# TODO /etc/request-tracker4/apache2-fastcgi.conf +FastCgiServer /opt/rt4/sbin/rt-server.fcgi -processes 5 -idle-timeout 300 + +<VirtualHost {{rt_webdomain}}> + AddDefaultCharset UTF-8 + + ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/ + + DocumentRoot "/opt/rt4/share/html" + <Location /> + <IfVersion >= 2.4> # For Apache 2.4 + Require all granted + </IfVersion> + <IfVersion < 2.4> # For Apache 2.2 + Order allow,deny + Allow from all + </IfVersion> + + Options +ExecCGI + AddHandler fastcgi-script fcgi + </Location> +</VirtualHost> \ No newline at end of file