source: main/trunk/greenstone3/src/ansible-playbooks/reverse-proxy-playbook.yml@ 38559

Last change on this file since 38559 was 38559, checked in by davidb, 5 months ago

Additional set_facts added for composite domain_url

File size: 2.6 KB
Line 
1---
2- hosts: localhost
3 connection: local
4 become: true
5 vars_files:
6 - vars/default-core.yml
7
8 tasks:
9 - name: Upgrading Ansible to use 'aptitute' as package installation manager
10 apt: name=aptitude update_cache=yes state=latest force_apt_get=yes
11
12 - name: Install prerequisites
13 apt: name={{ item }} update_cache=yes state=latest
14 loop: [ 'python3-certbot-apache' ]
15
16 - name: Install Apache2
17 apt: name=apache2 update_cache=yes state=latest
18
19 - name: Enable Apache2 Modules
20 shell: /usr/sbin/a2enmod rewrite headers proxy proxy_http proxy_wstunnel
21
22 - name: Deriving 'gsdl3servlet_internal_domain_url'
23 set_fact:
24 gsdl3servlet_internal_domain_url: "{{ gsdl3servlet_internal | gsdl3servlet_domain_url() }}"
25
26 - name: Adding 'gsdl3servlet_internal_domain_url' to 'gsdl3servlet_internal'
27 set_fact:
28 gsdl3servlet_internal: "{{ gsdl3servlet_internal | combine ({'domain_url': gsdl3servlet_internal_domain_url}) }}"
29
30 - name: Deriving 'gsdl3servlet_external_domain_url'
31 set_fact:
32 gsdl3servlet_external_domain_url: "{{ gsdl3servlet_external | gsdl3servlet_domain_url() }}"
33
34 - name: Adding 'gsdl3servlet_external_domain_url' to 'gsdl3servlet_external'
35 set_fact:
36 gsdl3servlet_external: "{{ gsdl3servlet_external | combine ({'domain_url': gsdl3servlet_external_domain_url}) }}"
37
38 - name: Set up Apache2 virtualhost
39 template:
40 src: "files/gs3-apache.conf.j2"
41 dest: "/etc/apache2/sites-available/{{ apache2_revproxy_config.config_root_name }}.conf"
42
43 - name: Adjusting Greenstone3 installations index.html to work in Apache2 DocumentRoot
44 ansible.builtin.replace:
45 path: "{{ gsdl3srchome }}/web/index.html"
46 #regexp: 'href="'
47 #line: 'href="{{ gsdl3servlet_external.context }}/'
48 #regexp: 'href="(?!http://|/{{gsdl3servlet_external.context}}/)'
49 regexp: 'href="(?!http://|/)'
50 replace: 'href="/{{ gsdl3servlet_external.context }}/'
51 ## dest: "/etc/apache2/sites-available/{{ apache2_revproxy_config.config_root_name }}.conf"
52
53 - name: Enable new site
54 shell: /usr/sbin/a2ensite {{ apache2_revproxy_config.config_root_name }}.conf
55 notify: Reload Apache
56
57# - name: "UFW - Allow HTTP on port {{ gsdl3servlet_external.port | default('80',true) }}"
58# ufw:
59# rule: allow
60# port: "{{ gsdl3servlet_external.port | default('80',true) }}"
61# proto: tcp
62
63 handlers:
64 - name: Reload Apache
65 service:
66 name: apache2
67 state: reloaded
68
69 - name: Restart Apache
70 service:
71 name: apache2
72 state: restarted
Note: See TracBrowser for help on using the repository browser.