ansible-collection-mailserver/roles/postfixadmin/tasks/install.yml

63 lines
2.1 KiB
YAML

---
- name: Install php dependencies
ansible.builtin.apt:
name:
- php-imap
- php-mysql
- php-mbstring
- python3-pymysql # required by ansible
- name: Create postfixadmin installation directory
ansible.builtin.file:
path: "{{ postfixadmin_installation_prefix }}/postfixadmin-{{ postfixadmin_version }}"
state: directory
owner: root
group: www-data
mode: "0755"
- name: Download and unpack postfixadmin release
ansible.builtin.unarchive:
remote_src: true
src: "https://github.com/postfixadmin/postfixadmin/archive/refs/tags/postfixadmin-{{ postfixadmin_version }}.tar.gz"
dest: "{{ postfixadmin_installation_prefix }}/postfixadmin-{{ postfixadmin_version }}"
creates: "{{ postfixadmin_installation_prefix }}/postfixadmin-{{ postfixadmin_version }}/config.inc.php"
extra_opts: ["--strip-components=1"]
owner: root
group: www-data
mode: "0755"
- name: Create templates_c directory
ansible.builtin.file:
path: "{{ postfixadmin_installation_prefix }}/postfixadmin-{{ postfixadmin_version }}/templates_c"
state: directory
owner: root
group: www-data
mode: "0775"
- name: Create config.local.php
ansible.builtin.template:
src: config.local.php.j2
dest: "{{ postfixadmin_installation_prefix }}/postfixadmin-{{ postfixadmin_version }}/config.local.php"
owner: root
group: www-data
mode: "0640"
- name: Change config.inc.php permissions
ansible.builtin.file:
path: "{{ postfixadmin_installation_prefix }}/postfixadmin-{{ postfixadmin_version }}/config.inc.php"
owner: root
group: www-data
mode: "0640"
- name: Symlink postfixadmin-cli to /usr/local/bin
ansible.builtin.file:
path: "/usr/local/bin/postfixadmin-cli"
src: "{{ postfixadmin_installation_prefix }}/postfixadmin-{{ postfixadmin_version }}/scripts/postfixadmin-cli"
state: link
- name: Symlink to new installation directory
ansible.builtin.file:
path: "{{ postfixadmin_installation_prefix }}/postfixadmin"
src: "{{ postfixadmin_installation_prefix }}/postfixadmin-{{ postfixadmin_version }}"
state: link