Zimbra Collaboration repository: Difference between revisions

(First raw console output)
 
 
(82 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{BC|Certified}}
__FORCETOC__
<div class="col-md-12 ibox-content">
=Zimbra Collaboration Repository=
{{KB|{{ZC}}|{{ZCS 8.8}}|{{ZCS 8.7}}||}}


=How it works=
Starting in Zimbra Collaboration 8.7, Zimbra uses repositories for 3rd party packages, in the first step towards having the whole product fully installable from repositories.


apt-get update
[[File:Zimbra-repository.png|800px]]
apt-get install python-pip
The following extra packages will be installed:
  binutils build-essential dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libasan0 libatomic1 libc-dev-bin libc6-dev libdpkg-perl libfakeroot
  libfile-fcntllock-perl libgcc-4.8-dev libgomp1 libitm1 libquadmath0
  libstdc++-4.8-dev libtsan0 linux-libc-dev make manpages-dev
  python-chardet-whl python-colorama python-colorama-whl python-distlib
  python-distlib-whl python-html5lib python-html5lib-whl python-pip-whl
  python-requests-whl python-setuptools python-setuptools-whl python-six-whl
  python-urllib3-whl python-wheel python3-pkg-resources
Suggested packages:
  binutils-doc debian-keyring g++-multilib g++-4.8-multilib gcc-4.8-doc
  libstdc++6-4.8-dbg gcc-multilib autoconf automake1.9 libtool flex bison gdb
  gcc-doc gcc-4.8-multilib gcc-4.8-locales libgcc1-dbg libgomp1-dbg
  libitm1-dbg libatomic1-dbg libasan0-dbg libtsan0-dbg libquadmath0-dbg
  glibc-doc libstdc++-4.8-doc make-doc python-genshi python-lxml
  python3-setuptools
Recommended packages:
  python-dev-all
The following NEW packages will be installed:
  binutils build-essential dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libasan0 libatomic1 libc-dev-bin libc6-dev libdpkg-perl libfakeroot
  libfile-fcntllock-perl libgcc-4.8-dev libgomp1 libitm1 libquadmath0
  libstdc++-4.8-dev libtsan0 linux-libc-dev make manpages-dev
  python-chardet-whl python-colorama python-colorama-whl python-distlib
  python-distlib-whl python-html5lib python-html5lib-whl python-pip
  python-pip-whl python-requests-whl python-setuptools python-setuptools-whl
  python-six-whl python-urllib3-whl python-wheel python3-pkg-resources
0 upgraded, 43 newly installed, 0 to remove and 34 not upgraded.
Need to get 776 kB/35.8 MB of archives.
After this operation, 102 MB of additional disk space will be used.
Do you want to continue? [Y/n] y


pip install awscli
=How to create a local repository=
Many Customers do not allow Internet access from their servers to the Internet, which means Zimbra's 8.7 installer will not be able to reach the Zimbra repository and be able to finish the Installation.


In order to successfully install Zimbra 8.7 within such a network, this Wiki will cover all the steps needed to create a local Zimbra mirror where a Company can clone our repo to a mirror, and the rest of the internal servers will take the needed packages locally from the mirror server.  Section B in the image above is an example of this type of layout.


mkdir /var/repositories
==Creating a local repository using a RHEL/CentOS==
cd /var/repositories
Pending
===Installing Python===
Then we need to install the python packages:
  yum install python-pip


Downloading/unpacking awscli
===Installing Amazon Web Services CLI===
  Downloading awscli-1.10.17-py2.py3-none-any.whl (919kB):
Once we have installed python, it's time to install the Amazon Web Services CLI, by running the next command
  Downloading awscli-1.10.17-py2.py3-none-any.whl (919kB):  0%  4.1kB
   pip install awscli
  Downloading awscli-1.10.17-py2.py3-none-any.whl (919kB):  0%  8.2kB
   Downloading awscli-1.10.17-py2.py3-none-any.whl (919kB):  1%  12kB
  Downloading awscli-1.10.17-py2.py3-none-any.whl (919kB):  1%  16kB
[...]
    changing mode of /usr/local/bin/rst2man.py to 755
    changing mode of /usr/local/bin/rst2s5.py to 755
    changing mode of /usr/local/bin/rstpep2html.py to 755
    changing mode of /usr/local/bin/rst2odt.py to 755
    changing mode of /usr/local/bin/rst2xetex.py to 755
    changing mode of /usr/local/bin/rst2latex.py to 755
    changing mode of /usr/local/bin/rst2pseudoxml.py to 755
    changing mode of /usr/local/bin/rst2xml.py to 755
    changing mode of /usr/local/bin/rst2html.py to 755
Successfully installed awscli docutils botocore rsa s3transfer jmespath python-dateutil pyasn1 futures
Cleaning up...


root@repo:~# /usr/local/bin/aws s3 sync s3://repo.zimbra.com/apt/87 ./87 --no-sign-request --delete
===Cloning the packages from our Official Repository ===
download: s3://repo.zimbra.com/apt/87/db/version to 87/db/version
It's time to download all the packages from our official Repository to the local folder, first step it's create the local folder
Completed 1 part(s) with ... file(s) remaining
download: s3://repo.zimbra.com/apt/87/dists/precise/Release.gpg to 87/dists/precise/Release.gpg
Completed 2 part(s) with ... file(s) remaining
download: s3://repo.zimbra.com/apt/87/dists/precise/InRelease to 87/dists/precise/InRelease
Completed 3 part(s) with ... file(s) remaining
download: s3://repo.zimbra.com/apt/87/dists/precise/Release to 87/dists/precise/Release
Completed 4 part(s) with ... file(s) remaining
download: s3://repo.zimbra.com/apt/87/db/contents.cache.db to 87/db/contents.cache.db
Completed 5 part(s) with ... file(s) remaining
download: s3://repo.zimbra.com/apt/87/dists/precise/zimbra/source/Release to 87/dists/precise/zimbra/source/Release
Completed 6 part(s) with ... file(s) remaining
[...]
Completed 1551 of 1553 part(s) with 2 file(s) remaining
download: s3://repo.zimbra.com/apt/87/pool/zimbra/z/zimbra-tcmalloc/zimbra-tcmalloc_2.4.orig.tar.gz to 87/pool/zimbra/z/zimbra-tcmalloc/zimbra-tcmalloc_2.4.orig.tar.gz
Completed 1552 of 1553 part(s) with 1 file(s) remaining
download: s3://repo.zimbra.com/apt/87/pool/zimbra/z/zimbra-zeromq/zimbra-zeromq_4.1.3-1zimbra8.7b1.14.04_amd64.deb to 87/pool/zimbra/z/zimbra-zeromq/zimbra-zeromq_4.1.3-1zimbra8.7b1.14.04_amd64.deb


  root@repo:~#mkdir /var/repositories
  root@repo:~#cd /var/repositories


mkdir /etc/nginx/certs
====Cloning the packages for Ubuntu====
If you are planning to install Zimbra on your Ubuntu VM/Servers, then run the next command to download the Ubuntu packages:


root@repo:~# apt-get install nginx
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
Reading package lists... Done
Building dependency tree     
Reading state information... Done
The following extra packages will be installed:
  fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0
  libjpeg-turbo8 libjpeg8 libtiff5 libvpx1 libxpm4 libxslt1.1 nginx-common
  nginx-core
Suggested packages:
  libgd-tools fcgiwrap nginx-doc
The following NEW packages will be installed:
  fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0
  libjpeg-turbo8 libjpeg8 libtiff5 libvpx1 libxpm4 libxslt1.1 nginx
  nginx-common nginx-core
0 upgraded, 14 newly installed, 0 to remove and 34 not upgraded.
Need to get 2,705 kB of archives.
After this operation, 9,057 kB of additional disk space will be used.
Do you want to continue? [Y/n]
[...]
Setting up libjpeg-turbo8:amd64 (1.3.0-0ubuntu2) ...
Setting up libjpeg8:amd64 (8c-2ubuntu8) ...
Setting up libjbig0:amd64 (2.0-2ubuntu4.1) ...
Setting up libtiff5:amd64 (4.0.3-7ubuntu0.4) ...
Setting up libvpx1:amd64 (1.3.0-2) ...
Setting up libxpm4:amd64 (1:3.5.10-1) ...
Setting up libgd3:amd64 (2.1.0-3) ...
Setting up libxslt1.1:amd64 (1.1.28-2build1) ...
Setting up nginx-common (1.4.6-1ubuntu3.4) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for ufw (0.34~rc-0ubuntu2) ...
Setting up nginx-core (1.4.6-1ubuntu3.4) ...
Setting up nginx (1.4.6-1ubuntu3.4) ...
Processing triggers for libc-bin (2.19-0ubuntu6.7) ...


mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
Additional for ZCS 8.8.7 and 8.8.8:
touch /etc/nginx/sites-available/default
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/zv1 ./apt/zv1 --no-sign-request --delete
vi /etc/nginx/sites-available/default


server {
Additional for ZCS 8.8.8:
    listen      443 ssl;
root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/888patch ./apt/888patch --no-sign-request --delete
    ssl_certificate /etc/nginx/certs/zimbra-wilcard.crt;
    ssl_certificate_key /etc/nginx/certs/zimbra-wilcard.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ## Let your repository be the root directory
    root        /var/repositories;


    ## Always good to log
Additional for Network ZCS 8.8.8 patches:
    access_log /var/log/nginx/repo.access.log;
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/888patch-nw ./apt/888patch-nw --no-sign-request --delete
    error_log  /var/log/nginx/repo.error.log;


    ## Prevent access to Reprepro's files
ZCS 8.8.9 and above  (FOSS):
    location ~ /(db|conf) {
        deny        all;
        return      404;
    }
}


root@repo:~# service nginx restart
Replace 889 with the release number
* Restarting nginx nginx
* 8.8.10 replace 889 with 8810
  ...done.
* 8.8.11 replace 889 with 8811
* 8.8.12 replace 889 with 8812
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/889 ./apt/889 --no-sign-request --delete
 
ZCS 8.8.9 and above  (Network Edition):
 
Replace 889 with the release number
* 8.8.10 replace 889-ne with 8810-ne
* 8.8.11 replace 889-ne with 8811-ne
* 8.8.12 replace 889-ne with 8812-ne
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/889 ./apt/889 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/889-ne ./apt/889-ne --no-sign-request --delete
 
ZCS 9.0.0
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/90 ./apt/90 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/90-ne ./apt/90-ne --no-sign-request --delete
 
ZCS 10.0.0 and above
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/1000 ./apt/1000 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/1000-ne ./apt/1000-ne --no-sign-request --delete
 
====Cloning the packages for RHEL/CentOS====
If you are planning to install Zimbra on your RHEL/CentOS VM/Servers, then run the next command to download the RHEL/CentOS packages:
 
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
 
Additional for ZCS 8.8.7 and ZCS 8.8.8:
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/zv1 ./rpm/zv1 --no-sign-request --delete
 
Additional for ZCS 8.8.8:
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/888patch ./rpm/888patch --no-sign-request --delete
 
Additional for ZCS Network edition 8.8.8 and patches :
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/888patch-nw ./rpm/888patch-nw --no-sign-request --delete
 
ZCS 8.8.9 and above  (FOSS):
 
Replace 889 with the release number
* 8.8.10 replace 889 with 8810
* 8.8.11 replace 889 with 8811
* 8.8.12 replace 889 with 8812
 
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/889 ./rpm/889 --no-sign-request --delete
 
ZCS 8.8.9 and above  (Network Edition):
 
Replace 889 with the release number
* 8.8.10 replace 889-ne with 8810-ne
* 8.8.11 replace 889-ne with 8811-ne
* 8.8.12 replace 889-ne with 8812-ne
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/889 ./rpm/889 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/889-ne ./rpm/889-ne --no-sign-request --delete
 
ZCS 9.0.0
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/90 ./rpm/90 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/90-ne ./rpm/90-ne --no-sign-request --delete
 
ZCS 10.0.0 and above
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/1000 ./rpm/1000 --no-sign-request --delete
  root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/1000-ne ./rpm/1000-ne --no-sign-request --delete
 
===Installing & configuring Nginx===
Then we need to serve the packages using nginx, let's start for the basic steps to install nginx:
 
  root@repo:~# yum install nginx
 
Zimbra strongly recommends using a valid SSL certificate for the repository server. Put the zimbra-wilcard.crt (must contain the CRT and the CA) and the zimbra-wilcard.key inside the next folder:
 
  root@repo:~# mkdir /etc/nginx/certs
 
Let's go now to configure our Nginx server, first backup the default config and create a new one:
 
  root@repo:~# mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
  root@repo:~# mv /etc/nginx/conf.d/ssl.conf /etc/nginx/conf.d/ssl.conf.bak
  root@repo:~# touch /etc/nginx/conf.d/default.conf
 
You can use the next example to fill your Repository configuration
 
  root@repo:~# cat > /etc/nginx/conf.d/default.conf <<EOF
  server {
      listen      443 ssl;
      ssl_certificate /etc/nginx/certs/zimbra-wilcard.crt;
      ssl_certificate_key /etc/nginx/certs/zimbra-wilcard.key;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_ciphers HIGH:!aNULL:!MD5;
      ## Let your repository be the root directory
      root        /var/repositories;
 
      ## Always good to log
      access_log  /var/log/nginx/repo.access.log;
      error_log  /var/log/nginx/repo.error.log;
 
      ## Prevent access to Reprepro's files
      location ~ /(db|conf) {
          deny        all;
          return      404;
      }
  }
  EOF
 
And, restart your nginx service
 
  root@repo:~# service nginx restart
  * Restarting nginx nginx
    ...done.
 
=How to configure the Zimbra Server for Ubuntu=
In this demo scenario, will install a new instance of Zimbra Collaboration server with Ubuntu as the operating system
 
==Configure the sources list==
You must add your local repository to your Ubuntu Configuration.
Please note you must change (kernel of) precise to trusty (Ubuntu 14.04) if you are running Ubuntu 12.04:
xenial for Ubuntu 16, bionic for Ubuntu 18, focal for Ubuntu 20
 
ZCS 8.7.x till 8.8.6
  root@zimbra86:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
  deb    [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  EOF
 
ZCS 8.8.7 & above
  root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
  deb    [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/zv1 trusty zimbra
  deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  EOF
 
ZCS 8.8.8
  root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
  deb    [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/zv1 trusty zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/888patch trusty zimbra
  deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  EOF
 
ZCS 8.8.8 (Network Edition)
  root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
  deb    [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/zv1 trusty zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/888patch-nw trusty zimbra
  deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  EOF
 
ZCS 8.8.9 and above  (FOSS Edition):
 
Replace 889 with the release number
* 8.8.10 replace 889 with 8810
* 8.8.11 replace 889 with 8811
* 8.8.12 replace 889 with 8812
 
  root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
  deb    [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/889 trusty zimbra
  deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  EOF
 
ZCS 8.8.9 and above  (Network Edition):
 
Replace 889 with the release number
* 8.8.10 replace 889-ne with 8810-ne
* 8.8.11 replace 889-ne with 8811-ne
* 8.8.12 replace 889-ne with 8812-ne
  root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
  deb    [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/889 trusty zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/889-ne trusty zimbra
  deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
  EOF
 
ZCS 9.0.0
  root@zimbra9:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
  deb    [arch=amd64] https://repo.domain.tld/apt/87 focal zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/90 focal zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/90-ne focal zimbra
  deb-src [arch=amd64] https://repo.domain.tld/apt/87 focal zimbra
  EOF
 
ZCS 10.0.0 and above
  root@zimbra10:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
  deb    [arch=amd64] https://repo.domain.tld/apt/87 focal zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/1000 focal zimbra
  deb    [arch=amd64] https://repo.domain.tld/apt/1000-ne focal zimbra
  deb-src [arch=amd64] https://repo.domain.tld/apt/87 focal zimbra
  EOF
 
==Adding the Zimbra Repository key==
You must add the next Zimbra key to the apt keychain
  root@zimbra86:~# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9BE6ED79
  Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.FfpLxMcUiQ --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 9BE6ED79
  gpg: requesting key 9BE6ED79 from hkp server keyserver.ubuntu.com
  gpg: key 9BE6ED79: public key "Zimbra Packaging Services <packaging-devel@zimbra.com>" imported
  gpg: Total number processed: 1
  gpg:              imported: 1  (RSA: 1)
 
==Check if the Zimbra Server is ready==
You can check if everything is alright by running the next commands, where you can search by one Zimbra package:
  root@repo:~# apt-get update
  root@repo:~# aptitude search zimbra-nginx
  p  zimbra-nginx            - nginx Binaries                                                                                                       
  p  zimbra-nginx-dbg        - nginx binary debug information
 
=How to configure the Zimbra Server for RHEL/CentOS =
In this demo scenario, will install a new instance of Zimbra Collaboration server with RHEL/CentOS as the operating system
 
==Configure the yum repository==
You must add your local repository to your RHEL/CentOS Configuration :
  root@zimbra86:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
  [zimbra]
  name=Zimbra RPM Repository
  baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
  gpgcheck=1
  enabled=1
  EOF
 
ZCS 8.8.7:
  root@zimbra887:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
  [zimbra]
  name=Zimbra RPM Repository
  baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-v1]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/zv1/rhel\$releasever
  gpgcheck=1
  enabled=1
  EOF
 
ZCS 8.8.8 :
  root@zimbra888:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
  [zimbra]
  name=Zimbra RPM Repository
  baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-v1]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/zv1/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-888-patch]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/888patch/rhel\$releasever
  gpgcheck=1
  enabled=1
  EOF
 
ZCS 8.8.8 (Network Edition) :
  root@zimbra888:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
  [zimbra]
  name=Zimbra RPM Repository
  baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-v1]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/zv1/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-888-patch]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/888patch/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-888-patch-nw]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/888patch-nw/rhel\$releasever
  gpgcheck=1
  enabled=1
  EOF
 
ZCS 8.8.9 and above  (FOSS):
 
Replace 889 with the release number
* 8.8.10 replace 889 with 8810
* 8.8.11 replace 889 with 8811
* 8.8.12 replace 889 with 8812
 
  root@zimbra888:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
  [zimbra]
  name=Zimbra RPM Repository
  baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
  gpgcheck=1
  enabled=1
[zimbra-889-oss]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/889/rhel\$releasever
  gpgcheck=1
  enabled=1
  EOF
 
ZCS 8.8.9 and above  (Network Edition):
 
Replace 889 with the release number
* 8.8.10 replace 889-ne with 8810-ne
* 8.8.11 replace 889-ne with 8811-ne
* 8.8.12 replace 889-ne with 8812-ne
  root@zimbra888:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
  [zimbra]
  name=Zimbra RPM Repository
  baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
  gpgcheck=1
  enabled=1
[zimbra-889-oss]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/889/rhel\$releasever
  gpgcheck=1
  enabled=1
[zimbra-889-network]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/889-ne/rhel\$releasever
  gpgcheck=1
  enabled=1
  EOF
 
ZCS 9.0.0
  root@zimbra9:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
  [zimbra]
  name=Zimbra RPM Repository
  baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-90-oss]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/90/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-90-network]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/90-ne/rhel\$releasever
  gpgcheck=1
  enabled=1
  EOF
 
ZCS 10.0.0 and above
  root@zimbra10:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
  [zimbra]
  name=Zimbra RPM Repository
  baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-1000-oss]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/1000/rhel\$releasever
  gpgcheck=1
  enabled=1
  [zimbra-1000-network]
  name=Zimbra New RPM Repository
  baseurl=https://repo.domain.tld/rpm/1000-ne/rhel\$releasever
  gpgcheck=1
  enabled=1
  EOF
 
==Adding the Zimbra Repository key==
You must add the next Zimbra key to the apt keychain
  root@zimbra86:~# rpm --import https://files.zimbra.com/downloads/security/public.key
 
== (Optional) Enable Selinux ==
In order to make the repository works with Selinux you can add the repository folder into the http security context :
  chcon -Rt httpd_sys_content_t /var/repositories/
 
== (Optional) Enable Yum with Self Signed Certificate ==
In order to make the repository works with the self signed certificate you need to add this option to your /etc/yum.conf :
  sslverify=false
 
==Check if the Zimbra Server is ready==
You can check if everything is alright by running the next commands, where you can search by one Zimbra package:
  root@zimbra86:~# yum search zimbra
  zimbra-altermime.x86_64 : Zimbra's altermime build
  zimbra-amavis-logwatch.x86_64 : Zimbra's amavis-logwatch build
  zimbra-amavisd.x86_64 : Zimbra's amavisd build
 
=Installing Zimbra Collaboration 8.7=
Last but not least, download the Zimbra Collaboration 8.7 package and run the '''./install.sh''' as usual.
*Note: You will not need to install the OS dependencies like in the past, the new Zimbra Collaboration 8.7 installation script take care of it
 
During the question about use '''Zimbra's package repository''', '''type N''', so the system will use your local repository
Use Zimbra's package repository [Y] n
 
The installation will continue as usual, and will finish properly.
 
=== Packages compatible ZCS 8.7.x and till ZCS 8.8.6 ===
All the packages available in
  https://repo.zimbra.com/apt/87
  https://repo.zimbra.com/rpm/87
 
=== Packages compatible with ZCS 8.8.7 ===
All the packages available in
  https://repo.zimbra.com/apt/87
  https://repo.zimbra.com/rpm/87
  https://repo.zimbra.com/apt/zv1
  https://repo.zimbra.com/rpm/zv1
 
=== Packages compatible Only with ZCS 8.8.8 ===
All the packages available in
  https://repo.zimbra.com/apt/87
  https://repo.zimbra.com/rpm/87
  https://repo.zimbra.com/apt/zv1
  https://repo.zimbra.com/rpm/zv1
  https://repo.zimbra.com/apt/888patch
  https://repo.zimbra.com/rpm/888patch
Additional for ZCS Network Edition
  https://repo.zimbra.com/apt/888patch-nw
  https://repo.zimbra.com/rpm/888patch-nw
 
=== Packages compatible with ZCS 8.8.9 and above ===
 
ZCS 8.8.9 and above (FOSS)
 
Replace 889 with the release number
* 8.8.10 replace 889 with 8810
* 8.8.11 replace 889 with 8811
* 8.8.12 replace 889 with 8812
 
All the packages available in
  https://repo.zimbra.com/apt/87
  https://repo.zimbra.com/rpm/87
  https://repo.zimbra.com/apt/889
  https://repo.zimbra.com/rpm/889
 
ZCS 8.8.9 and above  (Network Edition):
 
Replace 889 with the release number
* 8.8.10 replace 889-ne with 8810-ne
* 8.8.11 replace 889-ne with 8811-ne
* 8.8.12 replace 889-ne with 8812-ne
 
  https://repo.zimbra.com/apt/889-ne
  https://repo.zimbra.com/rpm/889-ne
 
ZCS 8.8.10 FOSS
All the packages available in
  https://repo.zimbra.com/apt/87
  https://repo.zimbra.com/rpm/87
  https://repo.zimbra.com/apt/8810
  https://repo.zimbra.com/rpm/8810
 
ZCS 8.8.10 Network Edition
  https://repo.zimbra.com/apt/8810-ne
  https://repo.zimbra.com/rpm/8810-ne
 
=== Packages compatible with ZCS 9.0.0 ===
All the packages available in
  https://repo.zimbra.com/apt/87
  https://repo.zimbra.com/rpm/87
  https://repo.zimbra.com/apt/90
  https://repo.zimbra.com/rpm/90
  https://repo.zimbra.com/apt/90-ne
  https://repo.zimbra.com/rpm/90-ne
 
=== Packages compatible with ZCS 10.0.0 and above ===
All the packages available in
  https://repo.zimbra.com/apt/87
  https://repo.zimbra.com/rpm/87
  https://repo.zimbra.com/apt/1000
  https://repo.zimbra.com/rpm/1000
  https://repo.zimbra.com/apt/1000-ne
  https://repo.zimbra.com/rpm/1000-ne
 
=Keep the local Repository up to date=
The challenge while using local repository is keep it up to date, you must run the next commands always before run any upgrade or update on the Zimbra Servers
  aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 
ZCS 8.8.7 and onwards:
  aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
 
ZCS 8.8.8:
  aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/888patch /var/repositories/apt/888patch --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete
 
 
ZCS 8.8.8 (Network Edition):
  aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/888patch /var/repositories/apt/888patch --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/888patch-nw /var/repositories/apt/888patch-nw --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/888patch-nw /var/repositories/rpm/888patch-nw --no-sign-request --delete
 
ZCS 8.8.9 and above (FOSS):
Replace 889 with the release number
* 8.8.10 replace 889 with 8810
* 8.8.11 replace 889 with 8811
* 8.8.12 replace 889 with 8812
 
  aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/889 /var/repositories/apt/889 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete
 
 
ZCS 8.8.9 and above  (Network Edition):
Replace 889 with the release number
* 8.8.10 replace 889-ne with 8810-ne
* 8.8.11 replace 889-ne with 8811-ne
* 8.8.12 replace 889-ne with 8812-ne
 
  aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/889 /var/repositories/apt/889 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/889-ne /var/repositories/apt/889-ne --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/889-ne /var/repositories/rpm/889-ne --no-sign-request --delete
 
ZCS 9.0.0
  aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/90 /var/repositories/apt/90 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/90 /var/repositories/rpm/90 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/90-ne /var/repositories/apt/90-ne --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/90-ne /var/repositories/rpm/90-ne --no-sign-request --delete
 
ZCS 10.0.0 and above
  aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/1000 /var/repositories/apt/1000 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/1000 /var/repositories/rpm/1000 --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/apt/1000-ne /var/repositories/apt/1000-ne --no-sign-request --delete
  aws s3 sync s3://repo.zimbra.com/rpm/1000-ne /var/repositories/rpm/1000-ne --no-sign-request --delete
 
== Using Cron ==
You can keep up to date your repository by putting theses lines into your crontab to update the local repo at 3:30 am every day :
 
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
ZCS 8.8.7 and onwards:
 
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
 
ZCS 8.8.8 (FOSS):
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/888patch /var/repositories/apt/888patch --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete
 
ZCS 8.8.8 and patches(Network Edition):
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/888patch /var/repositories/apt/888patch --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/888patch-nw /var/repositories/apt/888patch-nw --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/888patch-nw /var/repositories/rpm/888patch-nw --no-sign-request --delete
 
ZCS 8.8.9 and above (FOSS):
Replace 889 with the release number
* 8.8.10 replace 889 with 8810
* 8.8.11 replace 889 with 8811
* 8.8.12 replace 889 with 8812
 
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/889 /var/repositories/apt/889 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete
 
ZCS 8.8.9 and above  (Network Edition):
Replace 889 with the release number
* 8.8.10 replace 889-ne with 8810-ne
* 8.8.11 replace 889-ne with 8811-ne
* 8.8.12 replace 889-ne with 8812-ne
 
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/889 /var/repositories/apt/889 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/889-ne /var/repositories/apt/889-ne --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/889-ne /var/repositories/rpm/889-ne --no-sign-request --delete
 
ZCS 9.0.0
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/90 /var/repositories/apt/90 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/90 /var/repositories/rpm/90 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/90-ne /var/repositories/apt/90-ne --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/90-ne /var/repositories/rpm/90-ne --no-sign-request --delete
 
ZCS 10.0.0 and above
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/1000 /var/repositories/apt/1000 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/1000 /var/repositories/rpm/1000 --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/1000-ne /var/repositories/apt/1000-ne --no-sign-request --delete
  30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/1000-ne /var/repositories/rpm/1000-ne --no-sign-request --delete
 
=Known issues=
==SSL issues==
This error it's not related to Zimbra, but sometimes if you don't have a valid CA, or the CA is missing in the .crt file that you use for Nginx, when run apt-get update on the Zimbra server you can see the next error:
W: Failed to fetch https://repo.domain.tld/87/dists/precise/zimbra/source/Sources  server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
You can fix it by adding your CA inside the '''/etc/ssl/certs/ca-certificates.crt''' on the Zimbra server
 
==Identified Support Issues==
* No Support issues reported yet.
 
{{Article Footer|Zimbra Collaboration Suite 8.7|04/04/2016}}
{{NeedSME|Jorge|SME2|Copyeditor}}
[[Category:ZCS 8.7]]

Latest revision as of 03:25, 31 May 2023

Zimbra Collaboration Repository

   KB 22577        Last updated on 2023-05-31  




0.00
(0 votes)

How it works

Starting in Zimbra Collaboration 8.7, Zimbra uses repositories for 3rd party packages, in the first step towards having the whole product fully installable from repositories.

Zimbra-repository.png

How to create a local repository

Many Customers do not allow Internet access from their servers to the Internet, which means Zimbra's 8.7 installer will not be able to reach the Zimbra repository and be able to finish the Installation.

In order to successfully install Zimbra 8.7 within such a network, this Wiki will cover all the steps needed to create a local Zimbra mirror where a Company can clone our repo to a mirror, and the rest of the internal servers will take the needed packages locally from the mirror server. Section B in the image above is an example of this type of layout.

Creating a local repository using a RHEL/CentOS

Pending

Installing Python

Then we need to install the python packages:

 yum install python-pip

Installing Amazon Web Services CLI

Once we have installed python, it's time to install the Amazon Web Services CLI, by running the next command

 pip install awscli

Cloning the packages from our Official Repository

It's time to download all the packages from our official Repository to the local folder, first step it's create the local folder

 root@repo:~#mkdir /var/repositories
 root@repo:~#cd /var/repositories

Cloning the packages for Ubuntu

If you are planning to install Zimbra on your Ubuntu VM/Servers, then run the next command to download the Ubuntu packages:

 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete

Additional for ZCS 8.8.7 and 8.8.8:

 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/zv1 ./apt/zv1 --no-sign-request --delete

Additional for ZCS 8.8.8:

root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/888patch ./apt/888patch --no-sign-request --delete

Additional for Network ZCS 8.8.8 patches:

root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/888patch-nw ./apt/888patch-nw --no-sign-request --delete

ZCS 8.8.9 and above (FOSS):

Replace 889 with the release number

  • 8.8.10 replace 889 with 8810
  • 8.8.11 replace 889 with 8811
  • 8.8.12 replace 889 with 8812
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/889 ./apt/889 --no-sign-request --delete

ZCS 8.8.9 and above (Network Edition):

Replace 889 with the release number

  • 8.8.10 replace 889-ne with 8810-ne
  • 8.8.11 replace 889-ne with 8811-ne
  • 8.8.12 replace 889-ne with 8812-ne
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/889 ./apt/889 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/889-ne ./apt/889-ne --no-sign-request --delete

ZCS 9.0.0

 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/90 ./apt/90 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/90-ne ./apt/90-ne --no-sign-request --delete

ZCS 10.0.0 and above

 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/87 ./apt/87 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/1000 ./apt/1000 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/apt/1000-ne ./apt/1000-ne --no-sign-request --delete

Cloning the packages for RHEL/CentOS

If you are planning to install Zimbra on your RHEL/CentOS VM/Servers, then run the next command to download the RHEL/CentOS packages:

 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete

Additional for ZCS 8.8.7 and ZCS 8.8.8:

 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/zv1 ./rpm/zv1 --no-sign-request --delete

Additional for ZCS 8.8.8:

 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/888patch ./rpm/888patch --no-sign-request --delete

Additional for ZCS Network edition 8.8.8 and patches :

 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/888patch-nw ./rpm/888patch-nw --no-sign-request --delete

ZCS 8.8.9 and above (FOSS):

Replace 889 with the release number

  • 8.8.10 replace 889 with 8810
  • 8.8.11 replace 889 with 8811
  • 8.8.12 replace 889 with 8812
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/889 ./rpm/889 --no-sign-request --delete

ZCS 8.8.9 and above (Network Edition):

Replace 889 with the release number

  • 8.8.10 replace 889-ne with 8810-ne
  • 8.8.11 replace 889-ne with 8811-ne
  • 8.8.12 replace 889-ne with 8812-ne
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/889 ./rpm/889 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/889-ne ./rpm/889-ne --no-sign-request --delete

ZCS 9.0.0

 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/90 ./rpm/90 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/90-ne ./rpm/90-ne --no-sign-request --delete

ZCS 10.0.0 and above

 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/1000 ./rpm/1000 --no-sign-request --delete
 root@repo:~# aws s3 sync s3://repo.zimbra.com/rpm/1000-ne ./rpm/1000-ne --no-sign-request --delete

Installing & configuring Nginx

Then we need to serve the packages using nginx, let's start for the basic steps to install nginx:

 root@repo:~# yum install nginx

Zimbra strongly recommends using a valid SSL certificate for the repository server. Put the zimbra-wilcard.crt (must contain the CRT and the CA) and the zimbra-wilcard.key inside the next folder:

 root@repo:~# mkdir /etc/nginx/certs

Let's go now to configure our Nginx server, first backup the default config and create a new one:

 root@repo:~# mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
 root@repo:~# mv /etc/nginx/conf.d/ssl.conf /etc/nginx/conf.d/ssl.conf.bak
 root@repo:~# touch /etc/nginx/conf.d/default.conf

You can use the next example to fill your Repository configuration

 root@repo:~# cat > /etc/nginx/conf.d/default.conf <<EOF
 server {
     listen      443 ssl;
     ssl_certificate /etc/nginx/certs/zimbra-wilcard.crt;
     ssl_certificate_key /etc/nginx/certs/zimbra-wilcard.key;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     ssl_ciphers HIGH:!aNULL:!MD5;
     ## Let your repository be the root directory
     root        /var/repositories;
 
     ## Always good to log
     access_log  /var/log/nginx/repo.access.log;
     error_log   /var/log/nginx/repo.error.log;
 
     ## Prevent access to Reprepro's files
     location ~ /(db|conf) {
         deny        all;
         return      404;
     }
 }
 EOF

And, restart your nginx service

 root@repo:~# service nginx restart
  * Restarting nginx nginx
    ...done.

How to configure the Zimbra Server for Ubuntu

In this demo scenario, will install a new instance of Zimbra Collaboration server with Ubuntu as the operating system

Configure the sources list

You must add your local repository to your Ubuntu Configuration. Please note you must change (kernel of) precise to trusty (Ubuntu 14.04) if you are running Ubuntu 12.04: xenial for Ubuntu 16, bionic for Ubuntu 18, focal for Ubuntu 20

ZCS 8.7.x till 8.8.6

 root@zimbra86:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
 deb     [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 EOF

ZCS 8.8.7 & above

 root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
 deb     [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/zv1 trusty zimbra
 deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 EOF

ZCS 8.8.8

 root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
 deb     [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/zv1 trusty zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/888patch trusty zimbra
 deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 EOF

ZCS 8.8.8 (Network Edition)

 root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
 deb     [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/zv1 trusty zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/888patch-nw trusty zimbra
 deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 EOF

ZCS 8.8.9 and above (FOSS Edition):

Replace 889 with the release number

  • 8.8.10 replace 889 with 8810
  • 8.8.11 replace 889 with 8811
  • 8.8.12 replace 889 with 8812
 root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
 deb     [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/889 trusty zimbra
 deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 EOF

ZCS 8.8.9 and above (Network Edition):

Replace 889 with the release number

  • 8.8.10 replace 889-ne with 8810-ne
  • 8.8.11 replace 889-ne with 8811-ne
  • 8.8.12 replace 889-ne with 8812-ne
 root@zimbra887:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
 deb     [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/889 trusty zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/889-ne trusty zimbra
 deb-src [arch=amd64] https://repo.domain.tld/apt/87 trusty zimbra
 EOF

ZCS 9.0.0

 root@zimbra9:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
 deb     [arch=amd64] https://repo.domain.tld/apt/87 focal zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/90 focal zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/90-ne focal zimbra
 deb-src [arch=amd64] https://repo.domain.tld/apt/87 focal zimbra
 EOF

ZCS 10.0.0 and above

 root@zimbra10:~/# cat > /etc/apt/sources.list.d/zimbra.list << EOF
 deb     [arch=amd64] https://repo.domain.tld/apt/87 focal zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/1000 focal zimbra
 deb     [arch=amd64] https://repo.domain.tld/apt/1000-ne focal zimbra
 deb-src [arch=amd64] https://repo.domain.tld/apt/87 focal zimbra
 EOF

Adding the Zimbra Repository key

You must add the next Zimbra key to the apt keychain

 root@zimbra86:~# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9BE6ED79
 Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.FfpLxMcUiQ --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 9BE6ED79
 gpg: requesting key 9BE6ED79 from hkp server keyserver.ubuntu.com
 gpg: key 9BE6ED79: public key "Zimbra Packaging Services <packaging-devel@zimbra.com>" imported
 gpg: Total number processed: 1
 gpg:               imported: 1  (RSA: 1)

Check if the Zimbra Server is ready

You can check if everything is alright by running the next commands, where you can search by one Zimbra package:

 root@repo:~# apt-get update
 root@repo:~# aptitude search zimbra-nginx
 p   zimbra-nginx             - nginx Binaries                                                                                                         
 p   zimbra-nginx-dbg         - nginx binary debug information

How to configure the Zimbra Server for RHEL/CentOS

In this demo scenario, will install a new instance of Zimbra Collaboration server with RHEL/CentOS as the operating system

Configure the yum repository

You must add your local repository to your RHEL/CentOS Configuration :

 root@zimbra86:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
 [zimbra]
 name=Zimbra RPM Repository
 baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
 gpgcheck=1
 enabled=1 
 EOF

ZCS 8.8.7:

 root@zimbra887:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
 [zimbra]
 name=Zimbra RPM Repository
 baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
 gpgcheck=1
 enabled=1 
 [zimbra-v1]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/zv1/rhel\$releasever
 gpgcheck=1
 enabled=1
 EOF

ZCS 8.8.8 :

 root@zimbra888:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
 [zimbra]
 name=Zimbra RPM Repository
 baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
 gpgcheck=1
 enabled=1 
 [zimbra-v1]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/zv1/rhel\$releasever
 gpgcheck=1
 enabled=1
 [zimbra-888-patch]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/888patch/rhel\$releasever
 gpgcheck=1
 enabled=1
 EOF

ZCS 8.8.8 (Network Edition) :

 root@zimbra888:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
 [zimbra]
 name=Zimbra RPM Repository
 baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
 gpgcheck=1
 enabled=1 
 [zimbra-v1]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/zv1/rhel\$releasever
 gpgcheck=1
 enabled=1
 [zimbra-888-patch]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/888patch/rhel\$releasever
 gpgcheck=1
 enabled=1
 [zimbra-888-patch-nw]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/888patch-nw/rhel\$releasever
 gpgcheck=1
 enabled=1
 EOF

ZCS 8.8.9 and above (FOSS):

Replace 889 with the release number

  • 8.8.10 replace 889 with 8810
  • 8.8.11 replace 889 with 8811
  • 8.8.12 replace 889 with 8812
 root@zimbra888:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
 [zimbra]
 name=Zimbra RPM Repository
 baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
 gpgcheck=1
 enabled=1 
[zimbra-889-oss]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/889/rhel\$releasever
 gpgcheck=1
 enabled=1
 EOF

ZCS 8.8.9 and above (Network Edition):

Replace 889 with the release number

  • 8.8.10 replace 889-ne with 8810-ne
  • 8.8.11 replace 889-ne with 8811-ne
  • 8.8.12 replace 889-ne with 8812-ne
 root@zimbra888:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
 [zimbra]
 name=Zimbra RPM Repository
 baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
 gpgcheck=1
 enabled=1 
[zimbra-889-oss]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/889/rhel\$releasever
 gpgcheck=1
 enabled=1
[zimbra-889-network]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/889-ne/rhel\$releasever
 gpgcheck=1
 enabled=1
 EOF

ZCS 9.0.0

 root@zimbra9:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
 [zimbra]
 name=Zimbra RPM Repository
 baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
 gpgcheck=1
 enabled=1 
 [zimbra-90-oss]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/90/rhel\$releasever
 gpgcheck=1
 enabled=1
 [zimbra-90-network]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/90-ne/rhel\$releasever
 gpgcheck=1
 enabled=1
 EOF

ZCS 10.0.0 and above

 root@zimbra10:~# cat > /etc/yum.repos.d/zimbra.repo <<EOF
 [zimbra]
 name=Zimbra RPM Repository
 baseurl=https://repo.domain.tld/rpm/87/rhel\$releasever
 gpgcheck=1
 enabled=1 
 [zimbra-1000-oss]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/1000/rhel\$releasever
 gpgcheck=1
 enabled=1
 [zimbra-1000-network]
 name=Zimbra New RPM Repository
 baseurl=https://repo.domain.tld/rpm/1000-ne/rhel\$releasever
 gpgcheck=1
 enabled=1
 EOF

Adding the Zimbra Repository key

You must add the next Zimbra key to the apt keychain

 root@zimbra86:~# rpm --import https://files.zimbra.com/downloads/security/public.key

(Optional) Enable Selinux

In order to make the repository works with Selinux you can add the repository folder into the http security context :

 chcon -Rt httpd_sys_content_t /var/repositories/

(Optional) Enable Yum with Self Signed Certificate

In order to make the repository works with the self signed certificate you need to add this option to your /etc/yum.conf :

 sslverify=false

Check if the Zimbra Server is ready

You can check if everything is alright by running the next commands, where you can search by one Zimbra package:

 root@zimbra86:~# yum search zimbra
 zimbra-altermime.x86_64 : Zimbra's altermime build
 zimbra-amavis-logwatch.x86_64 : Zimbra's amavis-logwatch build
 zimbra-amavisd.x86_64 : Zimbra's amavisd build

Installing Zimbra Collaboration 8.7

Last but not least, download the Zimbra Collaboration 8.7 package and run the ./install.sh as usual.

  • Note: You will not need to install the OS dependencies like in the past, the new Zimbra Collaboration 8.7 installation script take care of it

During the question about use Zimbra's package repository, type N, so the system will use your local repository

Use Zimbra's package repository [Y] n

The installation will continue as usual, and will finish properly.

Packages compatible ZCS 8.7.x and till ZCS 8.8.6

All the packages available in

 https://repo.zimbra.com/apt/87
 https://repo.zimbra.com/rpm/87

Packages compatible with ZCS 8.8.7

All the packages available in

 https://repo.zimbra.com/apt/87
 https://repo.zimbra.com/rpm/87 
 https://repo.zimbra.com/apt/zv1
 https://repo.zimbra.com/rpm/zv1

Packages compatible Only with ZCS 8.8.8

All the packages available in

 https://repo.zimbra.com/apt/87
 https://repo.zimbra.com/rpm/87 
 https://repo.zimbra.com/apt/zv1
 https://repo.zimbra.com/rpm/zv1
 https://repo.zimbra.com/apt/888patch
 https://repo.zimbra.com/rpm/888patch

Additional for ZCS Network Edition

 https://repo.zimbra.com/apt/888patch-nw
 https://repo.zimbra.com/rpm/888patch-nw

Packages compatible with ZCS 8.8.9 and above

ZCS 8.8.9 and above (FOSS)

Replace 889 with the release number

  • 8.8.10 replace 889 with 8810
  • 8.8.11 replace 889 with 8811
  • 8.8.12 replace 889 with 8812

All the packages available in

 https://repo.zimbra.com/apt/87
 https://repo.zimbra.com/rpm/87 
 https://repo.zimbra.com/apt/889
 https://repo.zimbra.com/rpm/889

ZCS 8.8.9 and above (Network Edition):

Replace 889 with the release number

  • 8.8.10 replace 889-ne with 8810-ne
  • 8.8.11 replace 889-ne with 8811-ne
  • 8.8.12 replace 889-ne with 8812-ne
 https://repo.zimbra.com/apt/889-ne
 https://repo.zimbra.com/rpm/889-ne

ZCS 8.8.10 FOSS All the packages available in

 https://repo.zimbra.com/apt/87
 https://repo.zimbra.com/rpm/87 
 https://repo.zimbra.com/apt/8810
 https://repo.zimbra.com/rpm/8810

ZCS 8.8.10 Network Edition

 https://repo.zimbra.com/apt/8810-ne
 https://repo.zimbra.com/rpm/8810-ne

Packages compatible with ZCS 9.0.0

All the packages available in

 https://repo.zimbra.com/apt/87
 https://repo.zimbra.com/rpm/87
 https://repo.zimbra.com/apt/90
 https://repo.zimbra.com/rpm/90
 https://repo.zimbra.com/apt/90-ne
 https://repo.zimbra.com/rpm/90-ne

Packages compatible with ZCS 10.0.0 and above

All the packages available in

 https://repo.zimbra.com/apt/87
 https://repo.zimbra.com/rpm/87
 https://repo.zimbra.com/apt/1000
 https://repo.zimbra.com/rpm/1000
 https://repo.zimbra.com/apt/1000-ne
 https://repo.zimbra.com/rpm/1000-ne

Keep the local Repository up to date

The challenge while using local repository is keep it up to date, you must run the next commands always before run any upgrade or update on the Zimbra Servers

 aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete

ZCS 8.8.7 and onwards:

 aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete

ZCS 8.8.8:

 aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/888patch /var/repositories/apt/888patch --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete


ZCS 8.8.8 (Network Edition):

 aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/888patch /var/repositories/apt/888patch --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete 
 aws s3 sync s3://repo.zimbra.com/apt/888patch-nw /var/repositories/apt/888patch-nw --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/888patch-nw /var/repositories/rpm/888patch-nw --no-sign-request --delete

ZCS 8.8.9 and above (FOSS): Replace 889 with the release number

  • 8.8.10 replace 889 with 8810
  • 8.8.11 replace 889 with 8811
  • 8.8.12 replace 889 with 8812
 aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/889 /var/repositories/apt/889 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete


ZCS 8.8.9 and above (Network Edition): Replace 889 with the release number

  • 8.8.10 replace 889-ne with 8810-ne
  • 8.8.11 replace 889-ne with 8811-ne
  • 8.8.12 replace 889-ne with 8812-ne
 aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/889 /var/repositories/apt/889 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/889-ne /var/repositories/apt/889-ne --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/889-ne /var/repositories/rpm/889-ne --no-sign-request --delete

ZCS 9.0.0

 aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/90 /var/repositories/apt/90 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/90 /var/repositories/rpm/90 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/90-ne /var/repositories/apt/90-ne --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/90-ne /var/repositories/rpm/90-ne --no-sign-request --delete

ZCS 10.0.0 and above

 aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/1000 /var/repositories/apt/1000 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/1000 /var/repositories/rpm/1000 --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/apt/1000-ne /var/repositories/apt/1000-ne --no-sign-request --delete
 aws s3 sync s3://repo.zimbra.com/rpm/1000-ne /var/repositories/rpm/1000-ne --no-sign-request --delete

Using Cron

You can keep up to date your repository by putting theses lines into your crontab to update the local repo at 3:30 am every day :

 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete

ZCS 8.8.7 and onwards:

 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete

ZCS 8.8.8 (FOSS):

 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/888patch /var/repositories/apt/888patch --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete

ZCS 8.8.8 and patches(Network Edition):

 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/zv1 /var/repositories/apt/zv1 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/888patch /var/repositories/apt/888patch --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/888patch-nw /var/repositories/apt/888patch-nw --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/888patch-nw /var/repositories/rpm/888patch-nw --no-sign-request --delete

ZCS 8.8.9 and above (FOSS): Replace 889 with the release number

  • 8.8.10 replace 889 with 8810
  • 8.8.11 replace 889 with 8811
  • 8.8.12 replace 889 with 8812
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/889 /var/repositories/apt/889 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete

ZCS 8.8.9 and above (Network Edition): Replace 889 with the release number

  • 8.8.10 replace 889-ne with 8810-ne
  • 8.8.11 replace 889-ne with 8811-ne
  • 8.8.12 replace 889-ne with 8812-ne
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/889 /var/repositories/apt/889 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/889 /var/repositories/rpm/889 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/889-ne /var/repositories/apt/889-ne --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/889-ne /var/repositories/rpm/889-ne --no-sign-request --delete

ZCS 9.0.0

 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/90 /var/repositories/apt/90 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/90 /var/repositories/rpm/90 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/90-ne /var/repositories/apt/90-ne --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/90-ne /var/repositories/rpm/90-ne --no-sign-request --delete

ZCS 10.0.0 and above

 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/87 /var/repositories/apt/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/1000 /var/repositories/apt/1000 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/1000 /var/repositories/rpm/1000 --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/apt/1000-ne /var/repositories/apt/1000-ne --no-sign-request --delete
 30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/1000-ne /var/repositories/rpm/1000-ne --no-sign-request --delete

Known issues

SSL issues

This error it's not related to Zimbra, but sometimes if you don't have a valid CA, or the CA is missing in the .crt file that you use for Nginx, when run apt-get update on the Zimbra server you can see the next error:

W: Failed to fetch https://repo.domain.tld/87/dists/precise/zimbra/source/Sources  server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

You can fix it by adding your CA inside the /etc/ssl/certs/ca-certificates.crt on the Zimbra server

Identified Support Issues

  • No Support issues reported yet.
Verified Against: Zimbra Collaboration Suite 8.7 Date Created: 04/04/2016
Article ID: https://wiki.zimbra.com/index.php?title=Zimbra_Collaboration_repository Date Modified: 2023-05-31



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »


Wiki/KB reviewed by Jorge SME2 Copyeditor Last edit by Koichi kato
Jump to: navigation, search