Postfix "Satellite" Server mit Ansible verwalten

Folgendes Ansible Playbook werde ich verwenden um auf Entwicklungs- und Testservern den SMTP Server Postfix einzurichten. Die Konfiguration soll so erfolgen das alle Mails über einen Google Mail Account gerouted werden. Die Idee habe ich im wesentlichen von hier übernommen. Nur habe ich die Anmeldung mit Mandrill nicht hinbekommen.

Zuerst wird die Software installiert, dann die Kennwörter für Google eingerichet und die notwendigen Konfigurationsänderung vorgenommen.

Hier das Playbook

---
- hosts: dev-server
  sudo : yes
  tasks:
  - name: Installs postfix mail server
    apt: pkg=postfix state=installed update_cache=true
    notify:
    - start postfix
  - name: Upload gmail authentication info
    copy: src=postfix-gmail-password dest=/etc/postfix/sasl_passwd mode=0600 owner=root group=root
    register: gmail
    notify:
     - postmap sasl_passwd
  - name: remove empty mailrelay line
    lineinfile: dest=/etc/postfix/main.cf line="relayhost = " state=absent
  - name: Append gmail relay config
    lineinfile: 
      dest=/etc/postfix/main.cf
      line=""
    with_items:
      - { line: 'smtp_sasl_auth_enable = yes' }
      - { line: 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd' }
      - { line: 'smtp_sasl_security_options = noanonymous' }
      - { line: 'smtp_use_tls = yes' }
      - { line: 'relayhost = [smtp.gmail.com]:587' }  
      - { line: 'smtp_tls_security_level = may' }
    notify: 
      - restart postfix
   handlers:
  - name: start postfix 
    service: name=postfix state=started
  - name: make sure postfix user owns postfix dir 
    command: sudo chown postfix /etc/postfix
  - name: postmap sasl_passwd
    command: postmap /etc/postfix/sasl_passwd
    when: gmail|success
  - name: restart postfix
    service: name=postfix state=restarted

Das Template für die Anmeldeinformation

vi postfix-gmail-password

  [smtp.gmail.com]:587 user@gmail.com:password-for-gmail

Aufgerufen wird das dann einfach mit

 ansible-playbook postfix.yml

und schon wird auf allen Entwicklungsservern die gleiche Postfix Konfiguration verteilt.

17.10.14 Weitere Beiträge zu: postfix Ansible

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License