diff --git a/roles/mediawiki/tasks/main.yml b/roles/mediawiki/tasks/main.yml new file mode 100644 index 0000000..df93ad6 --- /dev/null +++ b/roles/mediawiki/tasks/main.yml @@ -0,0 +1,56 @@ +- name: Install MySQL Support for Python + apt: + name: python-pymysql + state: present + +- name: Create Database + mysql_db: + name: "{{ mw_db_name }}" + state: present + login_unix_socket: /var/run/mysqld/mysqld.sock + +- name: Create Database User + mysql_user: + name: "{{ mw_db_user }}" + password: "{{ mw_db_pass }}" + priv: "{{ mw_db_name }}.*:ALL,GRANT" + state: present + login_unix_socket: /var/run/mysqld/mysqld.sock + +- name: Create Public HTML Directory + file: + path: "{{ mw_dir }}/public_html" + state: directory + +- name: Create Logs Directory + file: + path: "{{ mw_dir }}/logs" + state: directory + +- name: Download MediaWiki + get_url: + url: "https://releases.wikimedia.org/mediawiki/\ + {{ mw_version | regex_replace('\\.\\d+$', '') }}/\ + mediawiki-{{ mw_version }}.tar.gz" + dest: /tmp/mediawiki-{{ mw_version }}.tar.gz + +- name: Extract MediaWiki + unarchive: + src: /tmp/mediawiki-{{ mw_version }}.tar.gz + dest: "{{ mw_dir }}/public_html" + owner: www-data + group: www-data + extra_opts: [--strip-components=1] + remote_src: yes + +- name: Apply Apache Configuration + template: + src: mediawiki.conf.j2 + dest: /etc/apache2/sites-available/{{ mw_domain }}.conf + notify: Reload Apache2 + +- name: Enable Apache Website + shell: a2ensite {{ mw_domain }} + args: + creates: /etc/apache2/sites-enabled/{{ mw_domain }}.conf + notify: Reload Apache2 diff --git a/roles/mediawiki/templates/mediawiki.conf.j2 b/roles/mediawiki/templates/mediawiki.conf.j2 new file mode 100644 index 0000000..8189fb1 --- /dev/null +++ b/roles/mediawiki/templates/mediawiki.conf.j2 @@ -0,0 +1,11 @@ + + ServerName {{ mw_domain }} + + ServerAdmin {{ mw_admin_email }} + DocumentRoot {{ mw_dir }}/public_html + + ErrorLog {{ mw_dir }}/logs/error.log + CustomLog {{ mw_dir }}/logs/access.log combined + + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/webserver.yml b/webserver.yml index a371951..d6c709a 100644 --- a/webserver.yml +++ b/webserver.yml @@ -22,3 +22,4 @@ - wordpress - nextcloud - timetrex + - mediawiki