Z-Push Fork With CalDAV/LDAP Support
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



PHP-Push-2 is a modiefied version of Z-Push-2, an open source ActiveSync implementation, with CalDAV and CardDAV support.


Using the "combined backend" PHP-Push-2 supports the following features:

  • Mail - IMAP
  • Calendar - CalDAV
  • Contacts - LDAP
  • Contacts - CardDAV


  • A supported CalDAV/CardDAV server (e.g. SOGo, ownCloud, SabreDAV)
    • Did not test other than SOGo but it should work with any caldav/cardav groupware, feedback are welcome
  • An ActiveSync compatible mobile device
  • PHP5 with the following libraries are required:
    • php5-curl
    • php5-ldap for LDAP support
    • libawl-php for CardDAV and CalDAV support
    • php5-imap and php-mail for IMAP support

Debian/Ubuntu systems

    $ apt-get install php5-curl php5-ldap php5-imap php-mail libawl-php

Redhat systems

    $ yum install php-curl php-common php-ldap php-imap php-imap libawl-php


PHP-Push-2 is possible thanks to the following projects:

See also

Libraries used


PayPal - Donate

We are building PHP-Push-2 in our spare time, so if you want to buy us a coke, that would be awesome!


Clone from Github:

$ cd /var/www
$ git clone https://github.com/dupondje/PHP-Push-2.git
$ cd PHP-Push-2

Read the Z-Push install instructions in the INSTALL file, or this document: Configure Z-Push (Remote ActiveSync for Mobile Devices).

Note: Z-Push is meant to be used with mod_php. If you want to use it with FastCGI additional configuration is needed for the Apache web server. Please refer to the wiki.


Deploy a PHP-Push-2 instance for the SOGo Online Demo

The following guide sets up your PHP-Push-2 instance for the SOGo Online Demo.

$ cp config.inc.php config.php
$ cp backend/combined/config.inc.php backend/combined/config.php
  • Permissions

    $ mkdir -p /var/lib/z-push/ /var/log/z-push/

  • Debian system

      $ chown -R www-data:www-data /var/log/z-push/ /var/lib/z-push/
  • RedHat system

      $ chown -R apache:apache /var/log/z-push/ /var/lib/z-push/

Edit config.php

  • Set TimeZone
  • Configure the BackendIMAP settings section
  • Configure the BackendCARDDAV setting section
  • Configure the BackendCALDAV setting section

Edit backend/searchldap/config.php

  • This file allows you to enable GAL search support from your LDAP tree.


Using a browser login to https://fqdn/Microsoft-Server-ActiveSync. You should see a webpage that says "Z-Push - Open Source ActiveSync" stating "GET not supported."

If this page is not displayed, please READ the wiki.


To update to the latest version pull from the Git repository:

$ cd /var/www/PHP-Push-2
$ git pull


  1. Fork
  2. Create a branch (git checkout -b my_markup)
  3. Commit your changes (git commit -am "Added Snarkdown")
  4. Push to the branch (git push origin my_markup)
  5. Create an Issue with a link to your branch
  6. Or Send me a Pull Request