How To Enable Mode ActiveSync on Zimbra OSE

Posted by

Actually, mode mobile devices activesync just there on Zimbra NE. Products comparison between Zimbra NE and Zimbra OSE can checked on this link :

On this guidance, i will try to enable mode mobile activesync on Zimbra OSE with third party application. The application are Z-Push and Z-Push Zimbra Backend. On this guidance, i am using Zimbra OSE 8.5 single server on CentOS 7. if you are using other OS, you can adjust with your system.

For guidance install Zimbra on CentOS 7, you can following this article : On this guidance, Zimbra and Z-Push using same server. Protocol http (80) will used by Z-Push and https (443) will used by Zimbra Webmail.

Change port 80 on Zimbra with other port, example port 81. Also change mode http to https for Zimbra webmail

su - zimbra
zmprov -l ms `zmhostname` zimbraMailPort 81
zmtlsctl https
zmcontrol restart

Install packages needed by Z-Push

yum install php-cli php-soap php-process php httpd

Download and install Z-Push. When this article written, Z-Push final release is 2.1.3-1892 version

wget -c
tar -zxvf z-push-2.1.3-1892.tar.gz
mv z-push-2.1.3-1892 /var/www/html/z-push

Make log directory and data

mkdir /var/lib/z-push /var/log/z-push
chmod 755 /var/lib/z-push /var/log/z-push
chown apache:apache /var/lib/z-push /var/log/z-push

Make document root for Z-Push on Apache

vi /etc/httpd/conf.d/z-push.conf

Fill with information like below

Alias /Microsoft-Server-ActiveSync /var/www/html/z-push/index.php
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag on

Also make sure memory_limit = 128M on /etc/php.ini. Download Z-Push Zimbra Backend

wget -c
tar -zxvf zimbra61.tgz
mv zimbra61/z-push-2/ /var/www/html/z-push/backend/zimbra

Configure Z-Push for using Zimbra Backend

vi /var/www/html/z-push/config.php

change and adjust with your region

define('PROVISIONING', false);
define('LOOSE_PROVISIONING', true);
define('TIMEZONE', 'Asia/Jakarta');
define('BACKEND_PROVIDER', 'BackendZimbra');

Configure Zimbra Backend and define Zimbra URL to localhost or hostname of Zimbra

vi /var/www/html/z-push/backend/zimbra/config.php
define('ZIMBRA_URL', '');

Restart service httpd

service httpd restart

check ActiveSync with browser : If asking username and password, fill with username and password accounts your Zimbra Mail Server. If appear information like below, configuration Z-Push and Z-Push Zimbra Backend has been success and could be used with mobile devices


Good luck and hopefully useful 😀

Source : and


    1. Hi Imran,

      Yes, you can. You only need to change Zimbra port 443 to another port (example 444). and change mode zmtlsctl to http

      su – zimbra
      zmtlsctl http

      After that, you can configure httpd/apache to using https (443)

    2. Better yet : if your requirement for HTTPS with ActiveSync is because of the device (Windows Phone for example), you could configure the Apache to reverse proxy requests that are not directed to ActiveSync back to Zimbra.

      1. Is it possible to set z-push to use a different IP and domain so that both z-push and Zimbra can run securely on port 443?

  1. FatalMisconfigurationException

    The configured LOGFILE can not be modified.

    [0] => Array
    [file] => /var/www/html/z-push/index.php
    [line] => 132
    [function] => CheckConfig
    [class] => ZPush
    [type] => ::
    [args] => Array



    1. Hi Shakthi,

      Please try to use CentOS first as described in the article. If work great, please improve with other OS such as Ubuntu, openSUSE and other OS

  2. This tutorial made quick work out of getting getting z-push running on a new zimbra install. Still works with the most up to date releases, zimbra63.tgz and the latest z-push 2.2.3. Thanks for all your hard work and returning this to the community.

  3. For configurations serving multiple domains there is a setting which must be changed in /var/www/html/z-push/config.php.

    By default at the version I installed it is set to false, edit to true:

    define(‘USE_FULLEMAIL_FOR_LOGIN’, true);

    so that users can sign in with, while other users can sign in at

  4. Hi,

    I have the same error:


    The configured LOGFILE can not be modified.

    [0] => Array
    [file] => /var/www/html/z-push/index.php
    [line] => 132
    [function] => CheckConfig
    [class] => ZPush
    [type] => ::
    [args] => Array



    Zimbra 8.5.0
    Z-PUSH 2.1.3-1892
    ZimbraBackend 61

    What’s the problem iman ?

    Thanks for all !


  5. Ok now, I have this error :


    You don’t have permission to access /Microsoft-Server-ActiveSync on this server.

  6. The android smartphone connection to the server and vice versa zimbra works fine, but the connection with Outlook 2013 does not work.

    I created a new activesync connection but it does not work, I have an error and if I close my outlook and opened it again I have my active sync account, but the sync does not work.

    Have you got an idea ?

  7. The calendar does not works. Tested on android 5.0.1 over samsung galaxy s4. The server is: $zmcontrol -v Release 8.6.0_GA_1153.RHEL6_64_20141215151155 RHEL6_64 FOSS edition

  8. hi i have problem with connecting to my z-push server. when i try to connect with and his password (for zimbra web page it works) it show me this message

    Can not proceed without a device id.
    [0] => Array
    [file] => /var/www/html/z-push/lib/core/zpush.php
    [line] => 385
    [function] => DeviceManager
    [class] => DeviceManager
    [type] => ->
    [args] => Array


    [1] => Array
    [file] => /var/www/html/z-push/backend/zimbra/zimbra.php
    [line] => 714
    [function] => GetDeviceManager
    [class] => ZPush
    [type] => ::
    [args] => Array


    [2] => Array
    [file] => /var/www/html/z-push/lib/request/requestprocessor.php
    [line] => 81
    [function] => Logon
    [class] => BackendZimbra
    [type] => ->
    [args] => Array
    [0] => admin
    [1] =>
    [2] => admin


    [3] => Array
    [file] => /var/www/html/z-push/index.php
    [line] => 180
    [function] => Authenticate
    [class] => RequestProcessor
    [type] => ::
    [args] => Array



  9. Already existing GAL entries are not coming while composing an email, also we cannot search in the address book for existing users in zimbra

    1. Hello Sumesh,

      How about the message on Mailbox? it’s also appear on your mobile devices? please check the log information of /var/log/z-push/z-pushxxx.log

  10. Hi Iman,

    Everything works fine except the GAL. No clue in logs.
    I have enabled debug logging, still nothing comes when we try any GAL search.

      1. Iman,

        it is working with android phones perfectly, but with Outlook 2013 it is not working.

        Did your configuration works with Outlook ?


  11. I tried to use https for z-push due to some device by default will create a ssl connection. So I changed the Zimbra 443 to 4443 use zmprov -l ms `zmhostname` zimbraMailsslPort 4443. Since I installed all Zimbra package, it also help me installed the proxy. The nginx is Sitka using the port 443. Any suggestion?if I Change the proxy port, will it make Zimbra have other problem?

  12. i have setup the full installation package. as a result i had installed and enabled the proxy function. i want to use 443 for Z-push. i try to use the command: zmprov -l ms `zmhostname` zimbraMailSSLPort 4443. I saw that the https port of the webmail do changed to 4443, however, the nginx (proxy) is still using the port 443. i have the following queries

    1. if i only have 50 user, should i use the proxy
    2. if i changed the proxy port, will it affect other things?
    3. how should i change the proxy port or disable the proxy?

    thank you.

    1. Hello Harris,

      Please paste the result of the following command :

      su - zimbra
      zmprov gs `zmhostname` | grep -i 443

      1. Zimbra Proxy has been mandatory install starting from new version
      2. I think will not effect 😀
      3. Please paste the result from above command

      1. zimbra@mail:~$ zmprov gs `zmhostname` | grep -i 443
        zimbraMailSSLClientCertPort: 9443
        zimbraMailSSLPort: 8443
        zimbraMailSSLProxyClientCertPort: 3443
        zimbraMailSSLProxyPort: 443

      2. PS: i have UNDO the ” zmprov -l ms `zmhostname` zimbraMailSSLPort 4443″ setting when i found that the 443 is being used by the proxy.

          1. How about the z-push? Just use 80. Can I change to 443? Should I change to 4443 (Zimbra https) , 8443 Zimbra proxy. If z-push use 443, how to setup the key,cert, ca chain cert?

            Thank you

          2. How about the z-push? Can I change to 443? Should I change to 4443 (Zimbra https) , 8443 Zimbra proxy. If z-push use 443, how to setup the key,cert, ca chain cert?

            Thank you

  13. Hello I an,
    How about the z-push? Can I change z-push listen to 443? Should I change Zimbra https to 4443 , 8443 for Zimbra proxy. If z-push use 443, how to setup the key,cert, ca chain cert?

    Thank you

  14. Anyone having trouble getting a 500 error after following this guide… (took me 2 days) to find out I was missing MBString

    I kept getting the below error

    [26137] [FATAL] [XXX@XXXX.COM] Fatal error: /var/www/html/z-push/lib/utils/utils.php:1165 – Call to undefined function mb_detect_encoding() (1)

    From your shell run:
    yum install php-mbstring
    service httpd restart

    Should work then! Im on the latest versions of cent, zimbra and z-push

  15. Dear Iman,

    Thanks a lot , but this post is similar & in non-english language . Please clear few things . . .

    1.) I have testing zimbra open source mail server on Ubuntu 16.04 64 Bits operating system with https (443) automatically enabled and its working fine and ActiveSync is on another Ubuntu 16.04 32 bits operating system.Was that the issue.Does ActiveSync works on 32 bits platform or not.

    2.) if i install ActiveSync onto 64 bits platform, does it help.

    3.) If i install ActiveSync onto same zimbra open source mail server.Will it disturb my working zimbra open source mail server.

    Please assist . . .

  16. Dear Iman,

    One more thing . . . before installing z-push

    I install php7.0-cli, php7.0-soap, php7.0, apache2/httpd

    But this “php-process” i am unable to find anywhere . . . for ubuntu 16.04 platform.

    is this the issue . . . . or is its the mandatory package . . .

    please assist further . . . .

    1. Hi,

      Please try to access from mobile devices. If you are using Ubuntu as base system, please try to use CentOS to make sure all configuration running well as guidance on article

    2. read again all turtoial:
      configure it correctly
      On one domain is blank page but on another is working play with define(‘ZIMBRA_URL’,

  17. Dear Iman,

    I tried the same with Centos 7 64-bits operating system by following the above steps as it is.When open url , its give 404-page not found error.When i check /var/log/httpd/error_log file, it shows PHP Fetal error: unknown: Failed opening ‘/var/www/html/z-push/index.php’ (include_path=’.:/usr/share/php:user/share/pear/PEAR’)

  18. Dear Iman,

    1.) When i run test.php file in web-browser ” ” , opened web-page shows under “Core” shows that this path
    include_path .:/usr/share/php:/usr/share/pear .:/usr/share/php:/usr/share/pear is already set.

    2.) I also set the same path manually in in /etc/php.ini and restart apache/httpd service

    But no use . . . please assist further .. . . where i am committing mistake . . . .

  19. OS:CentOS 7
    zpush: 2.3.9

    I installed zpush as per article

    It is working fine when connected in Wireless/LAN

    But for same settings from Internet Username or password is incorrect

    27/03/2018 13:07:15 [14237] [ INFO] [unknown] User-agent: ‘unknown’
    27/03/2018 13:07:15 [14237] [FATAL] [unknown] Exception: (AuthenticationRequiredException) – Access denied. Please send authorisation information

    27/03/2018 13:07:15 [14237] [ INFO] [unknown] cmd=” memory=’2.24 MiB/2.50 MiB’ time=’0.01s’ devType=” devId=” getUser=’unknown’ from=’X.X.X.X’ idle=’0s’ version=’2.3.9′ method=’OPTIONS’ httpcode=’401′

    27/03/2018 12:58:50 [14240] [FATAL] [unknown] Exception: (AuthenticationRequiredException) – Access denied. Please send authorisation information
    27/03/2018 12:59:05 [14241] [FATAL] [unknown] Exception: (AuthenticationRequiredException) – Access denied. Please send authorisation information

  20. Hi Iman,

    Thanks for all your articles.
    Based on your this article, I have configured z-push (Version 2.3.4) in past on CentOS 7 and zimbra version 8.8.15 and its working fine.
    I just wanted to know, can I install the latest z-push (Z-Push 2.6.2) version on the same installation?
    Will it work on CentOS 7 and Zimbra 8.8.15 ?

    Thanks in advance.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.