diff --git a/Vagrantfile b/Vagrantfile index d6e6bb5..8e6ee70 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -39,7 +39,7 @@ Vagrant.configure(2) do |config| # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data" - config.vm.synced_folder ".", "/root" + config.vm.synced_folder "ansible", "/root" # Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. @@ -72,10 +72,11 @@ Vagrant.configure(2) do |config| # SHELL config.vm.provision "ansible" do |ansible| - ansible.playbook = "playbooks/ispmail.yml" - ansible.become = true - ansible.become_user = 'root' - ansible.compatibility_mode = '2.0' + ansible.playbook = "ansible/ispmail.yml" + ansible.sudo = true + #ansible.become = true + #ansible.become_user = 'root' + #ansible.compatibility_mode = '2.0' #ansible.verbose = 'vvv' end diff --git a/ansible.cfg b/ansible/ansible.cfg similarity index 90% rename from ansible.cfg rename to ansible/ansible.cfg index ffd7210..423b554 100644 --- a/ansible.cfg +++ b/ansible/ansible.cfg @@ -5,7 +5,7 @@ display_skipped_hosts = False # Look for the inventory of hosts in the current directory -hostfile = ./hosts +inventory = ./hosts # Connect as 'root' by default via SSH remote_user = root @@ -23,4 +23,4 @@ pipelining = True log_path = ./log # Path to roles -roles_path = ./roles +roles_path = ansible/roles diff --git a/group_vars/all b/ansible/group_vars/all similarity index 100% rename from group_vars/all rename to ansible/group_vars/all diff --git a/hosts b/ansible/hosts similarity index 100% rename from hosts rename to ansible/hosts diff --git a/ansible/ispmail.retry b/ansible/ispmail.retry new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/ansible/ispmail.retry @@ -0,0 +1 @@ +default diff --git a/playbooks/ispmail.yml b/ansible/ispmail.yml similarity index 93% rename from playbooks/ispmail.yml rename to ansible/ispmail.yml index 722d9f6..c8a2717 100644 --- a/playbooks/ispmail.yml +++ b/ansible/ispmail.yml @@ -2,7 +2,7 @@ # Requires Ansible >= 1.9 - hosts: all roles: - #- dumpvars + - dumpvars - ispmail-packages - ispmail-certificate - ispmail-database diff --git a/ansible/roles/dumpvars/README.md b/ansible/roles/dumpvars/README.md new file mode 100644 index 0000000..3273a00 --- /dev/null +++ b/ansible/roles/dumpvars/README.md @@ -0,0 +1,4 @@ +# Purpose + +Create a file /tmp/ansible-vars on the target system containing all +Ansible variables. Useful for debugging. diff --git a/roles/dumpvars/tasks/main.yml b/ansible/roles/dumpvars/tasks/main.yml similarity index 100% rename from roles/dumpvars/tasks/main.yml rename to ansible/roles/dumpvars/tasks/main.yml diff --git a/roles/dumpvars/templates/dumpall.j2 b/ansible/roles/dumpvars/templates/dumpall.j2 similarity index 100% rename from roles/dumpvars/templates/dumpall.j2 rename to ansible/roles/dumpvars/templates/dumpall.j2 diff --git a/roles/ispmail-certificate/tasks/main.yml b/ansible/roles/ispmail-certificate/tasks/main.yml similarity index 100% rename from roles/ispmail-certificate/tasks/main.yml rename to ansible/roles/ispmail-certificate/tasks/main.yml diff --git a/roles/ispmail-database/files/schema.sql b/ansible/roles/ispmail-database/files/schema.sql similarity index 100% rename from roles/ispmail-database/files/schema.sql rename to ansible/roles/ispmail-database/files/schema.sql diff --git a/roles/ispmail-database/files/test.sql b/ansible/roles/ispmail-database/files/test.sql similarity index 100% rename from roles/ispmail-database/files/test.sql rename to ansible/roles/ispmail-database/files/test.sql diff --git a/roles/ispmail-database/tasks/main.yml b/ansible/roles/ispmail-database/tasks/main.yml similarity index 100% rename from roles/ispmail-database/tasks/main.yml rename to ansible/roles/ispmail-database/tasks/main.yml diff --git a/roles/ispmail-database/templates/my-cnf.j2 b/ansible/roles/ispmail-database/templates/my-cnf.j2 similarity index 100% rename from roles/ispmail-database/templates/my-cnf.j2 rename to ansible/roles/ispmail-database/templates/my-cnf.j2 diff --git a/roles/ispmail-dovecot/files/10-mail.conf b/ansible/roles/ispmail-dovecot/files/10-mail.conf similarity index 100% rename from roles/ispmail-dovecot/files/10-mail.conf rename to ansible/roles/ispmail-dovecot/files/10-mail.conf diff --git a/roles/ispmail-dovecot/files/10-master.conf b/ansible/roles/ispmail-dovecot/files/10-master.conf similarity index 100% rename from roles/ispmail-dovecot/files/10-master.conf rename to ansible/roles/ispmail-dovecot/files/10-master.conf diff --git a/roles/ispmail-dovecot/files/10-ssl.conf b/ansible/roles/ispmail-dovecot/files/10-ssl.conf similarity index 100% rename from roles/ispmail-dovecot/files/10-ssl.conf rename to ansible/roles/ispmail-dovecot/files/10-ssl.conf diff --git a/roles/ispmail-dovecot/files/15-mailboxes.conf b/ansible/roles/ispmail-dovecot/files/15-mailboxes.conf similarity index 100% rename from roles/ispmail-dovecot/files/15-mailboxes.conf rename to ansible/roles/ispmail-dovecot/files/15-mailboxes.conf diff --git a/roles/ispmail-dovecot/files/20-lmtp.conf b/ansible/roles/ispmail-dovecot/files/20-lmtp.conf similarity index 100% rename from roles/ispmail-dovecot/files/20-lmtp.conf rename to ansible/roles/ispmail-dovecot/files/20-lmtp.conf diff --git a/roles/ispmail-dovecot/files/90-sieve.conf b/ansible/roles/ispmail-dovecot/files/90-sieve.conf similarity index 100% rename from roles/ispmail-dovecot/files/90-sieve.conf rename to ansible/roles/ispmail-dovecot/files/90-sieve.conf diff --git a/roles/ispmail-dovecot/files/auth-sql.conf.ext b/ansible/roles/ispmail-dovecot/files/auth-sql.conf.ext similarity index 100% rename from roles/ispmail-dovecot/files/auth-sql.conf.ext rename to ansible/roles/ispmail-dovecot/files/auth-sql.conf.ext diff --git a/roles/ispmail-dovecot/files/spam-to-folder.sieve b/ansible/roles/ispmail-dovecot/files/spam-to-folder.sieve similarity index 100% rename from roles/ispmail-dovecot/files/spam-to-folder.sieve rename to ansible/roles/ispmail-dovecot/files/spam-to-folder.sieve diff --git a/roles/ispmail-dovecot/handlers/main.yml b/ansible/roles/ispmail-dovecot/handlers/main.yml similarity index 100% rename from roles/ispmail-dovecot/handlers/main.yml rename to ansible/roles/ispmail-dovecot/handlers/main.yml diff --git a/roles/ispmail-dovecot/tasks/main.yml b/ansible/roles/ispmail-dovecot/tasks/main.yml similarity index 100% rename from roles/ispmail-dovecot/tasks/main.yml rename to ansible/roles/ispmail-dovecot/tasks/main.yml diff --git a/roles/ispmail-dovecot/templates/dovecot-sql.conf.ext.j2 b/ansible/roles/ispmail-dovecot/templates/dovecot-sql.conf.ext.j2 similarity index 100% rename from roles/ispmail-dovecot/templates/dovecot-sql.conf.ext.j2 rename to ansible/roles/ispmail-dovecot/templates/dovecot-sql.conf.ext.j2 diff --git a/roles/ispmail-packages/tasks/main.yml b/ansible/roles/ispmail-packages/tasks/main.yml similarity index 100% rename from roles/ispmail-packages/tasks/main.yml rename to ansible/roles/ispmail-packages/tasks/main.yml diff --git a/roles/ispmail-postfix/files/etc-default-spamassassin b/ansible/roles/ispmail-postfix/files/etc-default-spamassassin similarity index 100% rename from roles/ispmail-postfix/files/etc-default-spamassassin rename to ansible/roles/ispmail-postfix/files/etc-default-spamassassin diff --git a/roles/ispmail-postfix/files/spamassassin.patch b/ansible/roles/ispmail-postfix/files/spamassassin.patch similarity index 100% rename from roles/ispmail-postfix/files/spamassassin.patch rename to ansible/roles/ispmail-postfix/files/spamassassin.patch diff --git a/roles/ispmail-postfix/handlers/main.yml b/ansible/roles/ispmail-postfix/handlers/main.yml similarity index 100% rename from roles/ispmail-postfix/handlers/main.yml rename to ansible/roles/ispmail-postfix/handlers/main.yml diff --git a/roles/ispmail-postfix/tasks/main.yml b/ansible/roles/ispmail-postfix/tasks/main.yml similarity index 78% rename from roles/ispmail-postfix/tasks/main.yml rename to ansible/roles/ispmail-postfix/tasks/main.yml index 5b7c357..88b6ff3 100644 --- a/roles/ispmail-postfix/tasks/main.yml +++ b/ansible/roles/ispmail-postfix/tasks/main.yml @@ -60,28 +60,22 @@ - name: Set TLS encryption key command: postconf smtpd_tls_key_file=/etc/ssl/private/mailserver.pem -- name: Copying patch for Debian bug 739738 - copy: src=spamassassin.patch dest=/tmp/spamassassin.patch +# - name: Enabling Spamassassin milter +# command: postconf smtpd_milters=unix:/spamass/spamass.sock -- name: Patching Debian bug 739738 - patch: src=/tmp/spamassassin.patch strip=0 basedir=/ remote_src=True +# - name: Configuring Spamassassin milter +# command: postconf milter_connect_macros="i j {daemon_name} v {if_name} _" -- name: Enabling Spamassassin milter - command: postconf smtpd_milters=unix:/spamass/spamass.sock +# - name: Setting spamd options +# copy: src=etc-default-spamassassin dest=/etc/default/spamassassin +# notify: restart spamassassin -- name: Configuring Spamassassin milter - command: postconf milter_connect_macros="i j {daemon_name} v {if_name} _" +# - name: Adding user spamass-milter to debian-spamd group +# user: name=spamass-milter groups=debian-spamd +# notify: restart spamassassin -- name: Setting spamd options - copy: src=etc-default-spamassassin dest=/etc/default/spamassassin - notify: restart spamassassin - -- name: Adding user spamass-milter to debian-spamd group - user: name=spamass-milter groups=debian-spamd - notify: restart spamassassin - -- name: Enabling spamd at startup - command: systemctl enable spamassassin +# - name: Enabling spamd at startup +# command: systemctl enable spamassassin - name: Allow emails up to 40 MB large command: postconf message_size_limit=41943040 diff --git a/roles/ispmail-postfix/templates/mysql-email2email.cf.j2 b/ansible/roles/ispmail-postfix/templates/mysql-email2email.cf.j2 similarity index 100% rename from roles/ispmail-postfix/templates/mysql-email2email.cf.j2 rename to ansible/roles/ispmail-postfix/templates/mysql-email2email.cf.j2 diff --git a/roles/ispmail-postfix/templates/mysql-virtual-alias-maps.cf.j2 b/ansible/roles/ispmail-postfix/templates/mysql-virtual-alias-maps.cf.j2 similarity index 100% rename from roles/ispmail-postfix/templates/mysql-virtual-alias-maps.cf.j2 rename to ansible/roles/ispmail-postfix/templates/mysql-virtual-alias-maps.cf.j2 diff --git a/roles/ispmail-postfix/templates/mysql-virtual-mailbox-domains.cf.j2 b/ansible/roles/ispmail-postfix/templates/mysql-virtual-mailbox-domains.cf.j2 similarity index 100% rename from roles/ispmail-postfix/templates/mysql-virtual-mailbox-domains.cf.j2 rename to ansible/roles/ispmail-postfix/templates/mysql-virtual-mailbox-domains.cf.j2 diff --git a/roles/ispmail-postfix/templates/mysql-virtual-mailbox-maps.cf.j2 b/ansible/roles/ispmail-postfix/templates/mysql-virtual-mailbox-maps.cf.j2 similarity index 100% rename from roles/ispmail-postfix/templates/mysql-virtual-mailbox-maps.cf.j2 rename to ansible/roles/ispmail-postfix/templates/mysql-virtual-mailbox-maps.cf.j2 diff --git a/roles/ispmail-webmail-apache/handlers/main.yml b/ansible/roles/ispmail-webmail-apache/handlers/main.yml similarity index 100% rename from roles/ispmail-webmail-apache/handlers/main.yml rename to ansible/roles/ispmail-webmail-apache/handlers/main.yml diff --git a/roles/ispmail-webmail-apache/tasks/main.yml b/ansible/roles/ispmail-webmail-apache/tasks/main.yml similarity index 97% rename from roles/ispmail-webmail-apache/tasks/main.yml rename to ansible/roles/ispmail-webmail-apache/tasks/main.yml index 8d3bd1a..b33cd17 100644 --- a/roles/ispmail-webmail-apache/tasks/main.yml +++ b/ansible/roles/ispmail-webmail-apache/tasks/main.yml @@ -2,7 +2,7 @@ apt: name={{item}} state=installed with_items: - apache2 - - libapache2-mod-php5 + - libapache2-mod-php notify: restart apache - name: Create Apache vhost configuration for HTTPS (RoundCube and PHPmyadmin) template: src=webmail.conf-443.j2 dest=/etc/apache2/sites-available/default-ssl.conf diff --git a/roles/ispmail-webmail-apache/templates/webmail.conf-443.j2 b/ansible/roles/ispmail-webmail-apache/templates/webmail.conf-443.j2 similarity index 100% rename from roles/ispmail-webmail-apache/templates/webmail.conf-443.j2 rename to ansible/roles/ispmail-webmail-apache/templates/webmail.conf-443.j2 diff --git a/roles/ispmail-webmail-apache/templates/webmail.conf-80.j2 b/ansible/roles/ispmail-webmail-apache/templates/webmail.conf-80.j2 similarity index 100% rename from roles/ispmail-webmail-apache/templates/webmail.conf-80.j2 rename to ansible/roles/ispmail-webmail-apache/templates/webmail.conf-80.j2 diff --git a/roles/ispmail-webmail/files/ispmail-logo.png b/ansible/roles/ispmail-webmail/files/ispmail-logo.png similarity index 100% rename from roles/ispmail-webmail/files/ispmail-logo.png rename to ansible/roles/ispmail-webmail/files/ispmail-logo.png diff --git a/roles/ispmail-webmail/files/roundcube-managesieve-config.inc.php b/ansible/roles/ispmail-webmail/files/roundcube-managesieve-config.inc.php similarity index 100% rename from roles/ispmail-webmail/files/roundcube-managesieve-config.inc.php rename to ansible/roles/ispmail-webmail/files/roundcube-managesieve-config.inc.php diff --git a/roles/ispmail-webmail/tasks/main.yml b/ansible/roles/ispmail-webmail/tasks/main.yml similarity index 100% rename from roles/ispmail-webmail/tasks/main.yml rename to ansible/roles/ispmail-webmail/tasks/main.yml diff --git a/roles/ispmail-webmail/templates/roundcube-config.inc.php.j2 b/ansible/roles/ispmail-webmail/templates/roundcube-config.inc.php.j2 similarity index 100% rename from roles/ispmail-webmail/templates/roundcube-config.inc.php.j2 rename to ansible/roles/ispmail-webmail/templates/roundcube-config.inc.php.j2 diff --git a/roles/ispmail-webmail/templates/roundcube-debian-db.php.j2 b/ansible/roles/ispmail-webmail/templates/roundcube-debian-db.php.j2 similarity index 100% rename from roles/ispmail-webmail/templates/roundcube-debian-db.php.j2 rename to ansible/roles/ispmail-webmail/templates/roundcube-debian-db.php.j2 diff --git a/roles/ispmail-webmail/templates/roundcube-password-config.inc.php.j2 b/ansible/roles/ispmail-webmail/templates/roundcube-password-config.inc.php.j2 similarity index 100% rename from roles/ispmail-webmail/templates/roundcube-password-config.inc.php.j2 rename to ansible/roles/ispmail-webmail/templates/roundcube-password-config.inc.php.j2