This manual is deprecated. Please visit https://groupoffice.readthedocs.io for the latest documentation. |
Difference between revisions of "Z-push"
(→Manual) |
(→CGI mode) |
||
Line 45: | Line 45: | ||
http://z-push.sourceforge.net/phpbb/viewtopic.php?f=4&t=1245&p=4762&hilit=apache_request_headers#p4762 | http://z-push.sourceforge.net/phpbb/viewtopic.php?f=4&t=1245&p=4762&hilit=apache_request_headers#p4762 | ||
+ | |||
+ | You can also try to create a .htaccess file in the Group-Office root dir and add the following lines to it: | ||
+ | |||
+ | <pre> | ||
+ | Options +FollowSymLinks | ||
+ | RewriteEngine On | ||
+ | RewriteRule /Microsoft-Server-ActiveSync(.*) modules/z-push/index.php$1 [E=ACTIVESYNC:true,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] | ||
+ | </pre> | ||
+ | |||
+ | In some versionw of PHP the apache_request_header() function doesn't exist and the following needs to be added to modules/z-push/compat.php at the end of the file just before: ?> | ||
+ | |||
+ | <pre> | ||
+ | if (!function_exists('apache_request_headers')) { | ||
+ | function apache_request_headers() { | ||
+ | $header = array(); | ||
+ | $header['Ms-Asprotocolversion'] = $_SERVER['HTTP_MS_ASPROTOCOLVERSION']; | ||
+ | $header['X-Ms-Policykey'] = $_SERVER['HTTP_X_MS_POLICYKEY']; | ||
+ | $header['User-Agent'] = $_SERVER['HTTP_USER_AGENT']; | ||
+ | |||
+ | return $header; | ||
+ | } | ||
+ | |||
+ | list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6))); | ||
+ | } | ||
+ | </pre> | ||
=Uninstall= | =Uninstall= |
Revision as of 10:57, 23 May 2013
Contents
Overview
This module can be used to synchronize Emails, Contacts, Tasks and Calendars to a mobile device/tablet.
Dependencies
Apache modules
Some apache modules cannot be enabled because Z-Push is NOT working when they are enabled.
- mod_pagespeed (source: http://z-push.sourceforge.net/phpbb/viewtopic.php?f=2&t=2286&p=8480&hilit=pagespeed#p8480)
Requirements
Installation
IMPORTANT NOTE: remember to replace the z-push files again when you are upgrading Group-Office!
Automatic
To install the z-push module automatically, you can use the script that is provided with the "Sync" module. (install.sh)
The script is located in the "modules/sync/z-push" folder.
Manual
ActiveSync support does not work out of the box. To add support of ActiveSync take the following steps (Step 1 to 5 can be done with modules/sync/z-push2/install.sh too):
1. Download z-push from http://zarafa-deutschland.de/z-push-download/final/1.5/. We used version 1.5.2 (But it's probably best to take the latest stable 1.x version of z-push).
2. Unpack the archive and put it in the "modules" directory of Group-Office.
3. rename the folder to "z-push"
4. Copy the file backend/GObackend.php from modules/sync/z-push/ to modules/z-push/backend/
5. Copy config.php from modules/sync/z-push/ to modules/z-push/
6. Now, you must configure Apache to redirect the URL 'Microsoft-Server-ActiveSync' to the index.php file in the modules/z-push/ directory.
This can be done by adding the line Alias /Microsoft-Server-ActiveSync /path/to/groupoffice/modules/z-push/index.php
Don't use a symlink, this won't work.
7. Restart apache2 and configure your mobile device with the servername, username and password and you should be in sync!
CGI mode
By default z-push only works when PHP is loaded as an Apache module. If you use PHP in CGI mode you'll have to follow this workaround:
You can also try to create a .htaccess file in the Group-Office root dir and add the following lines to it:
Options +FollowSymLinks RewriteEngine On RewriteRule /Microsoft-Server-ActiveSync(.*) modules/z-push/index.php$1 [E=ACTIVESYNC:true,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
In some versionw of PHP the apache_request_header() function doesn't exist and the following needs to be added to modules/z-push/compat.php at the end of the file just before: ?>
if (!function_exists('apache_request_headers')) { function apache_request_headers() { $header = array(); $header['Ms-Asprotocolversion'] = $_SERVER['HTTP_MS_ASPROTOCOLVERSION']; $header['X-Ms-Policykey'] = $_SERVER['HTTP_X_MS_POLICYKEY']; $header['User-Agent'] = $_SERVER['HTTP_USER_AGENT']; return $header; } list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6))); }
Uninstall
Remove the z-push folder from the modules directory of Group-Office.
User Manual
- LINK TO USERMANUAL
Additional Notes
For debugging change modules/z-push/config.php:
define('LOGLEVEL', LOGLEVEL_ALL);
A log will be generated in /home/groupoffice/log/
Debugging
Sometimes it can happen that an item is not synced to the device.
Then you get an error in the "z-push-error.log" file that is located in the {go_file_storage_path}/log/z-push/ folder.
The error can look like this:
01/02/2013 12:22:31 [24372] [ERROR] [john@doe.com] Ignored broken message (SyncAppointment). Reason: '4' Folderid: 'a/GroupOfficeCalendar' message id '25' 01/02/2013 12:33:53 [28717] [ERROR] [john@doe.com] Ignored broken message (SyncMail). Reason: '2' Folderid: 'm/INBOX' message id '1674' 01/02/2013 12:34:02 [28717] [ERROR] [john@doe.com] Ignored broken message (SyncMail). Reason: '2' Folderid: 'm/INBOX' message id '1674' 01/02/2013 12:36:35 [13733] [ERROR] [john@doe.com] Ignored broken message (SyncMail). Reason: '2' Folderid: 'm/INBOX' message id '1674'
When this happens you can usually find more info on this error by using the "z-push-admin.php" file that is located in the z-push folder.
This is a commandline tool that is shipped with the z-push2 package.
You can use it like this:
cd /usr/share/groupoffice/modules/z-push2 php z-push-admin.php -a list -u {go_username}
- Note: You need to go to the directory of z-push2 first because otherwise the GO config file cannot be loaded.
When you have runned the z-push-admin tool then you can find a better error description for each device in the result of the "list" command.