From 7d3bfea2cac07c49349fe5ef3b0265e825bd79d1 Mon Sep 17 00:00:00 2001 From: Kris Lamoureux Date: Thu, 30 Jan 2020 22:32:40 -0500 Subject: [PATCH] Semi-installation --- roles/mediawiki/tasks/main.yml | 36 ++++++++++++++++++++- roles/mediawiki/templates/mediawiki.conf.j2 | 4 +++ webserver.yml | 6 ++-- 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/roles/mediawiki/tasks/main.yml b/roles/mediawiki/tasks/main.yml index df93ad6..8e1ac98 100644 --- a/roles/mediawiki/tasks/main.yml +++ b/roles/mediawiki/tasks/main.yml @@ -17,11 +17,23 @@ state: present login_unix_socket: /var/run/mysqld/mysqld.sock +- name: Install PHP Modules + apt: + name: ['php-xml', 'php-mbstring'] + state: present + notify: Reload Apache2 + - name: Create Public HTML Directory file: path: "{{ mw_dir }}/public_html" state: directory +# https://www.mediawiki.org/wiki/Manual:Short_URL#Moving_a_wiki_from_/wiki_to_/w +- name: Create Directory /w for Short URLs + file: + path: "{{ mw_dir }}/public_html/w" + state: directory + - name: Create Logs Directory file: path: "{{ mw_dir }}/logs" @@ -37,12 +49,34 @@ - name: Extract MediaWiki unarchive: src: /tmp/mediawiki-{{ mw_version }}.tar.gz - dest: "{{ mw_dir }}/public_html" + dest: "{{ mw_dir }}/public_html/w" owner: www-data group: www-data extra_opts: [--strip-components=1] remote_src: yes +- name: Install MediaWiki + command: | + php maintenance/install.php --server="http://{{ mw_domain }}/" \ + --dbname="{{ mw_db_name }}" --dbuser="{{ mw_db_user }}" \ + --dbpass="{{ mw_db_pass }}" --pass="{{ mw_admin_pass }}" \ + --scriptpath="/w" "{{ mw_namespace }}" "{{ mw_admin }}" + args: + chdir: "{{ mw_dir }}/public_html/w" + creates: "{{ mw_dir }}/public_html/w/LocalSettings.php" + +- name: Set MediaWiki Article Path + lineinfile: + path: "{{ mw_dir }}/public_html/w/LocalSettings.php" + regexp: '^\$wgArticlePath' + insertafter: '^\$wgScriptPath' + line: '$wgArticlePath = "/wiki/$1";' + +- name: "Enable Apache Module: rewrite" + apache2_module: + name: rewrite + state: present + - name: Apply Apache Configuration template: src: mediawiki.conf.j2 diff --git a/roles/mediawiki/templates/mediawiki.conf.j2 b/roles/mediawiki/templates/mediawiki.conf.j2 index 8189fb1..dcd461c 100644 --- a/roles/mediawiki/templates/mediawiki.conf.j2 +++ b/roles/mediawiki/templates/mediawiki.conf.j2 @@ -4,6 +4,10 @@ ServerAdmin {{ mw_admin_email }} DocumentRoot {{ mw_dir }}/public_html + RewriteEngine On + RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L] + RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L] + ErrorLog {{ mw_dir }}/logs/error.log CustomLog {{ mw_dir }}/logs/access.log combined diff --git a/webserver.yml b/webserver.yml index d6c709a..9ae0635 100644 --- a/webserver.yml +++ b/webserver.yml @@ -19,7 +19,7 @@ roles: - ansible - webserver - - wordpress - - nextcloud - - timetrex + #- wordpress + #- nextcloud + #- timetrex - mediawiki