2018-10-31 01:16:38 +00:00
- name: 'Install 3 packages : apache2, php{{ php_version }}, php{{ php_version }}-curl (debian)'
2018-02-07 00:26:57 +00:00
package :
2018-10-28 06:58:38 +00:00
#name: [u'apache2', u'php{{ php_version }}', u'php{{ php_version }}-curl'] # FAILS ('u' for Unicode strings)
#name: ['apache2', 'php{{ php_version }}', 'php{{ php_version }}-curl'] # WORKS?
2018-10-28 06:44:52 +00:00
name :
- apache2
- "php{{ php_version }}"
- "php{{ php_version }}-curl"
2018-02-07 00:26:57 +00:00
state : present
2018-10-28 06:36:34 +00:00
when : is_debian
2017-05-27 18:09:50 +00:00
tags :
- download
2018-10-31 01:16:38 +00:00
- name: 'Install 2 packages : apache2, php (ubuntu)'
2018-09-23 23:25:45 +00:00
package :
2018-10-28 06:58:38 +00:00
#name: [u'apache2', u'php'] # FAILS ('u' for Unicode strings)
#name: ['apache2', 'php'] # WORKS
name :
- apache2
- php
2018-09-23 23:25:45 +00:00
state : present
2018-10-28 06:36:34 +00:00
when : is_ubuntu
2018-09-23 23:25:45 +00:00
tags :
- download
2017-05-28 13:47:49 +00:00
2018-10-31 01:16:38 +00:00
- name : Install php{{ php_version }}-sqlite (debian-8)
package :
name : "php{{ php_version }}-sqlite"
when : is_debian and ansible_distribution_major_version == "8"
# SQLite3 no longer included in another package
- name : Install php{{ php_version }}-sqlite3 (debian-9 or ubuntu-18)
2018-05-21 13:43:44 +00:00
package :
2018-10-31 01:16:38 +00:00
name : "php{{ php_version }}-sqlite3"
when : (is_debian and ansible_distribution_major_version == "9") or is_ubuntu_18
2018-05-21 13:43:44 +00:00
2018-10-31 01:16:38 +00:00
- name: 'Install 4 packages : httpd, mod_authnz_external, php, php-curl (redhat)'
2018-02-07 00:26:57 +00:00
package :
2018-10-28 06:58:38 +00:00
#name: [u'httpd', u'php', u'php-curl', u'mod_authnz_external'] # FAILS ('u' for Unicode strings)
#name: ['httpd', 'php', 'php-curl', 'mod_authnz_external'] # WORKS
2018-10-28 06:52:13 +00:00
name :
- httpd
2018-10-31 01:16:38 +00:00
- mod_authnz_external
2018-10-28 06:52:13 +00:00
- php
- php-curl
2018-02-07 00:26:57 +00:00
state : present
2018-10-28 06:36:34 +00:00
when : is_redhat
2017-05-27 18:09:50 +00:00
tags :
- download
2018-10-28 01:06:27 +00:00
- name : Install Apache's 010-iiab.conf & proxy_ajp.conf into /etc/apache2/sites-available, from templates
2018-02-07 00:26:57 +00:00
template :
backup : yes
src : "{{ item.src }}"
dest : "{{ item.dest }}"
owner : root
group : root
2018-10-28 06:18:54 +00:00
mode : 0644
2017-05-27 18:09:50 +00:00
with_items :
2018-10-28 06:18:54 +00:00
- { src: '010-iiab.conf.j2', dest : '/etc/{{ apache_config_dir }}/010-iiab.conf' }
- { src: 'proxy_ajp.conf.j2', dest : '/etc/{{ apache_config_dir }}/proxy_ajp.conf' }
2018-09-23 23:12:22 +00:00
#- { src: 'php.ini.j2', dest: '/etc/php.ini', mode: '0644' } # @jvonau suggests removing this in https://github.com/iiab/iiab/issues/1147
2017-05-27 18:09:50 +00:00
2018-09-23 23:25:45 +00:00
# For schools that use WordPress and/or Moodle intensively. See iiab/iiab #1147
# WARNING: Enabling this (might) cause excess use of RAM or other resources?
2018-09-24 16:33:55 +00:00
- name : Enact high limits in /etc/php/{{ php_version }}/{{ apache_service }}/php.ini if using WordPress and/or Moodle intensively
2018-09-23 23:25:45 +00:00
lineinfile :
path : "/etc/php/{{ php_version }}/{{ apache_service }}/php.ini"
regexp : "{{ item.regexp }}"
line : "{{ item.line }}"
2018-09-24 16:33:55 +00:00
when : apache_high_php_limits
2018-09-23 23:25:45 +00:00
with_items :
- { regexp: '^upload_max_filesize', line : 'upload_max_filesize = 64M ; default is 2M' }
- { regexp: '^post_max_size', line : 'post_max_size = 128M ; default is 8M' }
- { regexp: '^memory_limit', line : 'memory_limit = 256M ; default is 128M' }
- { regexp: '^max_execution_time', line : 'max_execution_time = 300 ; default is 30' }
- { regexp: '^max_input_time', line : 'max_input_time = 300 ; default is 60' }
2017-05-27 18:09:50 +00:00
# remove symlinks for mpm-event, replace with mpm-prefork
2018-10-31 01:16:38 +00:00
- name : Remove both mpm_event symlinks from /etc/apache2/mods-enabled (debuntu)
2018-02-07 00:26:57 +00:00
file :
path : "/etc/apache2/mods-enabled/{{ item }}"
state : absent
2017-05-27 18:09:50 +00:00
with_items :
2018-02-07 00:26:57 +00:00
- mpm_event.conf
- mpm_event.load
2017-05-27 23:10:45 +00:00
when : is_debuntu
2017-05-27 18:09:50 +00:00
2018-10-31 01:16:38 +00:00
- name : Create both mpm_prefork symlinks from /etc/apache2/mods-enabled to /etc/apache2/mods-available (debuntu)
2018-02-07 00:26:57 +00:00
file :
src : "/etc/apache2/mods-available/{{ item }}"
2018-10-28 06:18:54 +00:00
path : "/etc/apache2/mods-enabled/{{ item }}"
2018-02-07 00:26:57 +00:00
state : link
2017-05-27 18:09:50 +00:00
with_items :
2018-02-08 23:03:50 +00:00
- mpm_prefork.conf
- mpm_prefork.load
2017-05-27 23:10:45 +00:00
when : is_debuntu
2017-05-27 18:09:50 +00:00
2018-10-31 01:16:38 +00:00
- name: 'Turn on mod_proxy using a2enmod with : proxy, proxy_html, headers, rewrite (debuntu)'
2017-05-27 18:09:50 +00:00
command : a2enmod {{ item }}
with_items :
2018-02-07 00:26:57 +00:00
- proxy
- proxy_html
- headers
- rewrite
2017-05-27 23:10:45 +00:00
when : is_debuntu
2017-05-27 18:09:50 +00:00
2018-10-31 01:16:38 +00:00
- name : Enable our site, creating 010-iiab.conf symlink from sites-enabled to sites-available (debuntu)
2018-02-07 00:26:57 +00:00
file :
2018-10-28 06:18:54 +00:00
src : "/etc/{{ apache_config_dir }}/010-iiab.conf"
path : /etc/apache2/sites-enabled/010-iiab.conf
2018-02-07 00:26:57 +00:00
state : link
2017-05-27 23:10:45 +00:00
when : is_debuntu
2017-05-27 18:09:50 +00:00
2018-10-31 01:16:38 +00:00
- name : Remove 000-default.conf from /etc/apache2 and /etc/apache2/sites-enabled (debuntu)
2018-02-07 00:26:57 +00:00
file :
2018-08-21 12:41:02 +00:00
path : "{{ item }}"
2018-02-07 00:26:57 +00:00
state : absent
2018-08-21 12:40:01 +00:00
with_items :
2018-08-21 18:02:56 +00:00
- /etc/apache2/000-default.conf # Not nec on Raspbian. Is this really still needed elsewhere?
2018-08-21 12:40:01 +00:00
- /etc/apache2/sites-enabled/000-default.conf
2017-05-27 23:10:45 +00:00
when : is_debuntu
2017-05-27 18:09:50 +00:00
2018-10-28 01:13:29 +00:00
- name : Create Apache's pid dir /var/run/{{ apache_user }}
2018-02-07 00:26:57 +00:00
file :
path : "/var/run/{{ apache_user }}"
mode : 0755
owner : root
group : root
state : directory
2017-05-27 18:09:50 +00:00
2018-10-31 01:16:38 +00:00
- name: 'Create group : admin'
2018-02-07 00:26:57 +00:00
group :
name : admin
state : present
2017-05-27 18:09:50 +00:00
2018-10-31 01:16:38 +00:00
- name : Add user {{ apache_user }} (from variable apache_user) to group admin
2018-02-07 00:26:57 +00:00
user :
name : "{{ apache_user }}"
groups : admin
state : present
createhome : no
2017-05-27 18:09:50 +00:00
2018-10-31 01:16:38 +00:00
- name : Create Apache dir /var/log/{{ apache_service }}
2018-02-07 00:26:57 +00:00
file :
path : "/var/log/{{ apache_service }}"
mode : 0755
owner : "{{ apache_user }}"
group : "{{ apache_user }}"
state : directory
2017-05-27 18:09:50 +00:00
2018-11-04 03:23:37 +00:00
- name : Enable Apache systemd service ({{ apache_service }})
2018-02-07 00:26:57 +00:00
service :
name : "{{ apache_service }}"
enabled : yes
2017-05-27 18:09:50 +00:00
2018-10-28 06:18:54 +00:00
- name : Create /library/www/html/info directory for http://box/info offline docs
2018-02-07 00:26:57 +00:00
file :
path : "{{ doc_root }}/info"
mode : 0755
owner : "{{ apache_user }}"
group : "{{ apache_user }}"
state : directory
2017-05-27 18:09:50 +00:00
2018-09-19 22:47:16 +00:00
# SEE https://github.com/iiab/iiab/issues/1143 as the old roles/osm playbook is rarely used as of late 2018 (if anybody still uses roles/osm, they can overwrite osm.conf using the original osm playbook, or in other ways)
2018-11-04 03:23:37 +00:00
- name : Install /etc/{{ apache_config_dir }}/osm.conf for http://box/maps (all OS's)
2018-09-19 22:32:49 +00:00
copy :
src : osm.conf
dest : "/etc/{{ apache_config_dir }}"
owner : root
group : root
mode : 0644
backup : yes
2018-11-04 03:23:37 +00:00
- name : Symlink /etc/apache2/sites-enabled/osm.conf to /etc/{{ apache_config_dir }}/osm.conf (debuntu)
2018-09-19 22:32:49 +00:00
file :
src : "/etc/{{ apache_config_dir }}/osm.conf"
2018-10-28 06:18:54 +00:00
path : /etc/apache2/sites-enabled/osm.conf
#path: "/etc/{{ apache_service }}/sites-enabled/osm.conf"
2018-09-19 22:32:49 +00:00
state : link
when : is_debuntu
2017-10-31 03:55:24 +00:00
- include_tasks : html.yml
2017-05-27 18:09:50 +00:00
tags :
- base
2018-11-04 03:23:37 +00:00
# Partially fixes search @ http://box/modules/es-wikihow (on RPi anyway) see https://github.com/iiab/iiab/issues/829
2018-07-18 21:41:38 +00:00
- include_tasks : php-stem.yml
tags :
- base
2018-10-31 01:16:38 +00:00
- name : Install /usr/bin/iiab-refresh-wiki-docs (scraper script) to create http://box/info offline documentation. (Script can be run manually and/or at the end of Stage 4 = roles/4-server-options/tasks/main.yml)
2018-02-07 00:26:57 +00:00
template :
src : refresh-wiki-docs.sh
dest : /usr/bin/iiab-refresh-wiki-docs
mode : 0755
2017-06-09 23:25:56 +00:00
2018-11-04 03:23:37 +00:00
- name : Give {{ apache_user }} (per variable apache_user) permission to poweroff, installing /etc/sudoers.d/020_apache_poweroff from template
2018-02-07 00:26:57 +00:00
template :
src : 020_apache_poweroff.j2
dest : /etc/sudoers.d/020_apache_poweroff
mode : 0755
2018-09-23 23:12:22 +00:00
when : apache_allow_sudo
2017-07-06 16:56:43 +00:00
2018-11-04 03:23:37 +00:00
- name : Remove {{ apache_user }} (per variable apache_user) permission to poweroff, removing /etc/sudoers.d/020_apache_poweroff
2018-02-07 00:26:57 +00:00
file :
2018-10-28 06:18:54 +00:00
path : /etc/sudoers.d/020_apache_poweroff
2018-02-07 00:26:57 +00:00
state : absent
2018-09-23 23:12:22 +00:00
when : not apache_allow_sudo
2018-10-31 01:22:50 +00:00
- name : Restart Apache systemd service ({{ apache_service }})
systemd :
name : "{{ apache_service }}"
state : restarted