Synchronization with mobile devices¶
A backend for the open source synchronization framework Z-Push is available for b1gMail. Using Z-Push and the b1gMail backend, users of a b1gMail installation can synchronize their emails, contacts, tasks and appointments with Exchange-compatible mobile devices such as iPhone/iPad and Android smartphones. The service is push-enabled, so new items such as emails and appointments are immediately available on the mobile device.
This document describes how to set up Z-Push including the b1gMail backend on the server and how to configure the mobile device.
Important notes¶
- For synchronization, the mobile devices may establish a permanent connection to the server. If there are many users active at the same time, this can of course put a corresponding load on the server.
- Z-Push and the b1gMail backend for Z-Push are licensed under the AGPL license. There should be clarity about the implications of this license. In particular, any changes to the code must be returned to the community.
Requirements¶
For the installation basic knowledge for the administration of the server should be present. Furthermore, the server must meet the following requirements:
- Dedicated server or vServer with root access. An installation without root access may also be possible with restrictions, but is not covered by this guide.
- b1gMail 7.3.0-Beta5 or newer.
- PHP 5.1 or newer.
- The following PHP extensions (can usually be easily installed via the package manager of the Linux distribution):
- soap (package
php-soaporphp5-soap). - pcntl (package
php-processorphp5-pcntl). - sysvshm (package
php-processorphp5-sysvshm) - sysvsem (package
php-processorphp5-sysvsem). - Web server with SSL support (HTTPS) is strongly recommended. Operating over non-SSL connections is insecure (transmitting all data in plain text!) and means confusing/complicated configuration on many mobile devices. Self-signed SSL certificates are okay, but usually cause a short warning when setting up the account on the mobile device.
Installing Z-Push with b1gMail backend¶
- Install the required/recommended PHP extensions (see above), e.g. using the package manager of the Linux distribution.
- Download the latest version of Z-Push and upload it to your own server.
- Log in to the server via SSH and unpack the Z-Push archive:
tar xzvf z-push-*.tar.gz. - Create the /usr/share/z-push/ directory and copy the contents of the folder you just unzipped into it:
- Create log and data folders and give them the necessary permissions:
- Download the b1gMail-Z-Push backend https://github.com/b1gMail-OSS/zpush-b1gmail, unzip the PHP files to /usr/share/z-push/backend/b1gmail/ copy:
-
Open the Z-Push configuration file, /usr/share/z-push/config.php, in a text editor. Find the line
define('BACKEND_PROVIDER', "BackendZarafa");and replace it with the following, replacing the MySQL credentials with the credentials to your b1gMail database:If Z-Push >= 2.2 is used, you also need to add the linedefine('BACKEND_PROVIDER', 'BackendB1GMail'); define('B1GMAIL_DB_HOST', 'localhost'); define('B1GMAIL_DB_USER', 'root'); define('B1GMAIL_DB_PASS', 'password'); define('B1GMAIL_DB_DB', 'b1gmail'); define('B1GMAIL_DB_PREFIX', 'bm60_');define('USE_FULLEMAIL_FOR_LOGIN', false);must be replaced bydefine('USE_FULLEMAIL_FOR_LOGIN', true); -
Open the web server configuration file (e.g. Apache) in a text editor and add the following line:
Alias /Microsoft-Server-ActiveSync /usr/share/z-push/index.php. - Restart the web server service, e.g.
/etc/init.d/httpd restart. - Check if a password prompt appears at https://server-domain.xy/Microsoft-Server-ActiveSync. If so, the installation has been successful. Otherwise, you should see an error message indicating the problem.
Configuration in the b1gMail admin area¶
In the b1gMail admin area, all you need to do is go to Users and Groups -> Groups and check Synchronization? for all user groups that should be authorized to use the synchronization service.
Mobile device configuration¶
iPhone/iPad¶
...
Android¶
...