From f47077921f40bf2d82e7d894af666c714aa65cdc Mon Sep 17 00:00:00 2001 From: tim-moody Date: Tue, 20 Mar 2018 14:20:01 -0400 Subject: [PATCH 01/21] media wiki role initial checkin --- roles/mediawiki/defaults/main.yml | 20 +++ roles/mediawiki/tasks/install.yml | 132 +++++++++++++++++ roles/mediawiki/tasks/main.yml | 5 + .../mediawiki/templates/LocalSettings.php.j2 | 133 ++++++++++++++++++ roles/mediawiki/templates/mediawiki.conf.j2 | 8 ++ 5 files changed, 298 insertions(+) create mode 100644 roles/mediawiki/defaults/main.yml create mode 100644 roles/mediawiki/tasks/install.yml create mode 100644 roles/mediawiki/tasks/main.yml create mode 100644 roles/mediawiki/templates/LocalSettings.php.j2 create mode 100644 roles/mediawiki/templates/mediawiki.conf.j2 diff --git a/roles/mediawiki/defaults/main.yml b/roles/mediawiki/defaults/main.yml new file mode 100644 index 000000000..3bfa59278 --- /dev/null +++ b/roles/mediawiki/defaults/main.yml @@ -0,0 +1,20 @@ +mediawiki_download_base_url: https://releases.wikimedia.org/mediawiki +mediawiki_src: 1.29/mediawiki-1.29.1.tar.gz + +mediawiki_db_name: iiab_mediawiki +mediawiki_db_user: iiab_mediawiki_user +mediawiki_db_user_password: changeme + +mediawiki_site_name: Community Wiki + +mediawiki_install: True +mediawiki_enabled: True + +mediawiki_install_path: "{{ content_base }}" +#mediawiki_install_path: /library + +mediawiki_abs_path: "{{ mediawiki_install_path }}/mediawiki" +#mediawiki_abs_path: /library/mediawiki + +mediawiki_url: /mediawiki +mediawiki_full_url: "http://{{ iiab_hostname }}{{ mediawiki_url }}" diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml new file mode 100644 index 000000000..f0b24e577 --- /dev/null +++ b/roles/mediawiki/tasks/install.yml @@ -0,0 +1,132 @@ +- 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 + +- name: "Unpack /opt/iiab/downloads/mediawiki.tar.gz to permanent location /library/mediawiki - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes" + unarchive: + src: "{{ downloads_dir }}/mediawiki.tar.gz" + dest: "{{ mediawiki_install_path }}" + owner: root + group: "{{ apache_user }}" + mode: 0664 + keep_newer: yes + +# - 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 }}" diff --git a/roles/mediawiki/tasks/main.yml b/roles/mediawiki/tasks/main.yml new file mode 100644 index 000000000..664bd28d0 --- /dev/null +++ b/roles/mediawiki/tasks/main.yml @@ -0,0 +1,5 @@ +# SEE "emergency" REINSTALL INSTRUCTIONS IN roles/wordpress/tasks/install.yml + +- name: Include the install playbook + include_tasks: install.yml + when: wordpress_install diff --git a/roles/mediawiki/templates/LocalSettings.php.j2 b/roles/mediawiki/templates/LocalSettings.php.j2 new file mode 100644 index 000000000..a252408eb --- /dev/null +++ b/roles/mediawiki/templates/LocalSettings.php.j2 @@ -0,0 +1,133 @@ + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + From 452717a3f14b2df547ac79b244a2f8b8a8c80773 Mon Sep 17 00:00:00 2001 From: tim-moody Date: Tue, 20 Mar 2018 16:51:23 -0400 Subject: [PATCH 02/21] debug --- roles/mediawiki/defaults/main.yml | 6 ++++-- roles/mediawiki/tasks/install.yml | 8 +++++++- roles/mediawiki/tasks/main.yml | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/roles/mediawiki/defaults/main.yml b/roles/mediawiki/defaults/main.yml index 3bfa59278..53a4901bc 100644 --- a/roles/mediawiki/defaults/main.yml +++ b/roles/mediawiki/defaults/main.yml @@ -1,5 +1,7 @@ -mediawiki_download_base_url: https://releases.wikimedia.org/mediawiki -mediawiki_src: 1.29/mediawiki-1.29.1.tar.gz +mediawiki_major_version: 1.29 +mediawiki_minor_version: .1 +mediawiki_download_base_url: "https://releases.wikimedia.org/mediawiki/{{ mediawiki_major_version }}" +mediawiki_src: "mediawiki-{{ mediawiki_version }}{{ mediawiki_minor_version }}.tar.gz" mediawiki_db_name: iiab_mediawiki mediawiki_db_user: iiab_mediawiki_user diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index f0b24e577..9ffc7596d 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -34,7 +34,7 @@ msg: "{{ downloads_dir }}/mediawiki.tar.gz is REQUIRED in order to install mediawiki." when: not mediawiki_link.stat.exists -- name: "Unpack /opt/iiab/downloads/mediawiki.tar.gz to permanent location /library/mediawiki - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes" +- name: Unpack download to permanent location - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes" unarchive: src: "{{ downloads_dir }}/mediawiki.tar.gz" dest: "{{ mediawiki_install_path }}" @@ -43,6 +43,12 @@ mode: 0664 keep_newer: yes +- name: Create link mediawiki to version + file: + src: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_version }}{{ mediawiki_minor_version }}" + dest: "{{ mediawiki_abs_path }}" + state: link + # - name: Rename /library/mediawiki* to /library/mediawiki # shell: if [ ! -d {{ mediawiki_abs_path }} ]; then mv {{ mediawiki_abs_path }}* {{ mediawiki_abs_path }}; fi diff --git a/roles/mediawiki/tasks/main.yml b/roles/mediawiki/tasks/main.yml index 664bd28d0..4af563f3c 100644 --- a/roles/mediawiki/tasks/main.yml +++ b/roles/mediawiki/tasks/main.yml @@ -2,4 +2,4 @@ - name: Include the install playbook include_tasks: install.yml - when: wordpress_install + when: mediawiki_install From c26c3ef7618749407ad0174c963bc71707317142 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Tue, 20 Mar 2018 17:04:51 -0400 Subject: [PATCH 03/21] wp to mediawiki --- roles/mediawiki/templates/mediawiki.conf.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/mediawiki/templates/mediawiki.conf.j2 b/roles/mediawiki/templates/mediawiki.conf.j2 index b49a9e96d..347276617 100644 --- a/roles/mediawiki/templates/mediawiki.conf.j2 +++ b/roles/mediawiki/templates/mediawiki.conf.j2 @@ -1,7 +1,7 @@ RewriteEngine on -Alias {{ wp_url }} {{ wp_abs_path }} - +Alias {{ mediawiki_url }} {{ mediawiki_abs_path }} + Options Indexes FollowSymLinks AllowOverride All Require all granted From 76eb1564c80d2cfc4f09094c238730ef224421d4 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Tue, 20 Mar 2018 17:06:50 -0400 Subject: [PATCH 04/21] quotes --- roles/mediawiki/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index 9ffc7596d..7a9505ce2 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -34,7 +34,7 @@ msg: "{{ downloads_dir }}/mediawiki.tar.gz is REQUIRED in order to install mediawiki." when: not mediawiki_link.stat.exists -- name: Unpack download to permanent location - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes" +- name: Unpack download to permanent location - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes unarchive: src: "{{ downloads_dir }}/mediawiki.tar.gz" dest: "{{ mediawiki_install_path }}" From 972ba866d0826b1f8684d3dc7e6325b14554e2c5 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Tue, 20 Mar 2018 17:08:12 -0400 Subject: [PATCH 05/21] put them back --- roles/mediawiki/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index 7a9505ce2..e083e402c 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -34,7 +34,7 @@ msg: "{{ downloads_dir }}/mediawiki.tar.gz is REQUIRED in order to install mediawiki." when: not mediawiki_link.stat.exists -- name: Unpack download to permanent location - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes +- name: "Unpack download to permanent location - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes" unarchive: src: "{{ downloads_dir }}/mediawiki.tar.gz" dest: "{{ mediawiki_install_path }}" From 3253661face0b2bcd6288ef6e45ae458aa83012e Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Tue, 20 Mar 2018 17:10:15 -0400 Subject: [PATCH 06/21] wish this allowed syntax checking --- roles/mediawiki/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index e083e402c..5c03876a0 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -45,7 +45,7 @@ - name: Create link mediawiki to version file: - src: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_version }}{{ mediawiki_minor_version }}" + src: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_major_version }}{{ mediawiki_minor_version }}" dest: "{{ mediawiki_abs_path }}" state: link From 8d3db0423e0e204ec511e974671d0b7b555fdd61 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Tue, 20 Mar 2018 17:11:59 -0400 Subject: [PATCH 07/21] ditto --- roles/mediawiki/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mediawiki/defaults/main.yml b/roles/mediawiki/defaults/main.yml index 53a4901bc..95329704e 100644 --- a/roles/mediawiki/defaults/main.yml +++ b/roles/mediawiki/defaults/main.yml @@ -1,7 +1,7 @@ mediawiki_major_version: 1.29 mediawiki_minor_version: .1 mediawiki_download_base_url: "https://releases.wikimedia.org/mediawiki/{{ mediawiki_major_version }}" -mediawiki_src: "mediawiki-{{ mediawiki_version }}{{ mediawiki_minor_version }}.tar.gz" +mediawiki_src: "mediawiki-{{ mediawiki_major_version }}{{ mediawiki_minor_version }}.tar.gz" mediawiki_db_name: iiab_mediawiki mediawiki_db_user: iiab_mediawiki_user From c32ee40f928c97b2897f60562d00eebe8dee4b56 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Tue, 20 Mar 2018 17:13:41 -0400 Subject: [PATCH 08/21] make number a string to remove leading zero --- roles/mediawiki/defaults/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/mediawiki/defaults/main.yml b/roles/mediawiki/defaults/main.yml index 95329704e..ccd97b8f3 100644 --- a/roles/mediawiki/defaults/main.yml +++ b/roles/mediawiki/defaults/main.yml @@ -1,5 +1,5 @@ -mediawiki_major_version: 1.29 -mediawiki_minor_version: .1 +mediawiki_major_version: "1.29" +mediawiki_minor_version: ".1" mediawiki_download_base_url: "https://releases.wikimedia.org/mediawiki/{{ mediawiki_major_version }}" mediawiki_src: "mediawiki-{{ mediawiki_major_version }}{{ mediawiki_minor_version }}.tar.gz" From 3a0207afda9ffce6acac866ee8d6173b282098cf Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Wed, 21 Mar 2018 08:23:01 -0400 Subject: [PATCH 09/21] keep trying --- roles/mediawiki/tasks/install.yml | 6 ++++-- roles/mediawiki/templates/LocalSettings.php.j2 | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index 5c03876a0..a2bc95f33 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -34,19 +34,21 @@ msg: "{{ downloads_dir }}/mediawiki.tar.gz is REQUIRED in order to install mediawiki." when: not mediawiki_link.stat.exists -- name: "Unpack download to permanent location - owner: root, group: {{ apache_user }}, mode: 0664, keep_newer: yes" +- name: Unpack download to permanent location unarchive: src: "{{ downloads_dir }}/mediawiki.tar.gz" dest: "{{ mediawiki_install_path }}" owner: root group: "{{ apache_user }}" - mode: 0664 + mode: 0755 keep_newer: yes - name: Create link mediawiki to version file: src: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_major_version }}{{ mediawiki_minor_version }}" dest: "{{ mediawiki_abs_path }}" + owner: root + group: "{{ apache_user }}" state: link # - name: Rename /library/mediawiki* to /library/mediawiki diff --git a/roles/mediawiki/templates/LocalSettings.php.j2 b/roles/mediawiki/templates/LocalSettings.php.j2 index a252408eb..e4defcaf8 100644 --- a/roles/mediawiki/templates/LocalSettings.php.j2 +++ b/roles/mediawiki/templates/LocalSettings.php.j2 @@ -25,10 +25,10 @@ $wgSitename = "{{ mediawiki_site_name }}"; ## For more information on customizing the URLs ## (like /w/index.php/Page_title to /wiki/Page_title) please see: ## https://www.mediawiki.org/wiki/Manual:Short_URL -$wgScriptPath = "/modules/wikem"; +$wgScriptPath = "{{ mediawiki_abs_path }}"; ## The protocol and server name to use in fully-qualified URLs -$wgServer = "http://{{ iiab_hostname }}.{{ iiab_domain }}"; +#$wgServer = "http://{{ iiab_hostname }}.{{ iiab_domain }}"; ## The URL path to static resources (images, scripts, etc.) $wgResourceBasePath = $wgScriptPath; From 5179e053e01c0cab8f81deaa1403d147fecd3fba Mon Sep 17 00:00:00 2001 From: tim-moody Date: Wed, 21 Mar 2018 11:37:52 -0400 Subject: [PATCH 10/21] more --- roles/mediawiki/defaults/main.yml | 18 +++--- roles/mediawiki/tasks/install.yml | 64 +++++++-------------- roles/mediawiki/templates/mediawiki.conf.j2 | 2 - 3 files changed, 32 insertions(+), 52 deletions(-) diff --git a/roles/mediawiki/defaults/main.yml b/roles/mediawiki/defaults/main.yml index ccd97b8f3..cb1420648 100644 --- a/roles/mediawiki/defaults/main.yml +++ b/roles/mediawiki/defaults/main.yml @@ -1,22 +1,24 @@ -mediawiki_major_version: "1.29" -mediawiki_minor_version: ".1" +mediawiki_major_version: "1.30" +mediawiki_minor_version: "0" +mediawiki_version: "{{ mediawiki_major_version }}.{{ mediawiki_minor_version }}" + mediawiki_download_base_url: "https://releases.wikimedia.org/mediawiki/{{ mediawiki_major_version }}" -mediawiki_src: "mediawiki-{{ mediawiki_major_version }}{{ mediawiki_minor_version }}.tar.gz" +mediawiki_src: "mediawiki-{{ mediawiki_version }}.tar.gz" mediawiki_db_name: iiab_mediawiki mediawiki_db_user: iiab_mediawiki_user mediawiki_db_user_password: changeme +mediawiki_admin_user: Admin +mediawiki_admin_user_password: changeme + mediawiki_site_name: Community Wiki mediawiki_install: True mediawiki_enabled: True mediawiki_install_path: "{{ content_base }}" -#mediawiki_install_path: /library - -mediawiki_abs_path: "{{ mediawiki_install_path }}/mediawiki" -#mediawiki_abs_path: /library/mediawiki +mediawiki_abs_path: "{{ mediawiki_install_path }}/{{ mediawiki_src }}" mediawiki_url: /mediawiki -mediawiki_full_url: "http://{{ iiab_hostname }}{{ mediawiki_url }}" +mediawiki_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}/{{ mediawiki_url }}" diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index a2bc95f33..f61b64dff 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -2,8 +2,8 @@ package: name={{ item }} state=present with_items: - - php7.0-intl - - php7.0-mbstring + - {{ php_version }}-intl + - {{ php_version }}-mbstring tags: - download @@ -17,54 +17,15 @@ 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 - - name: Unpack download to permanent location unarchive: - src: "{{ downloads_dir }}/mediawiki.tar.gz" + src: "{{ downloads_dir }}/{{ mediawiki_src }}" dest: "{{ mediawiki_install_path }}" owner: root group: "{{ apache_user }}" mode: 0755 keep_newer: yes -- name: Create link mediawiki to version - file: - src: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_major_version }}{{ mediawiki_minor_version }}" - dest: "{{ mediawiki_abs_path }}" - owner: root - group: "{{ apache_user }}" - state: link - -# - 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 @@ -82,6 +43,25 @@ priv: "{{ mediawiki_db_name }}.*:ALL,GRANT" state: present +- name: Configure MediaWiki + shell: > + php '{{ mediawiki_abs_path }}/maintenance/install.php' + --dbname={{ mediawiki_db_name }} + --dbserver="localhost" + --installdbuser={{ mediawiki_db_user }} + --installdbpass={{ mediawiki_db_user_password }} + --dbuser={{ mediawiki_db_user }} + --dbpass={{ mediawiki_db_user_password }} + --server="{{ iiab_hostname }}.{{ iiab_domain }}" + --scriptpath=/mediawiki + --lang=en + --pass={{ mediawiki_admin_user_password }} + "{{ mediawiki_site_name }}" + "{{ mediawiki_admin_user }}" + args: + chdir: "{{ mediawiki_abs_path }}" + creates: "{{ mediawiki_abs_path }}/LocalSettings.php" + - name: Copy mediawiki config file template: src: LocalSettings.php.j2 diff --git a/roles/mediawiki/templates/mediawiki.conf.j2 b/roles/mediawiki/templates/mediawiki.conf.j2 index 347276617..1da5e193b 100644 --- a/roles/mediawiki/templates/mediawiki.conf.j2 +++ b/roles/mediawiki/templates/mediawiki.conf.j2 @@ -1,5 +1,3 @@ -RewriteEngine on - Alias {{ mediawiki_url }} {{ mediawiki_abs_path }} Options Indexes FollowSymLinks From 49082d811bd4acafd1f1a88241b90f9f15aaeed7 Mon Sep 17 00:00:00 2001 From: tim-moody Date: Wed, 21 Mar 2018 12:05:51 -0400 Subject: [PATCH 11/21] there yet? --- roles/mediawiki/defaults/main.yml | 2 +- roles/mediawiki/tasks/install.yml | 12 ++++++------ roles/mediawiki/templates/LocalSettings.php.j2 | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/roles/mediawiki/defaults/main.yml b/roles/mediawiki/defaults/main.yml index cb1420648..708549e45 100644 --- a/roles/mediawiki/defaults/main.yml +++ b/roles/mediawiki/defaults/main.yml @@ -18,7 +18,7 @@ mediawiki_install: True mediawiki_enabled: True mediawiki_install_path: "{{ content_base }}" -mediawiki_abs_path: "{{ mediawiki_install_path }}/{{ mediawiki_src }}" +mediawiki_abs_path: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_version }}" mediawiki_url: /mediawiki mediawiki_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}/{{ mediawiki_url }}" diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index f61b64dff..46a00ad7c 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -2,8 +2,8 @@ package: name={{ item }} state=present with_items: - - {{ php_version }}-intl - - {{ php_version }}-mbstring + - "php{{ php_version }}-intl" + - "php{{ php_version }}-mbstring" tags: - download @@ -58,9 +58,9 @@ --pass={{ mediawiki_admin_user_password }} "{{ mediawiki_site_name }}" "{{ mediawiki_admin_user }}" - args: - chdir: "{{ mediawiki_abs_path }}" - creates: "{{ mediawiki_abs_path }}/LocalSettings.php" + args: + chdir: "{{ mediawiki_abs_path }}" + creates: "{{ mediawiki_abs_path }}/LocalSettings.php" - name: Copy mediawiki config file template: @@ -68,7 +68,7 @@ dest: "{{ mediawiki_abs_path }}/LocalSettings.php" owner: root group: "{{ apache_user }}" - mode: 0600 + mode: 0640 - name: Copy mediawiki httpd conf file template: diff --git a/roles/mediawiki/templates/LocalSettings.php.j2 b/roles/mediawiki/templates/LocalSettings.php.j2 index e4defcaf8..29546f93c 100644 --- a/roles/mediawiki/templates/LocalSettings.php.j2 +++ b/roles/mediawiki/templates/LocalSettings.php.j2 @@ -25,7 +25,7 @@ $wgSitename = "{{ mediawiki_site_name }}"; ## For more information on customizing the URLs ## (like /w/index.php/Page_title to /wiki/Page_title) please see: ## https://www.mediawiki.org/wiki/Manual:Short_URL -$wgScriptPath = "{{ mediawiki_abs_path }}"; +$wgScriptPath = "{{ mediawiki_url }}"; ## The protocol and server name to use in fully-qualified URLs #$wgServer = "http://{{ iiab_hostname }}.{{ iiab_domain }}"; From 61f6638998b4270609373facb9652b1f01da81f7 Mon Sep 17 00:00:00 2001 From: tim-moody Date: Wed, 21 Mar 2018 12:22:41 -0400 Subject: [PATCH 12/21] done? --- roles/mediawiki/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/mediawiki/tasks/install.yml b/roles/mediawiki/tasks/install.yml index 46a00ad7c..ac868c999 100644 --- a/roles/mediawiki/tasks/install.yml +++ b/roles/mediawiki/tasks/install.yml @@ -62,7 +62,7 @@ chdir: "{{ mediawiki_abs_path }}" creates: "{{ mediawiki_abs_path }}/LocalSettings.php" -- name: Copy mediawiki config file +- name: Copy mediawiki config file to change a few calculated settings template: src: LocalSettings.php.j2 dest: "{{ mediawiki_abs_path }}/LocalSettings.php" From 39d60820a3ae52748977b0ff7698f337ff8e58b0 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 21 Mar 2018 13:46:04 -0400 Subject: [PATCH 13/21] phpMyAdmin 4.7.7 -> 4.7.8 maintenance fix --- roles/phpmyadmin/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/phpmyadmin/defaults/main.yml b/roles/phpmyadmin/defaults/main.yml index b6ea54548..ae18bd369 100644 --- a/roles/phpmyadmin/defaults/main.yml +++ b/roles/phpmyadmin/defaults/main.yml @@ -1,4 +1,4 @@ phpmyadmin_install: False phpmyadmin_enabled: False -phpmyadmin_name: "phpMyAdmin-4.7.8-all-languages" +phpmyadmin_name: "phpMyAdmin-4.7.9-all-languages" phpmyadmin_name_zip: "{{ phpmyadmin_name }}.zip" From d8ff9c23bd031b3f93079ab6ffc9e371442c3d5b Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Wed, 21 Mar 2018 14:42:24 -0400 Subject: [PATCH 14/21] add to stage 6 --- roles/6-generic-apps/tasks/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/roles/6-generic-apps/tasks/main.yml b/roles/6-generic-apps/tasks/main.yml index 2b74a43ef..38f707041 100644 --- a/roles/6-generic-apps/tasks/main.yml +++ b/roles/6-generic-apps/tasks/main.yml @@ -9,6 +9,12 @@ when: dokuwiki_install tags: dokuwiki +- name: MEDIAWIKI + include_role: + name: mediawiki + when: mediawiki_install + tags: mediawiki + - name: ELGG include_role: name: elgg From 5ee202f171faaab989f0addbfdfe2e68600c6786 Mon Sep 17 00:00:00 2001 From: Tim Moody Date: Wed, 21 Mar 2018 18:34:48 -0400 Subject: [PATCH 15/21] remove copy paste comment --- roles/mediawiki/tasks/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/roles/mediawiki/tasks/main.yml b/roles/mediawiki/tasks/main.yml index 4af563f3c..6c77d3e7c 100644 --- a/roles/mediawiki/tasks/main.yml +++ b/roles/mediawiki/tasks/main.yml @@ -1,5 +1,3 @@ -# SEE "emergency" REINSTALL INSTRUCTIONS IN roles/wordpress/tasks/install.yml - - name: Include the install playbook include_tasks: install.yml when: mediawiki_install From e104bb73dcac26016156ffe525c707d9c93d728c Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 22 Mar 2018 10:52:07 -0400 Subject: [PATCH 16/21] introduce "mediawiki_install: False" and "mediawiki_enabled: False" --- vars/default_vars.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 4bc5cb105..21e3d5652 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -249,6 +249,10 @@ calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529 dokuwiki_install: False dokuwiki_enabled: False +# MediaWiki +mediawiki_install: False +mediawiki_enabled: False + # Elgg elgg_install: True elgg_enabled: False From 11150c084b866ec97ece63b957584eb6bf376e84 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 22 Mar 2018 10:53:14 -0400 Subject: [PATCH 17/21] introduce "mediawiki_install: False" and "mediawiki_enabled: False" --- vars/medium.localvars | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vars/medium.localvars b/vars/medium.localvars index 54d10c40c..81ebe2f91 100644 --- a/vars/medium.localvars +++ b/vars/medium.localvars @@ -128,6 +128,9 @@ calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529 dokuwiki_install: False dokuwiki_enabled: False +mediawiki_install: False +mediawiki_enabled: False + elgg_install: True elgg_enabled: True From 8e76fe2f02ea83f0610959961f7769a7e9978f6a Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 22 Mar 2018 11:58:22 -0400 Subject: [PATCH 18/21] refactor roles/pathagar/tasks/main.yml per new Ansible syntax/style --- roles/pathagar/tasks/main.yml | 250 +++++++++++++++++++--------------- 1 file changed, 138 insertions(+), 112 deletions(-) diff --git a/roles/pathagar/tasks/main.yml b/roles/pathagar/tasks/main.yml index 3ee3308e8..1e9a9902f 100644 --- a/roles/pathagar/tasks/main.yml +++ b/roles/pathagar/tasks/main.yml @@ -1,27 +1,31 @@ -- name: Remove if exist pathagar rpm version - package: name=pathagar - state=absent +- name: Remove package Pathagar (in case rpm?) + package: + name: pathagar + state: absent -- name: Install pathagar pre requisites (both fedora and debian) - package: name={{ item }} - state=present +- name: Install Pathagar prerequisites (both fedora and debian) + package: + name: "{{ item }}" + state: present with_items: - python-virtualenv - python-pip - python-psycopg2 -- name: Install pathagar pre requisites for debian - package: name={{ item }} - state=present +- name: Install Pathagar prerequisites (debuntu) + package: + name: "{{ item }}" + state: present with_items: - libapache2-mod-wsgi - libxml2-dev - libxslt-dev when: is_debuntu -- name: Install pathagar pre requisites not debian - package: name={{ item }} - state=present +- name: Install Pathagar prerequisites (not debuntu) + package: + name: "{{ item }}" + state: present with_items: - mod_wsgi - libxml2-devel @@ -29,32 +33,37 @@ when: not is_debuntu - name: Create destination folder - file: path={{ pathagar_src }} - state=directory - owner=root - group=root - mode=0755 + file: + path: "{{ pathagar_src }}" + state: directory + owner: root + group: root + mode: 0755 - name: Create books destination folder - file: path={{ pathagar_media }} - state=directory - owner={{ apache_user }} - group={{ apache_user }} - mode=0755 + file: + path: "{{ pathagar_media }}" + state: directory + owner: "{{ apache_user }}" + group: "{{ apache_user }}" + mode: 0755 -- name: Determine if pathagar has already been downloaded from git - stat: path="{{ pathagar_src }}/settings.py" +- name: Determine if Pathagar has already been downloaded from git + stat: + path: "{{ pathagar_src }}/settings.py" register: pathagar -- name: Clone pathagar repo - git: repo=https://github.com/PathagarBooks/pathagar.git - dest={{ pathagar_src }} - update=yes - version=master - when: internet_available and pathagar.stat.exists is defined and not pathagar.stat.exists +- name: Clone Pathagar repo + git: + repo: https://github.com/PathagarBooks/pathagar.git + dest: "{{ pathagar_src }}" + update: yes + version: master + when: internet_available and pathagar.stat.exists is defined and not pathagar.stat.exists -- name: Install pathagar requirements in a virtualenv - pip: name={{ item }} +- name: Install Pathagar requirements in a virtualenv + pip: + name: "{{ item }}" with_items: - Django==1.4.5 - django-tagging==0.3.1 @@ -62,117 +71,134 @@ - lxml==3.4.4 when: internet_available -- name: Install pathagar requirements in a virtualenv - pip: name={{ item }} - extra_args="--use-wheel" - virtualenv={{ pathagar_venv }} - virtualenv_site_packages=yes +- name: Install Pathagar requirements in a virtualenv + pip: + name: "{{ item }}" + extra_args: "--use-wheel" + virtualenv: "{{ pathagar_venv }}" + virtualenv_site_packages: yes with_items: - django-taggit==0.14 -- name: Create pathagar postgresql user - postgresql_user: name={{ pathagar_db_user }} - password={{ pathagar_db_password }} - role_attr_flags=NOSUPERUSER,NOCREATEROLE,NOCREATEDB - state=present +- name: Create Pathagar postgresql user + postgresql_user: + name: "{{ pathagar_db_user }}" + password: "{{ pathagar_db_password }}" + role_attr_flags: NOSUPERUSER,NOCREATEROLE,NOCREATEDB + state: present become: yes become_user: postgres - name: Start postgresql-iiab - service: name=postgresql-iiab - state=started + service: + name: postgresql-iiab + state: started -- name: Enable pathagar postgresql user access by md5 method - lineinfile: backup=yes - dest=/library/pgsql-iiab/pg_hba.conf - regexp="^host\s+pathagar" - line="host pathagar pathagar samehost md5" - state=present - insertafter="^# IPv4 local connections" - owner=postgres - group=postgres +- name: Enable Pathagar postgresql user access by md5 method + lineinfile: + backup: yes + dest: /library/pgsql-iiab/pg_hba.conf + regexp: "^host\s+pathagar" + line: "host pathagar pathagar samehost md5" + state: present + insertafter: "^# IPv4 local connections" + owner: postgres + group: postgres register: enable_pathagar_md5_access - name: Reload postgresql service - service: name=postgresql-iiab - state=reloaded + service: + name: postgresql-iiab + state: reloaded when: enable_pathagar_md5_access.changed - name: Create pathagar postgresql database - postgresql_db: name={{ pathagar_db_name }} - encoding=utf8 - owner={{ pathagar_db_user }} - state=present - template=template0 + postgresql_db: + name: "{{ pathagar_db_name }}" + encoding: utf8 + owner: "{{ pathagar_db_user }}" + state: present + template: template0 become: yes become_user: postgres -- name: Install XS custom settings for patahgar - template: src=prod_settings.py - dest={{ pathagar_src }}/prod_settings.py - owner=root - group=root - mode=0644 +- name: Install IIAB custom settings for Pathagar + template: + src: prod_settings.py + dest: "{{ pathagar_src }}/prod_settings.py" + owner: root + group: root + mode: 0644 -- name: Create pathagar initial db - django_manage: app_path={{ pathagar_src }} - command=syncdb - virtualenv={{ pathagar_venv }} - settings=pathagar.prod_settings +- name: Create Pathagar initial db + django_manage: + app_path: "{{ pathagar_src }}" + command: syncdb + virtualenv: "{{ pathagar_venv }}" + settings: pathagar.prod_settings -- name: Upload pathagar admin user - template: src=auth.User.json - dest={{ pathagar_dir }}/auth.User.json - owner=root - group=root - mode=0600 +- name: Upload Pathagar admin user + template: + src: auth.User.json + dest: "{{ pathagar_dir }}/auth.User.json" + owner: root + group: root + mode: 0600 -- name: Load pathagar admin user - django_manage: app_path={{ pathagar_src }} - command=loaddata - virtualenv={{ pathagar_venv }} - settings=pathagar.prod_settings - fixtures={{ pathagar_dir }}/auth.User.json +- name: Load Pathagar admin user + django_manage: + app_path: "{{ pathagar_src }}" + command: loaddata + virtualenv: "{{ pathagar_venv }}" + settings: pathagar.prod_settings + fixtures: "{{ pathagar_dir }}/auth.User.json" -- name: Collect pathagar static files - django_manage: app_path={{ pathagar_src }} - command=collectstatic - virtualenv={{ pathagar_venv }} - settings=pathagar.prod_settings +- name: Collect Pathagar static files + django_manage: + app_path: "{{ pathagar_src }}" + command: collectstatic + virtualenv: "{{ pathagar_venv }}" + settings: pathagar.prod_settings -- name: Install wsgi.py for patahgar - template: src=wsgi.py - dest={{ pathagar_dir }}/wsgi.py - owner=root - group=root - mode=0644 +- name: Install wsgi.py for Pathagar + template: + src: wsgi.py + dest: "{{ pathagar_dir }}/wsgi.py" + owner: root + group: root + mode: 0644 -- name: Install httpd conf for pathagar - template: src=pathagar.conf - backup=yes - dest=/etc/{{ apache_config_dir }}/pathagar.conf - mode=0644 +- name: Install httpd conf for Pathagar + template: + src: pathagar.conf + backup: yes + dest: "/etc/{{ apache_config_dir }}/pathagar.conf" + mode: 0644 -- name: Enable pathagar - file: path=/etc/apache2/sites-enabled/pathagar.conf - src=/etc/apache2/sites-available/pathagar.conf - state=link +- name: Enable Pathagar (debuntu) + file: + path: /etc/apache2/sites-enabled/pathagar.conf + src: /etc/apache2/sites-available/pathagar.conf + state: link when: pathagar_enabled and is_debuntu -- name: Disable pathagar - file: path=/etc/apache2/sites-enabled/pathagar.conf - state=absent +- name: Disable Pathagar (debuntu) + file: + path: /etc/apache2/sites-enabled/pathagar.conf + state: absent when: not pathagar_enabled and is_debuntu - name: Restart http - service: name={{ apache_service }} - state=reloaded + service: + name: "{{ apache_service }}" + state: reloaded - name: add pathagar to service list - ini_file: dest='{{ service_filelist }}' - section=pathagar - option='{{ item.option }}' - value='{{ item.value }}' + ini_file: + dest: "{{ service_filelist }}" + section: pathagar + option: "{{ item.option }}" + value: "{{ item.value }}" with_items: - option: name value: pathagar From 264b48fdd775f0950a0cf1fe5ce145c3309a55e9 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 22 Mar 2018 12:06:19 -0400 Subject: [PATCH 19/21] single quotes to protect regexp: '^host\s+pathagar' ? --- roles/pathagar/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/pathagar/tasks/main.yml b/roles/pathagar/tasks/main.yml index 1e9a9902f..cbf1fba98 100644 --- a/roles/pathagar/tasks/main.yml +++ b/roles/pathagar/tasks/main.yml @@ -98,7 +98,7 @@ lineinfile: backup: yes dest: /library/pgsql-iiab/pg_hba.conf - regexp: "^host\s+pathagar" + regexp: '^host\s+pathagar' line: "host pathagar pathagar samehost md5" state: present insertafter: "^# IPv4 local connections" @@ -112,7 +112,7 @@ state: reloaded when: enable_pathagar_md5_access.changed -- name: Create pathagar postgresql database +- name: Create Pathagar postgresql database postgresql_db: name: "{{ pathagar_db_name }}" encoding: utf8 From 219a07b0bc4e9f8d0b978dc36c8f8ea226841a9e Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 22 Mar 2018 12:08:27 -0400 Subject: [PATCH 20/21] Update main.yml --- roles/pathagar/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/pathagar/tasks/main.yml b/roles/pathagar/tasks/main.yml index cbf1fba98..129a5bc59 100644 --- a/roles/pathagar/tasks/main.yml +++ b/roles/pathagar/tasks/main.yml @@ -3,7 +3,7 @@ name: pathagar state: absent -- name: Install Pathagar prerequisites (both fedora and debian) +- name: Install Pathagar prerequisites (all OSs) package: name: "{{ item }}" state: present @@ -193,7 +193,7 @@ name: "{{ apache_service }}" state: reloaded -- name: add pathagar to service list +- name: add Pathagar to service list ini_file: dest: "{{ service_filelist }}" section: pathagar From 44e95338720ed4ff7504534b298ad7587e2c06ed Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 22 Mar 2018 12:09:41 -0400 Subject: [PATCH 21/21] Update main.yml --- roles/pathagar/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/pathagar/tasks/main.yml b/roles/pathagar/tasks/main.yml index 129a5bc59..059285172 100644 --- a/roles/pathagar/tasks/main.yml +++ b/roles/pathagar/tasks/main.yml @@ -193,7 +193,7 @@ name: "{{ apache_service }}" state: reloaded -- name: add Pathagar to service list +- name: Add 'pathagar' to list of services at /etc/iiab/iiab.ini ini_file: dest: "{{ service_filelist }}" section: pathagar