SSE-Lab/ansible/playbooks/roles/robgmills.pure-ftpd/tasks/main.yml

39 lines
1.3 KiB
YAML

---
# Variable setup.
- name: Include OS-specific variables.
include_vars: "{{ ansible_os_family }}.yml"
# Setup/install tasks.
- include_tasks: setup-Debian.yml
when: ansible_os_family == 'Debian'
# Pure-FTPd setup
- name: Create the FTP system group '{{ pure_ftpd_group }}'
group: name={{ pure_ftpd_group }} state=present
- name: Create the FTP system user '{{ pure_ftpd_user }}'
user: name={{ pure_ftpd_user }} group={{ pure_ftpd_group }} home=/dev/null shell=/sbin/nologin state=present
- name: Create FTP server root directory '{{ pure_ftpd_root }}'
file: dest={{ pure_ftpd_root }} mode=0755 state=directory owner={{ pure_ftpd_user }} group={{ pure_ftpd_group }}
# Create and/or install SSL certificate
- include_tasks: tls.yml
when: pure_ftpd_tls
# Create the virtual FTP users and set their passwords
- include_tasks: virtual-user.yml
with_items: "{{ pure_ftpd_vusers }}"
- name: Link virtual FTP user database to the correct location
file: src={{ __ftp_user_db }} dest={{ __ftp_user_db_sym }} state=link
register: r_linkdb
- name: Restart pure-ftpd
service: name=pure-ftpd state=restarted
when: r_linkdb.changed
# - Ensure that FTP service is running
- name: Ensure pure-ftpd is started and enabled to start at boot.
service: name=pure-ftpd state=started enabled=yes