Tutoriels vidéos
Recent Articles

Zimbra: Installation et configuration de Zpush 2

Zimbra: Installation et configuration de Zpush 2


Bonjour, cela faisait longtemps que je n’avais pas fait de tutoriel pour Zimbra.
Dans ce tuto je vais vous expliquer la configuration de Zpush 2 pour Zimbra 8 sous Ubuntu 12.04 LTS

Qu’est-ce que ZPush?

La version payante de Zimbra (NE) permet la synchronisation des mails, des contacts et du calendrier Zimbra sur les terminaux mobiles.
Zpush est un projet Open-source qui permet de mettre en place un serveur ActiveSync pour effectuer une synchronisation entre Zimbra OSE et divers terminaux mobiles compatibles ActiveSync (IOS, Android, WIndows Phones etc..)
Principe de fonctionnement de Zpush
Fonctionnement de Zpush
Fonctionnement de Zpush
Comme vous pouvez le voir il nous faut un second serveur en plus du serveur Zimbra pour mettre en place Zpush.
Dans ce tuto je vais donc utiliser:
  • Un serveur Zimbra 8 OSE sous Ubuntu 12.04 LTS
  • Un serveur Zpush sous Ubuntu 12.04 LTS aussi (Histoire de changer de Debian)
Zpush dans sa version 2.0.4-1497 et zimbrabackend pour Zpush 2

Installation de Zpush 2

Installation des prérequis

Pour que zpush fonctionne il faut installer quelques prérequis:
sudo apt-get update
sudo apt-get install apache2 php5 php5-curl openssl

Téléchargement et installation de Zpush et de Zimbra Backend

Téléchargement de Zpush
wget http://zarafa-deutschland.de/z-push-download/final/2.0/z-push-2.0.4-1497.tar.gz
Téléchargement de Zimbra Backend
Cliquez sur « Download GNU tarball« , recuperez l’archive téléchargée et envoyez la sur votre machine.
Nous allons installer Zpush dans le dossier /var/www/
Donc voici les commandes à taper:
sudo tar xvzf z-push-2.0.4-1497.tar.gz -C /var/www/
sudo mv /var/www/z-push-2.0.4-1497 /var/www/zpush
sudo tar xvzf zimbrabackend-z-push-2.tar.gz -C /var/www/zpush/backend/
sudo mv /var/www/zpush/backend/z-push-2 /var/www/zpush/backend/zimbra

Configuration d’Apache pour Zpush

Nous allons maintenant editer les fichiers de configuration d’Apache par défaut pour faire fonctionner zpush
sudo nano /etc/apache2/sites-available/default
Et voici ce qu’il faut mettre dedans:
<VirtualHost *:80>
ServerName push.test.com
ServerAdmin webmaster@localhost
    DocumentRoot /var/www/zpush
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/zpush>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/ssl_access.log combined
    Alias /doc/ "/usr/share/doc/" 
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory> 
Alias /Microsoft-Server-ActiveSync /var/www/zpush/index.php
php_flag short_open_tag on
php_flag magic_quotes_runtime off
php_flag register_globals off
php_flag magic_quotes_gpc off
</VirtualHost>
Puis nous allons aussi créer un vhost prenant en charge le SSL
sudo nano /etc/apache/sites-available/ssl
Et on le remplie comme ceci:
<VirtualHost *:443>
    ServerName push.test.com
    DocumentRoot /var/www/zpush/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory> 
    <Directory /var/www/zpush/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory> 
    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/ssl_access.log combined
    Alias /doc/ "/usr/share/doc/" 
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory> 
    Alias /Microsoft-Server-ActiveSync /var/www/zpush/index.php
    php_flag short_open_tag on
    php_flag magic_quotes_runtime off
    php_flag register_globals off
    php_flag magic_quotes_gpc off
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /etc/apache2/ssl/push.crt
    SSLCertificateKeyFile /etc/apache2/ssl/push.key
    SSLProxyCACertificateFile /etc/apache2/ssl/push.crt 
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch> 
    BrowserMatch ".*MSIE.*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
</VirtualHost>
On créer un dossier pour mettre les différents certificats d’apache et on crée les certificats:
sudo mkdir /etc/apache2/ssl
cd /etc/apache2/ssl
sudo openssl genrsa -out push.key 2048
sudo openssl req -new -key push.key -out push.csr
sudo openssl x509 -req -days 365 -in push.csr -signkey push.key -out push.crt
Enfin on active le vhost ssl et le mod ssl et on redémarre Apache
sudo a2ensite ssl
sudo a2enmod ssl
sudo service apache2 restart
Maintenant on configure Zpush pour Zimbra
sudo nano /var/www/zpush/config.php
Voici mon fichier de configuration de zpush
<?php
/**********************************************************************************
 *  Default settings
 */
    // Defines the default time zone, change e.g. to "Europe/London" if necessary
    define('TIMEZONE', 'America/Montreal'); 
    // Defines the base path on the server
    define('BASE_PATH', dirname($_SERVER['SCRIPT_FILENAME']). '/'); 
    // Try to set unlimited timeout
    define('SCRIPT_TIMEOUT', 0); 
    //Max size of attachments to display inline. Default is 1MB
    define('MAX_EMBEDDED_SIZE', 2097152); 
/**********************************************************************************
 *  Default FileStateMachine settings
 */
    define('STATE_DIR', '/var/www/zpush/'); 
/**********************************************************************************
 *  Logging settings
 */
    define('LOGFILEDIR', '/var/log/z-push/');
    define('LOGFILE', LOGFILEDIR . 'z-push.log');
    define('LOGERRORFILE', LOGFILEDIR . 'z-push-error.log');
    define('LOGLEVEL', LOGLEVEL_INFO);
    //Valeur par defaut : 'LOGAUTHFAIL', false
    define('LOGAUTHFAIL', true); 
    // To save e.g. WBXML data only for selected users, add the usernames to the array
    // The data will be saved into a dedicated file per user in the LOGFILEDIR
    define('LOGUSERLEVEL', LOGLEVEL_DEVICEID);
    $specialLogUsers = array(); 
/**********************************************************************************
 *  Mobile settings
 */
    // Device Provisioning
    define('PROVISIONING', true); 
    // This option allows the 'loose enforcement' of the provisioning policies for older
    // devices which don't support provisioning (like WM 5 and HTC Android Mail) - dw2412 contribution
    // false (default) - Enforce provisioning for all devices
    // true - allow older devices, but enforce policies on devices which support it
    define('LOOSE_PROVISIONING', false); 
    // Default conflict preference
    // Some devices allow to set if the server or PIM (mobile)
    // should win in case of a synchronization conflict
    //   SYNC_CONFLICT_OVERWRITE_SERVER - Server is overwritten, PIM wins
    //   SYNC_CONFLICT_OVERWRITE_PIM    - PIM is overwritten, Server wins (default)
    define('SYNC_CONFLICT_DEFAULT', SYNC_CONFLICT_OVERWRITE_PIM); 
    // Global limitation of items to be synchronized
    // The mobile can define a sync back period for calendar and email items
    // For large stores with many items the time period could be limited to a max value
    // If the mobile transmits a wider time period, the defined max value is used
    // Applicable values:
    //   SYNC_FILTERTYPE_ALL (default, no limitation)
    //   SYNC_FILTERTYPE_1DAY, SYNC_FILTERTYPE_3DAYS, SYNC_FILTERTYPE_1WEEK, SYNC_FILTERTYPE_2WEEKS,
    //   SYNC_FILTERTYPE_1MONTH, SYNC_FILTERTYPE_3MONTHS, SYNC_FILTERTYPE_6MONTHS
    //define('SYNC_FILTERTIME_MAX', SYNC_FILTERTYPE_ALL);
    define('SYNC_FILTERTIME_MAX', SYNC_FILTERTYPE_3MONTHS); 
    // Interval in seconds before checking if there are changes on the server when in Ping.
    // It means the highest time span before a change is pushed to a mobile. Set it to
    // a higher value if you have a high load on the server.
    define('PING_INTERVAL', 30); 
    // Interval in seconds to force a re-check of potentially missed notifications when
    // using a changes sink. Default are 300 seconds (every 5 min).
    // This can also be disabled by setting it to false
    define('SINK_FORCERECHECK', 300); 
/**********************************************************************************
 *  Backend settings
 */
    // The data providers that we are using (see configuration below)
    define('BACKEND_PROVIDER', "BackendZimbra"); 
    // ************************
    //  BackendZarafa settings
    // ************************
    // Defines the server to which we want to connect
    define('MAPI_SERVER', 'file:///var/run/zarafa'); 
    // ************************
    //  BackendZimbra settings
    // ************************
    define('ZIMBRA_URL','https://zimbra.test.com');
    define('ZIMBRA_USER_DIR','zimbra');
    define('ZIMBRA_SYNC_CONTACT_PICTURES', true);
    define('ZIMBRA_VIRTUAL_CONTACTS',true);
    define('ZIMBRA_VIRTUAL_APPOINTMENTS',true);
    define('ZIMBRA_VIRTUAL_TASKS',true);
    define('ZIMBRA_IGNORE_EMAILED_CONTACTS',true);
    define('ZIMBRA_HTML',true);
    define('ZIMBRA_ENFORCE_VALID_EMAIL',false);
    define('ZIMBRA_SMART_FOLDERS',true); 
?>
Les lignes que vous avez à changer sont:
define('TIMEZONE', 'America/Montreal');
Si vous êtes en France mettez ‘Europe/Paris’
et
define('ZIMBRA_URL','https://zimbra.test.com');
Remplacez « zimbra.test.com » par l’URL de votre serveur Zimbra.
Une fois cela fait enregistrez le fichier de conf et tapez la commande suivante:
sudo chown -R www-data:www-data /var/www/
Enfin nous allons créer le dossier pour les fichier de log de Zpush dans le dossier var/log
sudo mkdir /var/log/z-push
sudo chown -R www-data:www-data /var/log/z-push

Configuration des Smartphones

La configuration des smartphones sous Android se fait comme avec des comptes mail de types Exchanges.
Testé sous Android 4.0.4 (Ice Cream Sandwich) et 4.1.1 (Jelly Bean)
Configuration Android
Configuration Android
Dans serveur, au lieu de mettre le FQDN de votre serveur Zimbra, mettez le FQDN de votre serveur Zpush.
Sources:
http://geekdefrance.fr/2011/12/27/tuto-push-mail-sur-un-serveur-zimbra-ose-via-z-push/
http://www.zimbrafr.org/forum/topic/5123-installation-de-z-push-2/

Share and Enjoy:

0 commentaires pour ce poste

Leave a reply

Vidéos similaires
GRANDES CATEGORIES
http://admin-reseaux.blogspot.fr/http://admin-reseaux.blogspot.frhttp://admin-reseaux.blogspot.fr
http://admin-reseaux.blogspot.frhttp://admin-reseaux.blogspot.frhttp://admin-reseaux.blogspot.fr
http://admin-reseaux.blogspot.fr/search/label/ACTIVE%20DIRECTORYhttp://admin-reseaux.blogspot.frhttp://admin-reseaux.blogspot.fr
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnLrfU3ikj6mRqbAL2TNKLBMxNt9vqwo44KXAsRHxYVp5XBBZxiwLP9njfotk0OJdPQCu9zPJiFgeI0N7_aZswToXXhKvVejLGBPZ9LrsDned5cOX3AiLu1a2CJYhbzXYnZ58kKI99uwHU/s1600/Unknownvoip.jpghttp://admin-reseaux.blogspot.frhttp://admin-reseaux.blogspot.fr
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnLrfU3ikj6mRqbAL2TNKLBMxNt9vqwo44KXAsRHxYVp5XBBZxiwLP9njfotk0OJdPQCu9zPJiFgeI0N7_aZswToXXhKvVejLGBPZ9LrsDned5cOX3AiLu1a2CJYhbzXYnZ58kKI99uwHU/s1600/Unknownvoip.jpghttp://admin-reseaux.blogspot.frhttp://admin-reseaux.blogspot.fr
Messages populaires

pobular post

Widgetadmin-reseaux
Fourni par Blogger.
Recent Stories
CONNECTER AVEC FACEBOOK
Sponsors
Chercher
Archives
Contactez Moi
Recent Comments
Contactez Moi