Skip to content

Repository files navigation

Zimbra 10.1 Installation

This Ansible role automates the process of installing Zimbra 10.1 on a single server running Ubuntu 20/22/24, or Rocky/Oracle/Redhat Linux 8/9 operating systems.

Description

  • Zimbra installation will be done on two phases.
  • Phase-1, just software packages will install.
  • Phase-2, by calling zmsetup.pl zimbra configuration will be done.
  • Installation logs can be found in /tmp/install.log, and configuration logs can be found in /tmp/zmsetup.log.
  • Zimbra manual installation not required configuration file, but ansible requires inputs to pass to zmsetup.pl execution.
  • inventory.ini: Hostname, ssh key information to connect to the host where Zimbra will install.
  • zimbra-single-install.yml: Main ansible playbook.
  • tasks/main.yml: Identify remote server operating system, and call respective task to install Zimbra based on OS.
  • Example: task/zimbra101-redhat8.yml is the task file to install Zimbra on Redhat-8 based operating systems like, Redhat, Rocky, Oracle Linux.
  • templates/zimbra_answers.j2: Yes or No inputes to auto select options during installation.
  • templates/zimbra_config.j2: Configuration information like server ports admin account password..etc.
  • vars/main.yml: Variables defined here, these variables are used in zimbra_answers.j2, and zimbra_config.j2

Requirements

Server must be a fresh installation and, should be any issues with operating system, disks, or network. The network configuration should be static and already set up. For Ubuntu, ufw, and for Redhat based operating systems firewalld should be stopped, or allowed required ports of Zimbra. If selinux enabled on Redhat based operating system, give permissions to zimbra. Disable ubuntu dns service "systemd-resolved" because because zimbra-dnscache listesns on same port 53. Ensure that there is connectivity from the Ansible server to the Zimbra server. #ansible all -i inventory.in -m ping

  • inventory.ini, update actual zimbra hostname/ip address, and ssh private key path.
  • vars/main.yml, update license id, Zimbra admin user password, and ldap_passwords (ldap root password, zimbra ldap password..etc)
  • Execution, ansible-playbook -i inventory.ini zimbra-single-install.yml
  • Note: Enabled logging, so ansible generates log file for executed tasks.

Directory structure of Playbook

Zimbra10.1_Single_Server_dynamic/
├── README.md
├── ansible-zimbra-single
│   ├── tasks
│   │   ├── main.yml
│   │   ├── zimbra101-redhat8.yml
│   │   ├── zimbra101-redhat9.yml
│   │   ├── zimbra101-ubuntu20.yml
│   │   ├── zimbra101-ubuntu22.yml
│   │   └── zimbra101-ubuntu24.yml
│   ├── templates
│   │   ├── zimbra_answers.j2
│   │   └── zimbra_config.j2
│   └── vars
│       └── main.yml
├── ansible.cfg
├── ansible_deployment.log
├── inventoray.ini
└── zimbra-single-install.yml

About

Automate Zimbra installation in dynamic way. Irrespective of operating system Zimbra will install.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages