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
.idea

View File

@ -1,22 +1,22 @@
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)
[![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)
![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
------------
* [Ansible](https://github.com/ansible/ansible) 2.9.6 or high.
* [Ansible](https://github.com/ansible/ansible) 2.4.2.0 or high.
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
@ -53,7 +53,7 @@ Role Variables
* **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;
* **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"
--------------
@ -86,11 +86,12 @@ Example Playbook
become_method: sudo
roles:
- role: lucascbeyeler.zimbra
hostname: localhost
domain: localdomain
hostname: warudo
domain: hollowbastion.com
timezone: America/Sao_Paulo
zmpasswd: 123change
zmnetwork: 192.168.122.0/24
ip_address: 192.168.122.192
zmlogologin: /tmp/login.png
zmlogoapp: /tmp/app.png
```

View File

@ -9,39 +9,3 @@ ubuntu:
centos:
- pyzor
- 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
company: Beyeler
license: GPLv3
min_ansible_version: 2.9.6
min_ansible_version: 2.4
github_branch: master
platforms:
- name: Ubuntu
versions:
- trusty
- xenial
- bionic
- name: EL
versions:
- 6
- 7
- 8
galaxy_tags:
- zimbra
- 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
################################################################################
- 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
unarchive:
validate_certs: no
@ -48,3 +39,22 @@
command: ./zmsetup.pl -c /tmp/zcs/installZimbraScript
args:
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
################################################################################
- import_tasks: 'vars/{{zimbra_version}}.yml'
- import_tasks: 'install/vars.yml'
when: getent_passwd.rc == 2
- import_tasks: 'install/dependencies.yml'
when: getent_passwd.rc == 2
@ -39,10 +39,9 @@
# Restarting Zimbra
################################################################################
- name: 'Reloading Zimbra OSE Services'
shell: source /opt/zimbra/.bashrc && ./zmcontrol restart
command: ./zmcontrol restart
args:
executable: /bin/bash
chdir: '/opt/zimbra/bin/'
become: yes
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_password="{{ zmpasswd }}"
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"
postfix_mail_owner="postfix"
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"