aboutsummaryrefslogtreecommitdiffstats
path: root/roles/mediawiki/tasks/database.yml
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:23:43 -0500
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:52:13 -0500
commit0261e875679f1bf63c8d689da7fc7e014597885d (patch)
tree3f19cd74a0c1070944f75437f30b098d6ef2ffcb /roles/mediawiki/tasks/database.yml
downloadselfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.tar.gz
selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.zip
initial commit
Diffstat (limited to 'roles/mediawiki/tasks/database.yml')
-rw-r--r--roles/mediawiki/tasks/database.yml50
1 files changed, 50 insertions, 0 deletions
diff --git a/roles/mediawiki/tasks/database.yml b/roles/mediawiki/tasks/database.yml
new file mode 100644
index 0000000..b00a8a1
--- /dev/null
+++ b/roles/mediawiki/tasks/database.yml
@@ -0,0 +1,50 @@
+- name: create postgresql database
+ postgresql_db:
+ name: '{{ mediawiki_db_name }}'
+ state: present
+ delegate_to: "{{ postgresql_host.split('.')[0] }}"
+ become: True
+ become_user: postgres
+
+- name: create postgresql user
+ postgresql_user:
+ name: '{{ mediawiki_user }}'
+ db: '{{ mediawiki_db_name }}'
+ priv: ALL
+ state: present
+ delegate_to: "{{ postgresql_host.split('.')[0] }}"
+ become: True
+ become_user: postgres
+
+- name: check if database schema is initialized
+ postgresql_query:
+ login_user: '{{ mediawiki_user }}'
+ login_host: '{{ mediawiki_db_host }}'
+ db: '{{ mediawiki_db_name }}'
+ query: SELECT 1 FROM mediawiki.page
+ become: True
+ become_user: apache
+ environment:
+ GSS_USE_PROXY: 'yes'
+ register: mediawiki_check_db
+ failed_when: false
+
+- name: initialize database schema
+ command: >
+ php {{ mediawiki_home }}/maintenance/install.php
+ --server {{ mediawiki_url }}
+ --dbuser {{ mediawiki_user }}
+ --dbname {{ mediawiki_db_name }}
+ --dbserver {{ mediawiki_db_host }}
+ --dbtype postgres
+ --pass {{ mediawiki_admin_password | quote }}
+ --scriptpath /
+ {{ mediawiki_site_name | quote }}
+ {{ mediawiki_admin_username }}
+ become: True
+ become_user: apache
+ environment:
+ GSS_USE_PROXY: 'yes'
+ when:
+ - mediawiki_check_db.msg is defined
+ - mediawiki_check_db.msg is search('relation "mediawiki.page" does not exist')