tasks:
# packages
- name: check minimal system version
- command: "false"
when: not (ansible_distribution == "Debian" and ansible_lsb.major_release|int >= 9)
+ command: "false"
- name: detect if we have backports in the sources.list
command: fgrep backports /etc/apt/sources.list
register: backports
failed_when: backports.rc == 2
changed_when: False
- name: add backports repository
- apt_repository: repo='deb http://httpredir.debian.org/debian {{ansible_distribution_release}}-backports main contrib non-free' state=present update_cache=yes
when: backports.rc != 0
+ apt_repository: repo='deb http://httpredir.debian.org/debian {{ansible_distribution_release}}-backports main contrib non-free' state=present update_cache=yes
- name: get rid of packages we do not want
apt: name=exim4-base,rpcbind state=absent autoremove=yes
- name: install needrestart (from backports)
dest: /root/server-scripts
repo: 'git://ralfj.de/server-scripts'
version: 07d301fd8adeaf8ad40591a418da394ad37816ce
+ # configuration
+ - name: configure root shell
+ copy:
+ dest: /root/{{ item }}
+ remote_src: True
+ src: /etc/skel/{{ item }}
+ loop:
+ - .profile
+ - .bashrc
+ - .bash_logout
dest: /etc/default/opendkim
src: templates/opendkim.env
- name: regenerate opendkim service
- shell: /lib/opendkim/opendkim.service.generate && systemctl daemon-reload
when: opendkim_env.changed
+ shell: /lib/opendkim/opendkim.service.generate && systemctl daemon-reload
notify: opendkim
# tables
- name: generate opendkim keys
- name: install postfix
apt: name=postfix,bsd-mailx state=latest
- name: install postfix-mysql
- apt: name=postfix-mysql state=latest
when: postfix.vmail_mysql_password is defined
+ apt: name=postfix-mysql state=latest
- name: enable postfix
service: name=postfix enabled=yes
# config
- master.cf
notify: postfix
- name: install postfix mysql config
+ when: postfix.vmail_mysql_password is defined
template:
dest: /etc/postfix/{{ item }}
src: templates/{{ item }}
- mysql_vmail_senders.cf
- mysql_vmail_users.cf
notify: postfix
- when: postfix.vmail_mysql_password is defined
- name: create empty maps
+ when: postfix.virtual_mailbox_domains is defined
copy:
dest: /etc/postfix/{{ item }}
content: ""
loop:
- virtual_alias_map
- transport_map
- when: postfix.virtual_mailbox_domains is defined
# cronjob
- name: delete old local-mail cronjob
file: path=/etc/cron.daily/local-mail state=absent
- import_playbook: base.yml
- import_playbook: upgrade.yml
- import_playbook: email.yml
+- import_playbook: web.yml