mirror of https://github.com/lucascbeyeler/zimbra
				
				
				
			Compare commits
	
		
			36 Commits
		
	
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | a283e67fdd | |
|  | e15bdb4af2 | |
|  | 11a626355e | |
|  | 6b02ae84f9 | |
|  | 4e39e65ac1 | |
|  | 774a027d8f | |
|  | 02dc7b81cc | |
|  | a4a5c710f3 | |
|  | f6cab03c39 | |
|  | 07fdf94835 | |
|  | df5f2f64f0 | |
|  | b584847a3d | |
|  | 173dc5d2b2 | |
|  | ae30094f38 | |
|  | 52cde71718 | |
|  | a220d76add | |
|  | 703aa09a6b | |
|  | 5b1dc256f0 | |
|  | 68eb3d980f | |
|  | 5083afead5 | |
|  | 3bda4ac1e6 | |
|  | 79156641a8 | |
|  | 1b7e74a629 | |
|  | 9d7563a37b | |
|  | 8e2be51f11 | |
|  | 732a0d8a81 | |
|  | 844c9eb9e5 | |
|  | 90bc5a8e21 | |
|  | 651cc2d3d2 | |
|  | 4b41e04660 | |
|  | a087dfe4b0 | |
|  | 7ff56df9f9 | |
|  | d077dc7041 | |
|  | 6c9017fe07 | |
|  | 2c40358b68 | |
|  | 4c185f74da | 
|  | @ -0,0 +1,3 @@ | ||||||
|  | # These are supported funding model platforms | ||||||
|  | 
 | ||||||
|  | github: [lucascbeyeler] | ||||||
|  | @ -1 +1,2 @@ | ||||||
| OLD | OLD | ||||||
|  | .idea | ||||||
							
								
								
									
										22
									
								
								README.md
								
								
								
								
							
							
						
						
									
										22
									
								
								README.md
								
								
								
								
							|  | @ -1,22 +1,22 @@ | ||||||
| Zimbra | Zimbra | ||||||
| ========= | ========= | ||||||
| 
 | 
 | ||||||
| Ansible role to install and configure Zimbra Collaboration Open Source Edition | Non-Official ansible role to install and configure Zimbra Collaboration Open Source Edition on Red Hat, CentOS and Ubuntu Server. | ||||||
| 
 | 
 | ||||||
| [](https://travis-ci.org/lucascbeyeler/zimbra) | [](https://travis-ci.org/lucascbeyeler/zimbra) | ||||||
| [](https://www.zimbra.com/downloads/zimbra-collaboration-open-source/) | [](https://www.zimbra.com/downloads/zimbra-collaboration-open-source/) | ||||||
|  |  | ||||||
|  |  | ||||||
| [](https://www.ansible.com/) | [](https://www.ansible.com/) | ||||||
| 
 | 
 | ||||||
| Requirements | Requirements | ||||||
| ------------ | ------------ | ||||||
| 
 | 
 | ||||||
| * [Ansible](https://github.com/ansible/ansible) 2.3.1.0 or superior. | * [Ansible](https://github.com/ansible/ansible) 2.9.6 or high. | ||||||
| 
 | 
 | ||||||
| Install | Install | ||||||
| -------------- | -------------- | ||||||
| ansible-zimbra is already in Ansible Galaxy, so the only thing you need to install this script in your machine is just use ansible-galaxy command: | Zimbra is already in Ansible Galaxy, so the only thing you need to install this script in your machine is just use ansible-galaxy command: | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| ansible-galaxy install lucascbeyeler.zimbra | ansible-galaxy install lucascbeyeler.zimbra | ||||||
|  | @ -53,6 +53,7 @@ Role Variables | ||||||
| * **zmlogologin:** Inform the path for your logo (Login Screen) - don't inform and no image will be applied; | * **zmlogologin:** Inform the path for your logo (Login Screen) - don't inform and no image will be applied; | ||||||
| * **zmlogoapp:** Inform the path for your logo (Application Screen) - don't inform and no image will be applied; | * **zmlogoapp:** Inform the path for your logo (Application Screen) - don't inform and no image will be applied; | ||||||
| * **timezone:** inform the timezone the playbook should set in your server; | * **timezone:** inform the timezone the playbook should set in your server; | ||||||
|  | * **zimbra_version:** Inform which version of Zimbra you want to install. Default: 8.8.15 | ||||||
| 
 | 
 | ||||||
| Service Variables - Inform "y" or "n" | Service Variables - Inform "y" or "n" | ||||||
| -------------- | -------------- | ||||||
|  | @ -67,8 +68,9 @@ Service Variables - Inform "y" or "n" | ||||||
| * **zimbra_spell:**  Enable Zimbra Spell Check - default: **y** | * **zimbra_spell:**  Enable Zimbra Spell Check - default: **y** | ||||||
| * **zimbra_memcached:**  Enable Zimbra Cache Service (Memcached) - default: **y** | * **zimbra_memcached:**  Enable Zimbra Cache Service (Memcached) - default: **y** | ||||||
| * **zimbra_proxy:**  Enable Zimbra Proxy Service - default: **y** | * **zimbra_proxy:**  Enable Zimbra Proxy Service - default: **y** | ||||||
| * **zimbra_chat:**  Enable Zimbra Chat **BETA** - default: **n** | * **zimbra_chat:**  Enable Zimbra Chat - default: **n** | ||||||
| * **zimbra_drive:**  Enable Zimbra ownCloud Drive **BETA** - default: **n** | * **zimbra_drive:**  Enable Zimbra ownCloud Drive - default: **n** | ||||||
|  | * **zimbra_imapd:** Enable Zimbra IMAPD Solo Service **BETA**  - default: **n** | ||||||
| * **zimbra_policyd:**  Enable Zimbra PolicyD Service - default: **n** | * **zimbra_policyd:**  Enable Zimbra PolicyD Service - default: **n** | ||||||
| 
 | 
 | ||||||
| Dependencies | Dependencies | ||||||
|  | @ -83,9 +85,9 @@ Example Playbook | ||||||
|       become: yes |       become: yes | ||||||
|       become_method: sudo |       become_method: sudo | ||||||
|       roles: |       roles: | ||||||
|          - role: lucascbeyeler.ansible-zimbra |          - role: lucascbeyeler.zimbra | ||||||
|            hostname: warudo |            hostname: localhost | ||||||
|            domain: hollowbastion.com |            domain: localdomain | ||||||
|            timezone: America/Sao_Paulo |            timezone: America/Sao_Paulo | ||||||
|            zmpasswd: 123change |            zmpasswd: 123change | ||||||
|            zmnetwork: 192.168.122.0/24 |            zmnetwork: 192.168.122.0/24 | ||||||
|  |  | ||||||
|  | @ -9,3 +9,39 @@ ubuntu: | ||||||
| centos: | centos: | ||||||
|   - pyzor |   - pyzor | ||||||
|   - perl-Razor-Agent |   - perl-Razor-Agent | ||||||
|  | 
 | ||||||
|  | # | ||||||
|  | # Products to be installed | ||||||
|  | ################################################################################ | ||||||
|  | zimbra_ldap: y | ||||||
|  | zimbra_logger: y | ||||||
|  | zimbra_mta: y | ||||||
|  | zimbra_dnscache: n | ||||||
|  | zimbra_snmp: n | ||||||
|  | zimbra_store: y | ||||||
|  | zimbra_apache: y | ||||||
|  | zimbra_spell: y | ||||||
|  | zimbra_memcached: y | ||||||
|  | zimbra_proxy: y | ||||||
|  | zimbra_chat: n | ||||||
|  | zimbra_drive: n | ||||||
|  | zimbra_imapd: n | ||||||
|  | zimbra_policyd: n | ||||||
|  | 
 | ||||||
|  | # | ||||||
|  | # Zimbra configuration | ||||||
|  | ################################################################################ | ||||||
|  | 
 | ||||||
|  | hostname: "localhost" | ||||||
|  | domain: "localdomain" | ||||||
|  | zmpasswd: "!23Change" | ||||||
|  | zmnetwork: "192.168.200.0/8" | ||||||
|  | timezone: UTC | ||||||
|  | #hosts_lines: | ||||||
|  | #  - "198.162.1.3 {{ hostname }}.{{ domain }} {{ hostname }}"  | ||||||
|  | 
 | ||||||
|  | # | ||||||
|  | # Zimbra configuration | ||||||
|  | ################################################################################ | ||||||
|  | zimbra_version: 8.8.15 | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -6,6 +6,14 @@ pyzor_timeout 20 | ||||||
| # Razor's Config - Change only if you know what are you doing | # Razor's Config - Change only if you know what are you doing | ||||||
| use_razor2 1 | use_razor2 1 | ||||||
| 
 | 
 | ||||||
|  | # Enabling Bayesian mail filtering | ||||||
|  | use_bayes 1 | ||||||
|  | score BAYES_90 4.300 | ||||||
|  | score BAYES_80 3.500 | ||||||
|  | score BAYES_60 3.000 | ||||||
|  | score BAYES_50 2.500 | ||||||
|  | score BAYES_00 -0.500 | ||||||
|  | 
 | ||||||
| #SpamAssassin's Scores - Change THIS file and not salocal.cf | #SpamAssassin's Scores - Change THIS file and not salocal.cf | ||||||
| 
 | 
 | ||||||
| score ALL_TRUSTED -4.000 | score ALL_TRUSTED -4.000 | ||||||
|  | @ -61,3 +69,4 @@ score T_URL_SHORTENER 0.400 | ||||||
| score BAD_ENC_HEADER 0.400 | score BAD_ENC_HEADER 0.400 | ||||||
| score T_UNKNOWN_ORIGIN 0.700 | score T_UNKNOWN_ORIGIN 0.700 | ||||||
| score RP_MATCHES_RCVD -0.000 | score RP_MATCHES_RCVD -0.000 | ||||||
|  | score  | ||||||
|  |  | ||||||
|  | @ -3,19 +3,19 @@ galaxy_info: | ||||||
|   description: Ansible role to install and configure Zimbra Collaboration Open Source Edition |   description: Ansible role to install and configure Zimbra Collaboration Open Source Edition | ||||||
|   company: Beyeler |   company: Beyeler | ||||||
|   license: GPLv3 |   license: GPLv3 | ||||||
|   min_ansible_version: 2.3 |   min_ansible_version: 2.9.6 | ||||||
|   github_branch: master |   github_branch: master | ||||||
|   platforms: |   platforms: | ||||||
|   - name: Ubuntu |   - name: Ubuntu | ||||||
|     versions: |     versions: | ||||||
|     - trusty |     - trusty | ||||||
|     - xenial |     - xenial | ||||||
|  |     - bionic | ||||||
|   - name: EL |   - name: EL | ||||||
|     versions: |     versions: | ||||||
|     - 6 |     - 6 | ||||||
|     - 7 |     - 7 | ||||||
|  |     - 8 | ||||||
|   galaxy_tags: |   galaxy_tags: | ||||||
|     - zimbra |     - zimbra | ||||||
|     - community |     - community | ||||||
| dependencies: |  | ||||||
|   - { role: lucascbeyeler.baseline } |  | ||||||
|  |  | ||||||
|  | @ -17,6 +17,27 @@ | ||||||
|     owner: root |     owner: root | ||||||
|     group: root |     group: root | ||||||
|     mode: 0440 |     mode: 0440 | ||||||
|  |      | ||||||
|  | - name: Enabling SpamAssassin Auto Update | ||||||
|  |   command: ./zmlocalconfig -e antispam_enable_rule_updates=true | ||||||
|  |   args: | ||||||
|  |     chdir: /opt/zimbra/bin/ | ||||||
|  |   become: true | ||||||
|  |   become_user: zimbra | ||||||
|  |      | ||||||
|  | - name: Enabling Amavis to restart when the rules are update | ||||||
|  |   command: ./zmlocalconfig -e antispam_enable_restarts=true | ||||||
|  |   args: | ||||||
|  |     chdir: /opt/zimbra/bin/ | ||||||
|  |   become: true | ||||||
|  |   become_user: zimbra | ||||||
|  | 
 | ||||||
|  | - name: Enabling SpamAssassin rule compilation | ||||||
|  |   command: ./zmlocalconfig -e antispam_enable_rule_compilation=true | ||||||
|  |   args: | ||||||
|  |     chdir: /opt/zimbra/bin/ | ||||||
|  |   become: true | ||||||
|  |   become_user: zimbra | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| # Configuring Pyzor | # Configuring Pyzor | ||||||
|  |  | ||||||
|  | @ -1,22 +0,0 @@ | ||||||
| --- |  | ||||||
| # |  | ||||||
| # Setting variables |  | ||||||
| ################################################################################ |  | ||||||
| - name: Loading the address to the most recent release of Zimbra OSE (8.7.11) |  | ||||||
|   set_fact: zmurl=https://files.zimbra.com/downloads/8.7.11_GA/ |  | ||||||
| 
 |  | ||||||
| - name: Check if your distro is Ubuntu Server 16.04 LTS |  | ||||||
|   set_fact: zmpkg=zcs-8.7.11_GA_1854.UBUNTU16_64.20170531151956 |  | ||||||
|   when: ansible_distribution_major_version|int >= 16 |  | ||||||
| 
 |  | ||||||
| - name: Check if your distro is Ubuntu Server 14.04 LTS |  | ||||||
|   set_fact: zmpkg=zcs-8.7.11_GA_1854.UBUNTU14_64.20170531151956 |  | ||||||
|   when: ansible_distribution_major_version|int >= 14 and ansible_distribution_major_version|int <= 15 |  | ||||||
| 
 |  | ||||||
| - name: Check if your distro is Red Hat Enterprise Linux or CentOS (Major 6) |  | ||||||
|   set_fact: zmpkg=zcs-8.7.11_GA_1854.RHEL6_64.20170531151956 |  | ||||||
|   when: ansible_distribution_major_version == "6" |  | ||||||
| 
 |  | ||||||
| - name: Check if your distro is Red Hat Enterprise Linux or CentOS (Major 7) |  | ||||||
|   set_fact: zmpkg=zcs-8.7.11_GA_1854.RHEL7_64.20170531151956 |  | ||||||
|   when: ansible_distribution_major_version == "7" |  | ||||||
|  | @ -2,6 +2,15 @@ | ||||||
| # | # | ||||||
| # Download and install Zimbra OSE | # Download and install Zimbra OSE | ||||||
| ################################################################################ | ################################################################################ | ||||||
|  | 
 | ||||||
|  | - name: Update /etc/hosts | ||||||
|  |   lineinfile: | ||||||
|  |     path: /etc/hosts  | ||||||
|  |     line: "{{ item }}"  | ||||||
|  |     state: present | ||||||
|  |   with_items: "{{ hosts_lines }}" | ||||||
|  |   when: hosts_lines is defined | ||||||
|  |    | ||||||
| - name: Download and unpacking Zimbra OSE | - name: Download and unpacking Zimbra OSE | ||||||
|   unarchive: |   unarchive: | ||||||
|     validate_certs: no |     validate_certs: no | ||||||
|  |  | ||||||
|  | @ -10,38 +10,39 @@ | ||||||
| # | # | ||||||
| # Installation process | # Installation process | ||||||
| ################################################################################ | ################################################################################ | ||||||
| - include: 'install/vars.yml' | - import_tasks: 'vars/{{zimbra_version}}.yml' | ||||||
|   when: getent_passwd.rc == 2 |   when: getent_passwd.rc == 2 | ||||||
| - include: 'install/dependencies.yml' | - import_tasks: 'install/dependencies.yml' | ||||||
|   when: getent_passwd.rc == 2 |   when: getent_passwd.rc == 2 | ||||||
| - include: 'install/zimbra.yml' | - import_tasks: 'install/zimbra.yml' | ||||||
|   when: getent_passwd.rc == 2 |   when: getent_passwd.rc == 2 | ||||||
| - include: 'install/policyd.yml' | - import_tasks: 'install/policyd.yml' | ||||||
|   when: zimbra_policyd == 'y' |   when: zimbra_policyd == 'y' | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| # Configuration process | # Configuration process | ||||||
| ################################################################################ | ################################################################################ | ||||||
| - include: 'configure/proxy.yml' | - import_tasks: 'configure/proxy.yml' | ||||||
|   when: zimbra_proxy == 'y' |   when: zimbra_proxy == 'y' | ||||||
| - include: 'configure/mailbox.yml' | - import_tasks: 'configure/mailbox.yml' | ||||||
|   when: zimbra_store == 'y' |   when: zimbra_store == 'y' | ||||||
| - include: 'configure/mta.yml' | - import_tasks: 'configure/mta.yml' | ||||||
|   when: zimbra_mta == 'y' |   when: zimbra_mta == 'y' | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| # Extras configuration process | # Extras configuration process | ||||||
| ################################################################################ | ################################################################################ | ||||||
| - include: 'extras/modify-logo.yml' | - import_tasks: 'extras/modify-logo.yml' | ||||||
|   when: zmlogologin is defined and zmlogoapp is defined |   when: zmlogologin is defined and zmlogoapp is defined | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| # Restarting Zimbra | # Restarting Zimbra | ||||||
| ################################################################################ | ################################################################################ | ||||||
| - name: 'Reloading Zimbra OSE Services' | - name: 'Reloading Zimbra OSE Services' | ||||||
|   command: ./zmcontrol restart |   shell: source /opt/zimbra/.bashrc && ./zmcontrol restart | ||||||
|   args: |   args: | ||||||
|  |     executable: /bin/bash | ||||||
|     chdir: '/opt/zimbra/bin/' |     chdir: '/opt/zimbra/bin/' | ||||||
|   become: yes |   become: yes | ||||||
|   become_user: zimbra |   become_user: zimbra | ||||||
|   ignore_errors: true |   retries: 3 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,34 @@ | ||||||
|  | --- | ||||||
|  | # | ||||||
|  | # Setting variables | ||||||
|  | ################################################################################ | ||||||
|  | - name: Loading the address to the most recent release of Zimbra OSE (8.8.15) | ||||||
|  |   set_fact: zmurl=https://files.zimbra.com/downloads/8.8.15_GA/ | ||||||
|  | 
 | ||||||
|  | - name: Check if your distro is Ubuntu Server 16.04 LTS | ||||||
|  |   set_fact: zmpkg=zcs-8.8.15_GA_3869.UBUNTU16_64.20190918004220 | ||||||
|  |   when: ansible_distribution_major_version|int >= 16 and ansible_distribution_major_version|int <= 17 | ||||||
|  | 
 | ||||||
|  | - name: Check if your distro is Ubuntu Server 18.04 LTS | ||||||
|  |   set_fact: zmpkg=zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220 | ||||||
|  |   when: ansible_distribution_major_version|int >= 18 and ansible_distribution_major_version|int <= 19 | ||||||
|  | 
 | ||||||
|  | - name: Check if your distro is Ubuntu Server 20.04 LTS | ||||||
|  |   set_fact: zmpkg=zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954 | ||||||
|  |   when: ansible_distribution_major_version|int >= 20 | ||||||
|  | 
 | ||||||
|  | - name: Check if your distro is Ubuntu Server 14.04 LTS | ||||||
|  |   set_fact: zmpkg=zcs-8.8.15_GA_3869.UBUNTU14_64.20190918004220 | ||||||
|  |   when: ansible_distribution_major_version|int >= 14 and ansible_distribution_major_version|int <= 15 | ||||||
|  | 
 | ||||||
|  | - name: Check if your distro is Red Hat Enterprise Linux or CentOS (Major 6) | ||||||
|  |   set_fact: zmpkg=zcs-8.8.15_GA_3869.RHEL6_64.20190918004220 | ||||||
|  |   when: ansible_distribution_major_version == "6" | ||||||
|  | 
 | ||||||
|  | - name: Check if your distro is Red Hat Enterprise Linux or CentOS (Major 7) | ||||||
|  |   set_fact: zmpkg=zcs-8.8.15_GA_3869.RHEL7_64.20190918004220 | ||||||
|  |   when: ansible_distribution_major_version == "7" | ||||||
|  | 
 | ||||||
|  | - name: Check if your distro is Red Hat Enterprise Linux or CentOS (Major 8) | ||||||
|  |   set_fact: zmpkg=zcs-8.8.15_GA_3953.RHEL8_64.20200629025823 | ||||||
|  |   when: ansible_distribution_major_version == "8" | ||||||
|  | @ -12,4 +12,5 @@ y | ||||||
| {{ zimbra_proxy }} | {{ zimbra_proxy }} | ||||||
| {{ zimbra_chat }} | {{ zimbra_chat }} | ||||||
| {{ zimbra_drive }} | {{ zimbra_drive }} | ||||||
|  | {{ zimbra_imapd }} | ||||||
| y | y | ||||||
|  |  | ||||||
|  | @ -70,7 +70,7 @@ mailboxd_directory="/opt/zimbra/mailboxd" | ||||||
| mailboxd_keystore="/opt/zimbra/mailboxd/etc/keystore" | mailboxd_keystore="/opt/zimbra/mailboxd/etc/keystore" | ||||||
| mailboxd_keystore_password="{{ zmpasswd }}" | mailboxd_keystore_password="{{ zmpasswd }}" | ||||||
| mailboxd_server="jetty" | mailboxd_server="jetty" | ||||||
| mailboxd_truststore="/opt/zimbra/common/lib/jvm/java/jre/lib/security/cacerts" | mailboxd_truststore="/opt/zimbra/common/etc/java/cacerts" | ||||||
| mailboxd_truststore_password="changeit" | mailboxd_truststore_password="changeit" | ||||||
| postfix_mail_owner="postfix" | postfix_mail_owner="postfix" | ||||||
| postfix_setgid_group="postdrop" | postfix_setgid_group="postdrop" | ||||||
|  |  | ||||||
|  | @ -1,27 +0,0 @@ | ||||||
| --- |  | ||||||
| # |  | ||||||
| # Products to be installed |  | ||||||
| ################################################################################ |  | ||||||
| zimbra_ldap: y |  | ||||||
| zimbra_logger: y |  | ||||||
| zimbra_mta: y |  | ||||||
| zimbra_dnscache: n |  | ||||||
| zimbra_snmp: n |  | ||||||
| zimbra_store: y |  | ||||||
| zimbra_apache: y |  | ||||||
| zimbra_spell: y |  | ||||||
| zimbra_memcached: y |  | ||||||
| zimbra_proxy: y |  | ||||||
| zimbra_chat: n |  | ||||||
| zimbra_drive: n |  | ||||||
| zimbra_policyd: n |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # Zimbra configuration |  | ||||||
| ################################################################################ |  | ||||||
| 
 |  | ||||||
| hostname: "localhost" |  | ||||||
| domain: "localdomain" |  | ||||||
| zmpasswd: "!23Change" |  | ||||||
| zmnetwork: "192.168.200.0/8" |  | ||||||
| timezone: UTC |  | ||||||
		Loading…
	
		Reference in New Issue