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
|
---|