blob: d0c38203af44124c6bb7d44f906a8d19907d5a27 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
- name: install packages
dnf:
name: '{{ mediawiki_packages }}'
state: present
- name: set PHP APC cache size
lineinfile:
path: /etc/php.d/40-apcu.ini
regexp: ^apc\.shm_size=
line: apc.shm_size={{ mediawiki_apc_shm_size }}
state: present
notify: restart php-fpm
- import_tasks: freeipa.yml
tags: freeipa
- name: create mediawiki webroot
file:
path: '{{ mediawiki_home }}'
state: directory
- name: get current mediawiki version
command: php {{ mediawiki_home }}/maintenance/version.php
become: True
become_user: apache
environment:
GSS_USE_PROXY: 'yes'
changed_when: no
failed_when: no
register: mediawiki_current_version
- name: extract mediawiki tarball
unarchive:
src: '{{ mediawiki_tarball }}'
remote_src: yes
dest: '{{ mediawiki_home }}'
owner: apache
group: apache
extra_opts:
- '--strip-components=1'
- name: set permissions on writeable directories
file:
path: '{{ mediawiki_home }}/{{ item }}'
state: directory
mode: 0770
owner: apache
group: apache
setype: _default
loop: '{{ mediawiki_writable_dirs }}'
- name: set selinux context for writeable directories
sefcontext:
target: '{{ mediawiki_home }}/{{ item }}(/.*)?'
setype: httpd_sys_rw_content_t
state: present
loop: '{{ mediawiki_writable_dirs }}'
register: mediawiki_writeable_sefcontext
tags: selinux
- name: apply selinux context to writeable directories
command: 'restorecon -R {{ mediawiki_home }}/{{ item }}'
when: mediawiki_writeable_sefcontext.results[index].changed
loop: '{{ mediawiki_writable_dirs }}'
loop_control:
index_var: index
tags: selinux
- name: set selinux context for executable directories
sefcontext:
target: '{{ mediawiki_home }}/{{ item }}(/.*)?'
setype: httpd_sys_script_exec_t
state: present
loop: '{{ mediawiki_executable_dirs }}'
register: mediawiki_executable_sefcontext
tags: selinux
- name: apply selinux context to executable directories
command: 'restorecon -R {{ mediawiki_home }}/{{ item }}'
when: mediawiki_executable_sefcontext.results[index].changed
loop: '{{ mediawiki_executable_dirs }}'
loop_control:
index_var: index
tags: selinux
- import_tasks: database.yml
tags: database
- name: generate LocalSettings.php
template:
src: '{{ mediawiki_home[1:] }}/LocalSettings.php.j2'
dest: '{{ mediawiki_home }}/LocalSettings.php'
owner: root
group: apache
mode: 0640
register: mediawiki_localsettings
- name: install extensions
include_tasks: extension.yml
vars:
extension_name: '{{ item if item is string else item.name }}'
extension_version: '{{ mediawiki_extension_version if item is string else (item.version | default(mediawiki_extension_version)) }}'
loop: '{{ mediawiki_extensions }}'
- name: update database schema
command: php {{ mediawiki_home }}/maintenance/update.php --quick
become: yes
become_user: apache
environment:
GSS_USE_PROXY: 'yes'
when: mediawiki_localsettings.changed or (mediawiki_current_version.rc == 0 and not mediawiki_current_version.stdout is search(mediawiki_version))
- name: copy robots.txt
copy:
src: '{{ mediawiki_home[1:] }}/robots.txt'
dest: '{{ mediawiki_home }}/robots.txt'
- name: copy 1x logo
copy:
src: '{{ mediawiki_logo_1x }}'
dest: '{{ mediawiki_home }}/resources/assets/{{ mediawiki_logo_1x | basename }}'
when: mediawiki_logo_1x is defined
- name: copy icon logo
copy:
src: '{{ mediawiki_logo_icon }}'
dest: '{{ mediawiki_home }}/resources/assets/{{ mediawiki_logo_icon | basename }}'
when: mediawiki_logo_icon is defined
- name: copy favicon
copy:
src: '{{ mediawiki_favicon }}'
dest: '{{ mediawiki_home }}/resources/assets/{{ mediawiki_favicon | basename }}'
when: mediawiki_favicon is defined
|