2018-03-20 18:20:01 +00:00
|
|
|
- name: Install required packages
|
|
|
|
package: name={{ item }}
|
|
|
|
state=present
|
|
|
|
with_items:
|
|
|
|
- php7.0-intl
|
|
|
|
- php7.0-mbstring
|
|
|
|
tags:
|
|
|
|
- download
|
|
|
|
|
|
|
|
- name: Download the latest MediaWiki software
|
|
|
|
get_url:
|
|
|
|
url: "{{ mediawiki_download_base_url }}/{{ mediawiki_src }}"
|
|
|
|
dest: "{{ downloads_dir }}"
|
|
|
|
timeout: "{{ download_timeout }}"
|
|
|
|
# force: yes
|
|
|
|
# backup: yes
|
|
|
|
register: mediawiki_download_output
|
|
|
|
when: internet_available
|
|
|
|
|
|
|
|
- name: Create link /opt/iiab/downloads/mediawiki.tar.gz pointing to {{ mediawiki_download_output.dest }}
|
|
|
|
file:
|
|
|
|
src: "{{ mediawiki_download_output.dest }}"
|
|
|
|
dest: "{{ downloads_dir }}/mediawiki.tar.gz"
|
|
|
|
state: link
|
|
|
|
when: mediawiki_download_output.dest is defined
|
|
|
|
|
|
|
|
- name: Check if /opt/iiab/downloads/mediawiki.tar.gz link exists
|
|
|
|
stat:
|
|
|
|
path: "{{ downloads_dir }}/mediawiki.tar.gz"
|
|
|
|
register: mediawiki_link
|
|
|
|
|
|
|
|
- name: FAIL (force Ansible to exit) IF /opt/iiab/downloads/mediawiki.tar.gz doesn't exist
|
|
|
|
fail:
|
|
|
|
msg: "{{ downloads_dir }}/mediawiki.tar.gz is REQUIRED in order to install mediawiki."
|
|
|
|
when: not mediawiki_link.stat.exists
|
|
|
|
|
2018-03-20 21:08:12 +00:00
|
|
|
- name: "Unpack download to permanent location - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes"
|
2018-03-20 18:20:01 +00:00
|
|
|
unarchive:
|
|
|
|
src: "{{ downloads_dir }}/mediawiki.tar.gz"
|
|
|
|
dest: "{{ mediawiki_install_path }}"
|
|
|
|
owner: root
|
|
|
|
group: "{{ apache_user }}"
|
|
|
|
mode: 0664
|
|
|
|
keep_newer: yes
|
|
|
|
|
2018-03-20 20:51:23 +00:00
|
|
|
- name: Create link mediawiki to version
|
|
|
|
file:
|
2018-03-20 21:10:15 +00:00
|
|
|
src: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_major_version }}{{ mediawiki_minor_version }}"
|
2018-03-20 20:51:23 +00:00
|
|
|
dest: "{{ mediawiki_abs_path }}"
|
|
|
|
state: link
|
|
|
|
|
2018-03-20 18:20:01 +00:00
|
|
|
# - name: Rename /library/mediawiki* to /library/mediawiki
|
|
|
|
# shell: if [ ! -d {{ mediawiki_abs_path }} ]; then mv {{ mediawiki_abs_path }}* {{ mediawiki_abs_path }}; fi
|
|
|
|
|
|
|
|
#- name: Make Apache owner and group, 1st pass permissions set to 0664
|
|
|
|
# file: path={{ mediawiki_abs_path }}
|
|
|
|
# recurse=yes
|
|
|
|
# owner=root
|
|
|
|
# group={{ apache_user }}
|
|
|
|
# mode=0664
|
|
|
|
# state=directory
|
|
|
|
|
|
|
|
- name: Make MediaWiki install directories 775 so Apache can traverse and write (most files remain 0664)
|
|
|
|
command: "/usr/bin/find {{ mediawiki_abs_path }} -type d -exec chmod 775 {} +"
|
|
|
|
|
|
|
|
- name: MySQL database needs to be running if we are trying to create a new db
|
|
|
|
service:
|
|
|
|
state: started
|
|
|
|
name: "{{ mysql_service }}"
|
|
|
|
|
|
|
|
- name: Create MySQL mediawiki database
|
|
|
|
mysql_db:
|
|
|
|
name: "{{ mediawiki_db_name }}"
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: Create MySQL mediawiki database user
|
|
|
|
mysql_user:
|
|
|
|
name: "{{ mediawiki_db_user }}"
|
|
|
|
password: "{{ mediawiki_db_user_password }}"
|
|
|
|
priv: "{{ mediawiki_db_name }}.*:ALL,GRANT"
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: Copy mediawiki config file
|
|
|
|
template:
|
|
|
|
src: LocalSettings.php.j2
|
|
|
|
dest: "{{ mediawiki_abs_path }}/LocalSettings.php"
|
|
|
|
owner: root
|
|
|
|
group: "{{ apache_user }}"
|
|
|
|
mode: 0600
|
|
|
|
|
|
|
|
- name: Copy mediawiki httpd conf file
|
|
|
|
template:
|
|
|
|
src: mediawiki.conf.j2
|
|
|
|
dest: "/etc/{{ apache_config_dir }}/mediawiki.conf"
|
|
|
|
|
|
|
|
- name: Enable httpd conf file if we are disabled (debuntu)
|
|
|
|
file:
|
|
|
|
src: /etc/apache2/sites-available/mediawiki.conf
|
|
|
|
dest: /etc/apache2/sites-enabled/mediawiki.conf
|
|
|
|
state: link
|
|
|
|
when: mediawiki_enabled and is_debuntu
|
|
|
|
|
|
|
|
- name: Remove httpd conf file if we are disabled (OS's other than debuntu)
|
|
|
|
file:
|
|
|
|
path: /etc/apache2/sites-enabled/mediawiki.conf
|
|
|
|
state: absent
|
|
|
|
when: not mediawiki_enabled and is_debuntu
|
|
|
|
|
|
|
|
- name: Restart Apache, so it picks up the new aliases
|
|
|
|
service:
|
|
|
|
name: "{{ apache_service }}"
|
|
|
|
state: restarted
|
|
|
|
|
|
|
|
- name: Add 'mediawiki' to list of services at /etc/iiab/iiab.ini
|
|
|
|
ini_file:
|
|
|
|
dest: "{{ service_filelist }}"
|
|
|
|
section: mediawiki
|
|
|
|
option: "{{ item.option }}"
|
|
|
|
value: "{{ item.value }}"
|
|
|
|
with_items:
|
|
|
|
- option: name
|
|
|
|
value: mediawiki
|
|
|
|
- option: description
|
|
|
|
value: '"mediawiki is a blog and web site management application."'
|
|
|
|
- option: mediawiki_src
|
|
|
|
value: "{{ mediawiki_src }}"
|
|
|
|
- option: mediawiki_abs_path
|
|
|
|
value: "{{ mediawiki_abs_path }}"
|
|
|
|
- option: mediawiki_db_name
|
|
|
|
value: "{{ mediawiki_db_name }}"
|
|
|
|
- option: mediawiki_db_user
|
|
|
|
value: "{{ mediawiki_db_user }}"
|
|
|
|
- option: mediawiki_url
|
|
|
|
value: "{{ mediawiki_url }}"
|
|
|
|
- option: mediawiki_full_url
|
|
|
|
value: "{{ mediawiki_full_url }}"
|
|
|
|
- option: mediawiki_enabled
|
|
|
|
value: "{{ mediawiki_enabled }}"
|