--- - 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: yes 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