2,187
edits
(Initial creation) |
m (Minor corrections) |
||
Line 13: | Line 13: | ||
The following procedure assumes that you have a web-server that's accessible from the internet. Mine is an [http://httpd.apache.org/ Apache2] webserver, running on [http://releases.ubuntu.com/lucid/ Ubuntu 10.04 LTS], therefore any references to commands, paths, etc, will have come from that set-up. | The following procedure assumes that you have a web-server that's accessible from the internet. Mine is an [http://httpd.apache.org/ Apache2] webserver, running on [http://releases.ubuntu.com/lucid/ Ubuntu 10.04 LTS], therefore any references to commands, paths, etc, will have come from that set-up. | ||
If you are upgrading from Z-Push v1 its recommended that you start from scratch; move your old installation to a different folder (eg <code>mv /var/ww/z-push | If you are upgrading from Z-Push v1 its recommended that you start from scratch; move your old installation to a different folder (eg <code>mv /var/ww/z-push /var/www/z-push-v1</code>), then install v2 to <code>/var/ww/z-push</code>. Client devices shouldn't need to have their accounts re-added/re-sync'ed following the new install as Z-Push should manage this anyway. However I found that this doesn't always work properly and have ended up needing to re-add accounts to some mobile devices. | ||
== Set-up == | == Set-up == | ||
Line 29: | Line 29: | ||
# Move the contents to your webserver folder | # Move the contents to your webserver folder | ||
#* EG <code> mv z-push-2.0.3-1467/* /var/www/z-push/</code> | #* EG <code> mv z-push-2.0.3-1467/* /var/www/z-push/</code> | ||
# Create folders for state (<code>/var/lib/z-push</code>) and log data (<code>/var/log/z-push</code>) and make | # Create folders for state (<code>/var/lib/z-push</code>) and log data (<code>/var/log/z-push</code>) and make writeable by the webserver (can be altered in <code>config.php</code> file) | ||
#* <code> mkdir /var/lib/z-push </code> | #* <code> mkdir /var/lib/z-push </code> | ||
#* <code> mkdir /var/log/z-push </code> | #* <code> mkdir /var/log/z-push </code> | ||
Line 36: | Line 36: | ||
#* EG <code> chgrp www-data /var/log/z-push </code> | #* EG <code> chgrp www-data /var/log/z-push </code> | ||
#* EG <code> chmod g+w /var/log/z-push</code> | #* EG <code> chmod g+w /var/log/z-push</code> | ||
# Download the Zimbra Z-Push backend into a <code>/zimbra</code> folder under <code>backend</code> | # Download the Zimbra Z-Push backend into a <code>/zimbra</code> folder under the <code>backend</code> folder | ||
#* EG <code> svn checkout https://zimbrabackend.svn.sourceforge.net/svnroot/zimbrabackend/zimbra-backend/branches/z-push-2 /var/www/z-push/backend/zimbra</code> | #* EG <code> svn checkout https://zimbrabackend.svn.sourceforge.net/svnroot/zimbrabackend/zimbra-backend/branches/z-push-2 /var/www/z-push/backend/zimbra</code> | ||
# Update the Z-Push <code>config.php</code> file as required (see example below - [[#Z-Push_Config|Z-Push Config]]) | # Update the Z-Push <code>config.php</code> file as required (see example below - [[#Z-Push_Config|Z-Push Config]]) | ||
In theory, it should be working now, in order to test... | |||
# Browse to your server, eg http://as.domain.com/Microsoft-Server-ActiveSync | |||
#* You should be prompted for a username and password (for an account on your Zimbra server) | |||
#* If Apache has failed to deliver the prompt to you, check the webserver log. Either your website isn't configured correctly or Z-Push experienced a PHP error. | |||
# Enter a valid Zimbra user/pass | |||
#* You should get a page showing "Z-Push - Open Source ActiveSync" which doesn't contain errors - this confirms that connectivity exists between all the required components (Apache, Z-Push, Zimbra), and that they are basically OK. | |||
=== Z-Push Config === | === Z-Push Config === | ||
The below is just an example, see the <code>INSTALL</code> file that comes with the Zimbra backend to work out the correct settings for your environment. | |||
<source lang="php"> | <source lang="php"> | ||
// Update existing fields in config | // Update existing fields in config | ||
Line 48: | Line 57: | ||
// Add to config | // Add to config | ||
define('ZIMBRA_URL', 'https://mail. | define('ZIMBRA_URL', 'https://mail.domain.com'); | ||
define('ZIMBRA_SYNC_CONTACT_PICTURES', true); | define('ZIMBRA_SYNC_CONTACT_PICTURES', true); | ||
define('ZIMBRA_VIRTUAL_CONTACTS',true); | define('ZIMBRA_VIRTUAL_CONTACTS',true); |