decorrelation SITE et sous domain
[lhc/ansible.git] / tasks / config_paheko.yml
1 - name: Etckeeper commit if necessary
2 ansible.builtin.command: etckeeper commit "commit by ansible because installing {{ DOMAIN }}/{{ SITE }}"
3
4 - name: Install required packages
5 ansible.builtin.apt:
6 name:
7 - php
8 - php-sqlite3
9 - php-intl
10 - php-cli
11 - imagemagick
12 - php-imagick
13 - php-mbstring
14 - php-gnupg
15 state: present
16 register: php_install
17
18 - name: Enable PHP modules
19 ansible.builtin.command: phpenmod sqlite3 imagick intl
20 when: php_install.changed
21
22 - name: Bloc paheko_version
23 when: paheko_version is undefined
24 block:
25 - name: Demande la version de paheko à installer
26 ansible.builtin.pause:
27 prompt: "Quelle version de paheko doit être utilisé"
28 echo: true
29 register: paheko_version_prompt
30
31 - name: Definir paheko_version
32 ansible.builtin.set_fact:
33 paheko_version: "{{ paheko_version_prompt.user_input }}"
34
35 - name: Vérif si la source paheko est téléchargée
36 become: true
37 ansible.builtin.stat:
38 path: "/home/sites/data/paheko/{{ paheko_version }}"
39 register: paheko_source_path
40
41 - name: Installion de la nouvelle version paheko
42 when: not paheko_source_path.stat.exists
43 block:
44
45 - name: Boucle création ou modifications des répertoires pahéko
46 ansible.builtin.file:
47 path: "{{ item.path }}"
48 state: "{{ item.state }}"
49 owner: "{{ item.owner }}"
50 group: "{{ item.group }}"
51 mode: "{{ item.mode }}"
52 loop_control:
53 label: "{{ item.path }}"
54 loop:
55 - path: "/home/sites/data/paheko/{{ paheko_version }}"
56 state: "directory"
57 owner: "www-data"
58 group: "www-data"
59 mode: "755"
60
61 - name: Telecharger la source Paheko
62 become: true
63 become_user: www-data
64 ansible.builtin.get_url:
65 url: "https://fossil.kd2.org/paheko/uv/paheko-{{ paheko_version }}.tar.gz"
66 dest: "/home/sites/data/paheko/{{ paheko_version }}.tar.gz"
67 mode: '755' # or u=rwx,g=rx,o=rx
68
69 - name: Extract downloaded paheko source
70 become: true
71 become_user: www-data
72 ansible.builtin.unarchive:
73 src: "/home/sites/data/paheko/{{ paheko_version }}.tar.gz"
74 dest: "/home/sites/data/paheko"
75 # mode: '755' # or u=rwx,g=rx,o=rx
76 remote_src: true
77
78 - name: Renommer paheko-version par uniquement la version
79 become: true
80 become_user: www-data
81 ansible.builtin.copy:
82 src: "/home/sites/data/paheko/paheko-{{ paheko_version }}/"
83 dest: "/home/sites/data/paheko/{{ paheko_version }}"
84 remote_src: true # because the config file is already on the paheko path
85 mode: preserve
86
87 - name: Deleted downloaded paheko files
88 become: true
89 ansible.builtin.file:
90 path: "{{ item }}"
91 state: absent
92 loop:
93 - "/home/sites/data/paheko/{{ paheko_version }}.tar.gz"
94 - "/home/sites/data/paheko/paheko-{{ paheko_version }}"
95
96 - name: Copie la source paheko vers le home du site
97 become: true
98 # become_user: "php_{{ SIGLE }}_{{ SITE }}"
99 ansible.builtin.copy:
100 src: "/home/sites/data/paheko/{{ paheko_version }}/"
101 dest: "/home/sites/data/{{ TLD }}/{{ DOMAIN }}/{{ SITE }}"
102 remote_src: true # because the config file is already in the nextcloud_tmp_path
103 mode: '2750'
104
105 - name: Modification du propriétaire group et droits du dossier
106 ansible.builtin.file:
107 path: "/home/sites/data/{{ TLD }}/{{ DOMAIN }}/{{ SITE }}/"
108 state: directory
109 owner: "php_{{ SIGLE }}_{{ SITE }}"
110 group: "site_{{ SIGLE }}_{{ SITE }}"
111 mode: '2750'
112 recurse: true
113
114 # - name: Change displayed icon
115 # ansible.builtin.copy:
116 # src: "{{ icon }}"
117 # dest: "/usr/share/garradin/www/admin/static/icon{{ icon | splitext | last }}"
118 # when: icon is defined
119
120 # - name: Change page favicon
121 # ansible.builtin.copy:
122 # src: "{{ favicon }}"
123 # dest: "/usr/share/garradin/www/admin/static/favicon{{ icon | splitext | last }}"
124 # when: favicon is defined
125
126 - name: Recharger PHP et nginx
127 ansible.builtin.service:
128 name: "{{ item }}"
129 state: reloaded
130 loop:
131 - "php{{ php_version }}-fpm"
132 - "nginx"