Installation (Zimbra): Difference between revisions
(Initial creation - content from Zimbra page) |
(Re-write for v7 install - further updates required still) |
||
Line 1: | Line 1: | ||
This procedure was written | '''Zimbra FOSS Installation Guide''' | ||
This procedure was originally written for a Zimbra v6 installation, using the [http://wiki.zimbra.com/ Zimbra Wiki] site as a guide<ref>Especially http://wiki.zimbra.com/index.php?title=Ubuntu_8.04_LTS_Server_%28Hardy_Heron%29_Install_Guide</ref>. It's since been updated whilst installing v7 (the installation process hasn't changed). Note that if you are installing on a server with a private address that is to be [[Acronyms#N|NAT]]'ed to a publicly accessible address you'll need ensure that you've got [[Split_DNS_(Zimbra)|Split-DNS]] set-up, and I'd recommend a quick read through the [[Split_DNS_(Zimbra)#DNS Records|DNS requirements]] regardless. | |||
== Pre-Requisites == | |||
* '''Working Ubuntu LTS Server installation''' - see [[Installation_(Ubuntu)|Ubuntu Installation]] for further install info, and http://www.zimbra.com/downloads/os-downloads.html for supported OS versions | |||
** Base install with OpenSSH Server | |||
** DNS Server - Only required if you need to use Split DNS and need to provide resolution of the internal IP address of the server (EG you don't have an existing local DNS Server under your control that you can add your Zimbra server in to) | |||
* '''Internet/public IP address''' | |||
** Can be shared with other services so long as there's no TCP port conflicts and you have a router that can perform the appropriate NAT'ing | |||
*** See http://wiki.zimbra.com/wiki/Ports#External_Access for required TCP ports | |||
* '''MX (Mail Exchange) DNS record''' pointing to public IP address | |||
** Additionally an internal only MX record pointing to the server's internal/private IP address - only if you need to use SplitDNS | |||
=== Server Specification<ref>Zimbra System Requirements for v7.1 - http://www.zimbra.com/docs/shared/7.1/system_requirements/wwhelp/wwhimpl/js/html/wwhelp.htm#href=System_Requirements_7_1.System_Requirements.html</ref> === | |||
{| class="vwikitable" | |||
! Specification !! CPU !! Memory !! Free Disk !! Comments | |||
|- | |||
| Eval / Test || 1 x 1.5 GHz || 1 GB || 5 GB || Could be used for low-user count (< 10 active accounts) production environments - but certain operations will be slow. | |||
|- | |||
| Minimum || 1 x 2.0 GHz || 2 GB || 10 GB || Absolute minimum production spec advised by Zimbra | |||
|- | |||
| Recommended || 2 x 2.0 GHz || 4 GB || 10 GB || Recommended minimum production spec advised by Zimbra | |||
|} | |||
'''Note: Free Disk does ''not'' include allocation for mail storage''' So you will need additional free space for users data. | |||
# | Memory seems to be the main choke point for Zimbra, and will run a bit faster if you can spare a bit more. The less RAM the server has, less data can be cached into memory, and so the more disk IO that is required, and consequently the higher demand there will be on getting good IO throughput from the servers disks.<ref>Zimbra Performance Tuning - http://wiki.zimbra.com/wiki/Performance_Tuning_Guidelines_for_Large_Deployments</ref> | ||
#* EG <code> | |||
== Procedure == | |||
# Locate the appropriate download URL at http://www.zimbra.com/downloads/os-downloads.html, a copy the link to the download | |||
# Download the target of the link to your server (eg here downloading to <code>tmp</code> folder | |||
#* EG <code> wget -P /tmp/ http://files2.zimbra.com/downloads/7.2.0_GA/zcs-7.2.0_GA_2669.UBUNTU10_64.20120410002303.tgz </code> | |||
# Uncompress the package | # Uncompress the package | ||
#* <code> tar -xzf zcs- | #* <code> tar -xzf zcs-7.2.0_GA_2669.UBUNTU10_64.20120410002303.tgz </code> | ||
# Start the install | # Start the install | ||
#* <code> ./install.sh </code> | #* <code> ./install.sh </code> | ||
#* | #* Acceprt the EULA, the install ''will'' fail due to missing packages! Note which are missing. | ||
# Install the missing prerequisite packages | # Install the missing prerequisite packages | ||
#* EG <code> apt-get install | #* EG <code> apt-get install libperl5.10 sysstat sqlite3</code> | ||
# Restart the install | # Restart the install, accepting the default packages to install | ||
# | # Once the packages are installed the installer may complain about your domain not having a DNS record - <code>DNS ERROR resolving MX for ...</code> | ||
# At the end of the install, address the unconfigured item (ie an admin password) | #* Change the domain to your publicly registered domain (without server hostname, so <code>sandfordit.com</code> rather than <code>mail.sandfordit.com</code> | ||
#* If this fails to resolve the error, there is a problem with your network/DNS setup | |||
# At the end of the base install, address the unconfigured item (ie an admin password) | |||
# Write the config to disk and allow the system to be configured | |||
Once the install is completed, login to administer the exchange server using https://mail:7071 | Once the install is completed, login to administer the exchange server using a URL similar to https://your-mail-svr:7071 | ||
To enforce https for Zimbra Desktop clients use the following commands (requires a restart to take effect)... | To enforce https for Zimbra Desktop clients use the following commands (requires a restart to take effect)... | ||
Line 24: | Line 55: | ||
</pre> | </pre> | ||
=== High CPU Workaround === | |||
Zimbra seems to have some real issues with constant high CPU spikes every minute, to limit reduce the logging retention and failed process checking. | Zimbra seems to have some real issues with constant high CPU spikes every minute, to limit reduce the logging retention and failed process checking. | ||
<pre> | <pre> | ||
Line 47: | Line 78: | ||
zmprov ms <hostname> -zimbraServiceEnabled logger | zmprov ms <hostname> -zimbraServiceEnabled logger | ||
</pre> | </pre> | ||
== References == | |||
<references /> | |||
[[Category:Zimbra]] | [[Category:Zimbra]] |
Revision as of 16:28, 18 June 2012
Zimbra FOSS Installation Guide
This procedure was originally written for a Zimbra v6 installation, using the Zimbra Wiki site as a guide[1]. It's since been updated whilst installing v7 (the installation process hasn't changed). Note that if you are installing on a server with a private address that is to be NAT'ed to a publicly accessible address you'll need ensure that you've got Split-DNS set-up, and I'd recommend a quick read through the DNS requirements regardless.
Pre-Requisites
- Working Ubuntu LTS Server installation - see Ubuntu Installation for further install info, and http://www.zimbra.com/downloads/os-downloads.html for supported OS versions
- Base install with OpenSSH Server
- DNS Server - Only required if you need to use Split DNS and need to provide resolution of the internal IP address of the server (EG you don't have an existing local DNS Server under your control that you can add your Zimbra server in to)
- Internet/public IP address
- Can be shared with other services so long as there's no TCP port conflicts and you have a router that can perform the appropriate NAT'ing
- See http://wiki.zimbra.com/wiki/Ports#External_Access for required TCP ports
- Can be shared with other services so long as there's no TCP port conflicts and you have a router that can perform the appropriate NAT'ing
- MX (Mail Exchange) DNS record pointing to public IP address
- Additionally an internal only MX record pointing to the server's internal/private IP address - only if you need to use SplitDNS
Server Specification[2]
Specification | CPU | Memory | Free Disk | Comments |
---|---|---|---|---|
Eval / Test | 1 x 1.5 GHz | 1 GB | 5 GB | Could be used for low-user count (< 10 active accounts) production environments - but certain operations will be slow. |
Minimum | 1 x 2.0 GHz | 2 GB | 10 GB | Absolute minimum production spec advised by Zimbra |
Recommended | 2 x 2.0 GHz | 4 GB | 10 GB | Recommended minimum production spec advised by Zimbra |
Note: Free Disk does not include allocation for mail storage So you will need additional free space for users data.
Memory seems to be the main choke point for Zimbra, and will run a bit faster if you can spare a bit more. The less RAM the server has, less data can be cached into memory, and so the more disk IO that is required, and consequently the higher demand there will be on getting good IO throughput from the servers disks.[3]
Procedure
- Locate the appropriate download URL at http://www.zimbra.com/downloads/os-downloads.html, a copy the link to the download
- Download the target of the link to your server (eg here downloading to
tmp
folder - Uncompress the package
tar -xzf zcs-7.2.0_GA_2669.UBUNTU10_64.20120410002303.tgz
- Start the install
./install.sh
- Acceprt the EULA, the install will fail due to missing packages! Note which are missing.
- Install the missing prerequisite packages
- EG
apt-get install libperl5.10 sysstat sqlite3
- EG
- Restart the install, accepting the default packages to install
- Once the packages are installed the installer may complain about your domain not having a DNS record -
DNS ERROR resolving MX for ...
- Change the domain to your publicly registered domain (without server hostname, so
sandfordit.com
rather thanmail.sandfordit.com
- If this fails to resolve the error, there is a problem with your network/DNS setup
- Change the domain to your publicly registered domain (without server hostname, so
- At the end of the base install, address the unconfigured item (ie an admin password)
- Write the config to disk and allow the system to be configured
Once the install is completed, login to administer the exchange server using a URL similar to https://your-mail-svr:7071
To enforce https for Zimbra Desktop clients use the following commands (requires a restart to take effect)...
su - zimbra zmtlsctl https
High CPU Workaround
Zimbra seems to have some real issues with constant high CPU spikes every minute, to limit reduce the logging retention and failed process checking.
su - zimbra zmlocalconfig -e zmmtaconfig_interval=6000 zmprov mcf zimbraLogRawLifetime 7d zmprov mcf zimbraLogSummaryLifetime 30d /opt/zimbra/libexec/zmlogprocess crontab -e */60 * * * * /opt/zimbra/libexec/zmstatuslog
zmlocalconfig -e zmmtaconfig_interval=6000
- Increase service failure watchdog interval to 6000 secs
Above seems to help, but doesn't fix things...! Additionally, to disable the logging process, maybe (uncomplete)
su - zimbra hostname # Gives your server's hostname zmprov ms <hostname> -zimbraServiceEnabled logger
References
- ↑ Especially http://wiki.zimbra.com/index.php?title=Ubuntu_8.04_LTS_Server_%28Hardy_Heron%29_Install_Guide
- ↑ Zimbra System Requirements for v7.1 - http://www.zimbra.com/docs/shared/7.1/system_requirements/wwhelp/wwhimpl/js/html/wwhelp.htm#href=System_Requirements_7_1.System_Requirements.html
- ↑ Zimbra Performance Tuning - http://wiki.zimbra.com/wiki/Performance_Tuning_Guidelines_for_Large_Deployments