101 lines
2.4 KiB
YAML
101 lines
2.4 KiB
YAML
---
|
|
# Setup dependencies
|
|
- name: Install framadate APT dependencies
|
|
apt:
|
|
update_cache: true
|
|
name:
|
|
- nginx
|
|
- php-fpm
|
|
- php-intl
|
|
- php-mbstring
|
|
- php-mysql
|
|
- composer
|
|
- python3-passlib # Necessary for htpasswd module
|
|
- python3-pymysql
|
|
- mariadb-server
|
|
register: apt_result
|
|
retries: 3
|
|
until: apt_result is succeeded
|
|
|
|
- name: Clone framadate project
|
|
git:
|
|
repo: "{{ glob_framadate.repo }}"
|
|
dest: "{{ loc_framadate.path }}"
|
|
version: "{{ glob_framadate.version }}"
|
|
|
|
# Cet item là raises forcement un changed à cause du recurse: true
|
|
# https://github.com/ansible/ansible/issues/32636
|
|
- name: Set perms on framadate code
|
|
file:
|
|
path: "{{ loc_framadate.path }}"
|
|
state: directory
|
|
owner: www-data
|
|
group: www-data
|
|
recurse: true
|
|
|
|
- name: Install Framadate dependencies
|
|
composer:
|
|
command: install
|
|
working_dir: "{{ loc_framadate.path }}"
|
|
become: true
|
|
become_user: www-data
|
|
register: composer_result
|
|
retries: 3
|
|
until: composer_result is succeeded
|
|
|
|
- name: Create log file
|
|
file:
|
|
path: "{{ loc_framadate.path }}/admin/stdout.log"
|
|
owner: www-data
|
|
mode: 0600
|
|
state: touch
|
|
|
|
- name: Configure framadate
|
|
template:
|
|
src: framadate/app/inc/config.php.j2
|
|
dest: "{{ loc_framadate.path }}/app/inc/config.php"
|
|
owner: www-data
|
|
group: www-data
|
|
|
|
- name: Configure admin password
|
|
htpasswd:
|
|
path: /etc/nginx/.htpasswd
|
|
name: "{{ glob_framadate.admin_username }}"
|
|
password: "{{ glob_framadate.admin_password }}"
|
|
owner: root
|
|
group: www-data
|
|
mode: 0640
|
|
|
|
- name: Configure nginx site
|
|
template:
|
|
src: nginx/sites-available/framadate.j2
|
|
dest: /etc/nginx/sites-available/framadate
|
|
notify: restart nginx
|
|
|
|
- name: Enable nginx site
|
|
file:
|
|
src: /etc/nginx/sites-available/framadate
|
|
dest: /etc/nginx/sites-enabled/framadate
|
|
state: link
|
|
notify: restart nginx
|
|
|
|
- name: Create the database
|
|
mysql_db:
|
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
|
name: framadate
|
|
state: present
|
|
|
|
- name: Grant access right to framadate
|
|
mysql_user:
|
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
|
name: framadate
|
|
password: "{{ glob_framadate.db_password }}"
|
|
priv: 'framadate.*:ALL'
|
|
state: present
|
|
|
|
- name: Indicate role in motd
|
|
template:
|
|
src: update-motd.d/05-service.j2
|
|
dest: /etc/update-motd.d/05-framadate
|
|
mode: 0755
|