Compare commits

..

No commits in common. "master" and "8.8.5" have entirely different histories.

11 changed files with 86 additions and 99 deletions

3
.github/FUNDING.yml vendored
View File

@ -1,3 +0,0 @@
# These are supported funding model platforms
github: [lucascbeyeler]

1
.gitignore vendored
View File

@ -1,2 +1 @@
OLD OLD
.idea

View File

@ -1,22 +1,22 @@
Zimbra Zimbra
========= =========
Non-Official ansible role to install and configure Zimbra Collaboration Open Source Edition on Red Hat, CentOS and Ubuntu Server. Ansible role to install and configure Zimbra Collaboration Open Source Edition
[![Build Status](https://travis-ci.org/lucascbeyeler/zimbra.svg?branch=master)](https://travis-ci.org/lucascbeyeler/zimbra) [![Build Status](https://travis-ci.org/lucascbeyeler/zimbra.svg?branch=master)](https://travis-ci.org/lucascbeyeler/zimbra)
[![Zimbra Version](https://img.shields.io/badge/Zimbra-8.8.15-blue.svg)](https://www.zimbra.com/downloads/zimbra-collaboration-open-source/) [![Zimbra Version](https://img.shields.io/badge/Zimbra-8.8.5-blue.svg)](https://www.zimbra.com/downloads/zimbra-collaboration-open-source/)
![Linux Distro](https://img.shields.io/badge/platform-CentOS%20%7C%20Red%20Hat%20%7C%20Ubuntu-blue.svg) ![Linux Distro](https://img.shields.io/badge/platform-CentOS%20%7C%20Red%20Hat%20%7C%20Ubuntu-blue.svg)
![Branch](https://img.shields.io/badge/Branch-Master-green.svg) ![Branch](https://img.shields.io/badge/Branch-Master-green.svg)
[![Ansible Version](https://img.shields.io/badge/Ansible-2.9.6-green.svg)](https://www.ansible.com/) [![Ansible Version](https://img.shields.io/badge/Ansible-2.4.2.0-green.svg)](https://www.ansible.com/)
Requirements Requirements
------------ ------------
* [Ansible](https://github.com/ansible/ansible) 2.9.6 or high. * [Ansible](https://github.com/ansible/ansible) 2.4.2.0 or high.
Install Install
-------------- --------------
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-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,7 +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 * **ip_address:** inform the server's ip address - See [ZCS 8.8 upgrade Proxy port problem](https://forums.zimbra.org/viewtopic.php?f=15&t=62695)
Service Variables - Inform "y" or "n" Service Variables - Inform "y" or "n"
-------------- --------------
@ -86,11 +86,12 @@ Example Playbook
become_method: sudo become_method: sudo
roles: roles:
- role: lucascbeyeler.zimbra - role: lucascbeyeler.zimbra
hostname: localhost hostname: warudo
domain: localdomain domain: hollowbastion.com
timezone: America/Sao_Paulo timezone: America/Sao_Paulo
zmpasswd: 123change zmpasswd: 123change
zmnetwork: 192.168.122.0/24 zmnetwork: 192.168.122.0/24
ip_address: 192.168.122.192
zmlogologin: /tmp/login.png zmlogologin: /tmp/login.png
zmlogoapp: /tmp/app.png zmlogoapp: /tmp/app.png
``` ```

View File

@ -9,39 +9,3 @@ 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

View File

@ -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.9.6 min_ansible_version: 2.4
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 }

22
tasks/install/vars.yml Normal file
View File

@ -0,0 +1,22 @@
---
#
# Setting variables
################################################################################
- name: Loading the address to the most recent release of Zimbra OSE (8.8.5)
set_fact: zmurl=https://files.zimbra.com/downloads/8.8.5_GA/
- name: Check if your distro is Ubuntu Server 16.04 LTS
set_fact: zmpkg=zcs-8.8.5_GA_1894.UBUNTU16_64.20171026035615
when: ansible_distribution_major_version|int >= 16
- name: Check if your distro is Ubuntu Server 14.04 LTS
set_fact: zmpkg=zcs-8.8.5_GA_1894.UBUNTU14_64.20171026035615
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.5_GA_1894.RHEL6_64.20171026035615
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.5_GA_1894.RHEL7_64.20171026035615
when: ansible_distribution_major_version == "7"

View File

@ -2,15 +2,6 @@
# #
# 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
@ -48,3 +39,22 @@
command: ./zmsetup.pl -c /tmp/zcs/installZimbraScript command: ./zmsetup.pl -c /tmp/zcs/installZimbraScript
args: args:
chdir: /opt/zimbra/libexec/ chdir: /opt/zimbra/libexec/
#
# BUGFIX WORKAROUND - Zimbra 8.8.5 does not work without configuring the hostname
################################################################################
- name: Configuring Zimbra Hostname for Domain {{ domain }}
command: ./zmprov md {{ domain }} zimbraVirtualHostname {{ hostname }}.{{ domain }}
args:
chdir: /opt/zimbra/bin/
- name: Configuring Zimbra Hostname for Domain {{ domain }}
command: ./zmprov md {{ domain }} zimbraVirtualIPAddress {{ ip_address }}
args:
chdir: /opt/zimbra/bin/
- name: Reloading Proxy configuration
command: ./zmproxyconfgen
args:
chdir: /opt/zimbra/libexec/

View File

@ -10,7 +10,7 @@
# #
# Installation process # Installation process
################################################################################ ################################################################################
- import_tasks: 'vars/{{zimbra_version}}.yml' - import_tasks: 'install/vars.yml'
when: getent_passwd.rc == 2 when: getent_passwd.rc == 2
- import_tasks: 'install/dependencies.yml' - import_tasks: 'install/dependencies.yml'
when: getent_passwd.rc == 2 when: getent_passwd.rc == 2
@ -39,10 +39,9 @@
# Restarting Zimbra # Restarting Zimbra
################################################################################ ################################################################################
- name: 'Reloading Zimbra OSE Services' - name: 'Reloading Zimbra OSE Services'
shell: source /opt/zimbra/.bashrc && ./zmcontrol restart command: ./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
retries: 3 ignore_errors: true

View File

@ -1,34 +0,0 @@
---
#
# 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"

View File

@ -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/etc/java/cacerts" mailboxd_truststore="/opt/zimbra/common/lib/jvm/java/jre/lib/security/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"

29
vars/main.yml Normal file
View File

@ -0,0 +1,29 @@
---
#
# 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
ip_address: "127.0.0.1"