mirror of https://github.com/lucascbeyeler/zimbra
Compare commits
32 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 |
|
|
@ -0,0 +1,3 @@
|
||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: [lucascbeyeler]
|
||||||
|
|
@ -1 +1,2 @@
|
||||||
OLD
|
OLD
|
||||||
|
.idea
|
||||||
20
README.md
20
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
|
||||||
|
|
@ -84,8 +86,8 @@ Example Playbook
|
||||||
become_method: sudo
|
become_method: sudo
|
||||||
roles:
|
roles:
|
||||||
- role: lucascbeyeler.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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 }
|
|
||||||
|
|
|
||||||
|
|
@ -19,17 +19,23 @@
|
||||||
mode: 0440
|
mode: 0440
|
||||||
|
|
||||||
- name: Enabling SpamAssassin Auto Update
|
- name: Enabling SpamAssassin Auto Update
|
||||||
command: zmlocalconfig -e antispam_enable_rule_updates=true
|
command: ./zmlocalconfig -e antispam_enable_rule_updates=true
|
||||||
|
args:
|
||||||
|
chdir: /opt/zimbra/bin/
|
||||||
become: true
|
become: true
|
||||||
become_user: zimbra
|
become_user: zimbra
|
||||||
|
|
||||||
- name: Enabling Amavis to restart when the rules are update
|
- name: Enabling Amavis to restart when the rules are update
|
||||||
command: zmlocalconfig -e antispam_enable_restarts=true
|
command: ./zmlocalconfig -e antispam_enable_restarts=true
|
||||||
|
args:
|
||||||
|
chdir: /opt/zimbra/bin/
|
||||||
become: true
|
become: true
|
||||||
become_user: zimbra
|
become_user: zimbra
|
||||||
|
|
||||||
- name: Enabling SpamAssassin rule compilation
|
- name: Enabling SpamAssassin rule compilation
|
||||||
command: zmlocalconfig -e antispam_enable_rule_compilation=true
|
command: ./zmlocalconfig -e antispam_enable_rule_compilation=true
|
||||||
|
args:
|
||||||
|
chdir: /opt/zimbra/bin/
|
||||||
become: true
|
become: true
|
||||||
become_user: zimbra
|
become_user: zimbra
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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