Z-Push Features and Requirements Overview

Author

Reads 8.3K

Detailed view of a smartphone camera app icon with notification badge.
Credit: pexels.com, Detailed view of a smartphone camera app icon with notification badge.

Z-Push is an open-source software that enables ActiveSync functionality on servers, allowing mobile devices to sync with Microsoft Exchange servers. It's a game-changer for businesses and individuals who want to stay organized on the go.

Z-Push supports multiple protocols, including EWS, HTTP, and IMAP, making it a versatile solution for syncing email, contacts, and calendars. This means you can use Z-Push with a variety of devices and clients.

One of the key features of Z-Push is its ability to work with multiple server types, including Exchange 2007, Exchange 2010, and Exchange 2013. This makes it a great option for businesses that are already invested in the Microsoft ecosystem.

Z-Push is also highly customizable, allowing you to tailor its behavior to fit your specific needs.

Installation

To install Z-Push, you'll need to download the library from the Z-Push website, specifically version v2.2.0, which has been tested to work.

You'll then need to unzip the contents into the surgemail/phplib/z-push directory and set suitable permissions, which is only applicable on Unix systems. The defaults for the state and log directories are set in config.php, located in the same directory, but can be changed if necessary.

The Z-Push directories need to be set up, with the default locations being /var/lib/z-push/ and /var/log/z-push/ on Unix systems, but can be changed if desired.

Install on Ubuntu

From below of cheerful African American female smiling and texting message on mobile phone while working with netbook
Credit: pexels.com, From below of cheerful African American female smiling and texting message on mobile phone while working with netbook

To install Z-Push on Ubuntu, you'll need to select a web server - either Apache or Lighttpd - that will be automatically configured to run z-push.

The configuration files for Apache will be located under /etc/apache2/conf-available/, specifically in z-push.conf and z-push-autodiscover.conf, which will be enabled under the /etc/apache2/conf-enabled/ directory.

You'll need to change the BackendIMAP settings to enable TLS encryption, which involves changing false to true.

Discover more: Apache James

2. Download Library

To download the Z-Push library, head over to the Z-Push website and grab the version 2.2.0, which has been tested to work.

You'll need to unzip the contents into the surgemail/phplib/z-push directory. Don't forget to set the permissions, but only if you're on a Unix system.

The Z-Push configuration file is located in surgemail/phplib/z-push/config.php, and you'll need to change the "Backend" setting from "BackendZarafa" to "BackendIMAP".

You'll also need to preconfigure the state and log directories, which have default settings in config.php. The defaults are /var/lib/z-push/ and /var/log/z-push/, but you can change them if you want.

On Windows, you'll need to change the directory specification to a directory of your choice and update the creation process accordingly.

Setup and Configuration

Credit: youtube.com, Configuring An Exchange Or Z Push Email Account On An Iphone

To set up Z-Push, you'll need to install it and apply some configuration tweaks. This will get you ready to start using the system.

First, install Z-Push. Once you've got it installed, you can move on to the next step.

Next, test and login with your client of choice. This will ensure everything is working as it should.

Curious to learn more? Check out: Router.push Next Js

Troubleshooting and Maintenance

Troubleshooting Z-Push issues often starts with checking the web server settings. Incorrect settings are usually the cause of most problems.

To test your web server setup, simply type the Z-Push URL in your browser: https://your.server.tld/Microsoft-Server-ActiveSync. If correctly configured, you should see a username/password request.

If you see the request, enter a valid username and password to see a Z-Push information page, which will tell you that this kind of request is not supported. Without authentication credentials, Z-Push displays general information.

If the test fails, check your web server settings and error logs for any clues. You can also check the z-push configured log directory for more information.

See what others are reading: Web Beacon

Credit: youtube.com, Push start problem nouvo z

Start by checking the log files in the z-push configured log directory, including z-push.log and z-push-error.log. Next, check your php log file and webserver logs for any errors.

If you're still experiencing synchronization problems, try increasing the LOGLEVEL parameter in /etc/z-push/z-push.conf.php. You can set it to LOGLEVEL_DEBUG or LOGLEVEL_WBXML for more detailed debug information.

Features and Overview

Z-Push is a powerful tool that allows for seamless synchronization of email, contacts, calendar, tasks, and notes across various devices. It's tested with a wide range of operating systems, including Windows Mobile and Android.

The tool supports ActiveSync Push Email, Contact, Calendar, Task & Notes* synchronization. This means you can access and manage your data from anywhere, at any time.

Z-Push is compatible with numerous devices, including the Samsung Galaxy S, Samsung Galaxy TAB 10.1, and Samsung Galaxy S4. It also supports Apple iPhone, iPad, and iPod Touch, as well as the Nokia E71.

Credit: youtube.com, Tutorial 61: Outlook 2013 synchronization with Zimbra & Z-push

Here are some of the specific devices and operating systems that Z-Push has been tested with:

  • Samsung Galaxy S - android 2.2.1 & 2.3.3 -> 2.3.6 (No native task sync)
  • Samsung Galaxy TAB 10.1 - android 3.1, 3.2, 4.0.4 (4.0.4 includes task sync to Calendar app)
  • Samsung Galaxy S4 - android 4.2.2, 4.3, 4.4.2 & 5.0.1 (includes task sync to S Planner app)
  • Samsung Galaxy S6 edge - android 5.1.1, 6.0.1, 7.0
  • Samsung Galaxy S8 - android 8.0, 9.0
  • Samsung Galaxy S10 - android 10.0, 11.0, 12.0
  • Samsung Galaxy S21 - android 13.0, 14.0
  • Apple iPhone/iPad/iPod Touch - iOS versions 4.0 - 17.3
  • Nokia E71 (MailForExchange 3.00.50 & 3.00.73)

Push Email

Push Email is a game-changer for those who need their emails to arrive in real-time. Normally, your email client checks your IMAP server periodically, but with Z-Push, new emails can be pushed to your device as soon as they arrive at the IMAP server.

This means you'll never miss an important email again. With Z-Push, you can configure your email client to receive push notifications, so you'll always be up-to-date.

To enable push email on your mobile device, you'll need to configure your email account to use the Microsoft Exchange protocol. On an iPhone, go to Settings -> Mail -> Accounts -> Add account and select Microsoft Exchange as the account type.

Enter your email address and password, and then select Configure Manually. You'll need to enter your account password again, and then enter your email address and password once more. You can leave the Server and Domain fields blank, and enter autodiscover.example.com in the server field.

Credit: youtube.com, Configuring An Exchange Or Z Push Email Account On An Iphone

If you want to sync all emails, not just those from the past 30 days, go to Settings -> Mail, select your mail account, and change the Mail Days to Sync settings.

The Z-Push project provides a zimbra backend for the z-push open source ActiveSync implementation, which supports push email and synchronization of contacts, calendar, and tasks between zimbra and ActiveSync enabled devices.

To give you an idea of the server resources required for push email, here's a breakdown of the "continually in use" server resources per ActiveSync device:

  • Surgemail: Surgemail web thread + php process + surgemail imap thread + repeated mail checks
  • Apache: Apache thread from thread pool + php thread from thread pool + surgemail imap thread + repeated mail checks

Keep in mind that these resources are only used when a device is configured to use push notification, and the server resources are significantly less if you install Z-Push on a separate server.

Requirements and Logs

To set up Z-Push, you'll need an Ubuntu mail server already up and running. You can use Modoboa to quickly set up a mail server if you haven't already.

To configure Z-Push autodiscover, you'll need to enable the IMAP backend and set the IMAP_SMTP_METHOD to smtp in the z-push.conf.php file.

Here are the locations where you can find Z-Push logs: Z-Push logs under the /var/log/z-push/ directory.Apache log: /var/log/apache2/z-push_error.log.Nginx log: /var/log/nginx/z-push.error.

Setup PHP Prerequisites

Credit: youtube.com, Part 01 Installing Prerequisites

To set up php prerequisites, you'll need a suitable php configuration installed that includes php_imap and php-process.

The easiest way to do this is to make sure CalDav calendaring is up and running.

You'll also want to ensure these prerequisites are set in the php.ini file to work with php-cgi.

There are other z-push configuration options in config.php that you may find useful, such as more verbose debug logging.

Checking Server Logs

Checking Server Logs is a crucial step in troubleshooting any issues with your Z-Push setup. You can find the Z-Push logs under the /var/log/z-push/ directory.

To get a better understanding of what's happening on your server, you'll want to check the Apache log, which can be found at /var/log/apache2/z-push_error.log. Alternatively, if you're using Nginx, the log file is located at /var/log/nginx/z-push.error.

If you're using Linux, specifically Ubuntu or Ubuntu Server, you'll know exactly where to look for these logs.

Notify via Email of New Version

Credit: youtube.com, Adding Exchange Or Z Push Email Accounts On Android Phones

You can get an email notification when a new version of Z-Push Zimbra Backend is released.

This project provides a zimbra backend for the z-push open source ActiveSync implementation.

The email notification is a feature that's part of the project, allowing you to stay up-to-date with the latest developments.

It supports push email, and synchronization of contacts, calendar, and tasks between zimbra and ActiveSync enabled devices.

To use this feature, you'll need to configure it properly, which involves following the project's instructions.

The project is hosted on GitHub, and you can find the instructions on how to set it up by visiting the GitHub page.

Nginx and Server

Nginx is a web server that can be used with Z-Push, and it's especially useful for handling a large number of connections.

To use Nginx with Z-Push, you'll need to add an additional pool that runs as the z-push user/group.

This allows Z-Push to run in a separate environment from the main web server, which can improve performance and security.

You can find more information on using FastCGI with Nginx in the nginx#FastCGI section.

Additional reading: Outlook on the Web

Active Sync Setup for Admins

Credit: youtube.com, DevOps & SysAdmins: Outlook 2010 and ActiveSync (Z-Push)

Setting up ActiveSync with Z-Push is a straightforward process. You can install Z-Push and apply the necessary configuration tweaks.

To test the setup, you'll need to install a client of your choice and log in. This will allow you to see if ActiveSync is working correctly.

ActiveSync is a binary XML protocol that uses HTTP for communication. It's optimized for low-bandwidth, high-latency connections, making it ideal for mobile devices.

The protocol is designed to minimize the number of round trips required, which can help reduce battery consumption and improve performance.

Here are the basic steps to get started:

  1. Install Z-Push and apply needed configuration tweaks
  2. Test and login with your client of choice

Note that some non-Exchange servers may only support email synchronization at this stage, while others may allow synchronization of contacts, calendar events, and other items.

A unique perspective: Synchronization Channel

Implementation and Prerequisites

To implement Z-Push, you'll need an Ubuntu mail server already set up. If not, you can quickly set one up using Modoboa.

You can either use Modoboa to set up a mail server or follow a tutorial series to build your own email server from scratch.

Credit: youtube.com, Z-Push 2.0 Open Source Mobile Device Management [Kielux 2012]

To configure Z-Push autodiscover, you'll need to enable the IMAP backend and save the file. This will allow you to set up Z-Push with IMAP backend to synchronize email.

You'll also need to install Z-Push on your Ubuntu mail server, which will involve selecting a web server to automatically configure Z-Push. The two options are Apache and Lighttpd.

Requirement

To implement Z-Push autodiscover, you'll need to start with a basic setup. You can quickly set up a mail server on Ubuntu 22.04 using Modoboa. If you don't have a mail server up and running, you can use Modoboa to get started.

Alternatively, you can build your own email server from scratch using Ubuntu. This will require following a tutorial series, specifically "Build Your Own Email Server on Ubuntu: Basic Postfix Setup".

Before configuring Z-Push autodiscover, ensure you have the necessary prerequisites in place. You'll need to edit a configuration file, specifically the z-push.conf.php file.

A fresh viewpoint: Setup Email from Webflow

Credit: youtube.com, Implementation - Copy Requirements

To do this, you'll first need to enable the IMAP backend by saving and closing the file. Then, find the backend provider setting and update it as needed.

Here are the specific steps you'll need to take:

  • Enable the IMAP backend.
  • Edit the z-push.conf.php file.
  • Find the backend provider setting.
  • Set the IMAP_SMTP_METHOD to smtp.
  • Set PHP-FPM as Apache’s PHP handler using the command `sudo a2enmod php7.4-fpm` and then `sudo service apache2 restart`.

Push Implementation

Push implementation can introduce significant additional server loading, so it's essential to carefully consider and monitor whether this is a desirable feature on your server.

Getting ActiveSync instant push notification on mobile devices, particularly iOS devices, is a primary reason for implementing ActiveSync. However, this will introduce significant additional server loading.

The client uses long polling HTTP with 30-minute timeouts on the HTTP requests, which means if no mail arrives, there is no traffic on the TCP channel and the phone radios remain in low power receive only mode, resulting in long battery life.

Serverside, these HTTP requests are served as long polling web requests and processed in PHP, consuming web request resources and keeping the connection open for up to 30 minutes or until a new message arrives.

Cheerful young multiracial friends smiling and surfing internet on netbook while using mobile phone
Credit: pexels.com, Cheerful young multiracial friends smiling and surfing internet on netbook while using mobile phone

Z-Push can be served as part of the Surgemail webserver or as part of the Apache webserver, with slightly less server resources used if installed under Apache.

Here are the continually in use server resources per ActiveSync device configured to use push notification:

  • Surgemail: Surgemail web thread + PHP process + Surgemail IMAP thread + repeated mail checks
  • Apache: Apache thread from thread pool + PHP thread from thread pool + Surgemail IMAP thread + repeated mail checks

By installing Z-Push on a server other than your Surgemail server, the resource loading on the Surgemail server is significantly less.

Lamar Smitham

Writer

Lamar Smitham is a seasoned writer with a passion for crafting informative and engaging content. With a keen eye for detail and a knack for simplifying complex topics, Lamar has established himself as a trusted voice in the industry. Lamar's areas of expertise include Microsoft Licensing, where he has written in-depth articles that provide valuable insights for businesses and individuals alike.

Love What You Read? Stay Updated!

Join our community for insights, tips, and more.