[TUTO] Créer son serveur pour le Push Gmail (Linux)
5 participants
Page 1 sur 1
[TUTO] Créer son serveur pour le Push Gmail (Linux)
Bonjour,
Si vous souhaitez créer votre propre serveur Z-Push, voici un tutoriel complet.
Il permet de faire de l'IMAP (Gmail par exemple) en SSL.
J'ai monté mon serveur sur Ubuntu 9.04, mais je pense que ce tuto est valide pour debian également.
Pour commencer, il vous faut apache et php et PEAR :
Ok, maintenant vous pouvez déposer les sources de Z-Push dans le dossier "/var/www/z-push" par exemple.
Elles se trouvent ici : Sources Z-Push
Personnellement j'utilise la 1.2.2RC, mais j'ai trouvé un petit bug, je vous dirais comment le corriger.
une fois les sources extraites, il faut définir quelques droits à Apache.
Il faut maintenant configurer Z-Push pour marcher avec Gmail (par exemple)
Modifier les lignes comme dans l'exemple ci dessous, vous devriez les retrouver :
Voilà pour la config de Z-Push.
Ensuite nous allons sécuriser le serveur apache en SSL :
Maintenant on génère un certificat :
Attention, quand openssl vous demande "Common Name (eg, YOUR name) []", vous devez tapez le nom du domaine du serveur avec le sous-domaine, si vous n'avez qu'une ip, mettez là, ca marche aussi.
on édite la config ssl d'apache :
et vous pouvez remplacer le contenu par le bloc ci dessous :
un petit coup de rechargement de la config :
Bien, si je n'ai rien oublié, la config du serveur est terminée, maintenant il faut paramétrer le téléphone, ainsi que le certificat, sans quoi ca ne marchera pas. Un petit test quand même pour voir si tout va bien, entrer cette adresse :
Normalement une fenetre devrait s'ouvir, et vous demander login et mdp.
Ensuite, le certificat :
Tout d'abord copier le fichier server.crt de votre serveur sur le pc qui utilise activeSync.
Double cliquer sur le fichier, et installer le certificat.
Votre pc est maintenant certifié pour utiliser votre serveur.
Par contre votre téléphone non. Il faut faire une manipulation plutôt fastidieuse :
Retourner dans votre certificat (internet explorer, outils, options internet, contenu, certificat...)
Il se peut que votre certificat se trouve dans l'onglet "Autorités principales de confiance". Il porte le nom de votre domaine.
Double cliquer ensuite sur votre certificat, et allez dans l'onglet "Détails".
Prendre la valeur contenue dans le champ "Empreinte numérique", et gardez la de coté.
Fermer tout, et créer un fichier dans un dossier qui s'appellera "_setup.xml"
Vous allez le former comme tel :
Juste une chose, il faut bien entendu enlever les "-----BEGIN CERTIFICATE-----" et "-----END CERTIFICATE-----" de votre certificat, avant de le coller dans le _setup.xml.
Il ne nous reste plus qu'à faire un fichier cab :
voilà, vous pouvez envoyer le fichier cab sur votre téléphone, et le lancer.
Maintenant il faut paramétrer le compte via ActiveSync.
Aller dans outils, ajouter un serveur.
Cocher le SSL, pour l'ip vous mettez l'adresse de votre serveur (ou l'ip).
Pour le login et mdp, ce sont les même que pour gmail (sans oublier le @gmail.com pour le login)
Voilà, si tout se passe bien, ça devrait fonctionner ! Félicitation.
J'ai eu un petit bug personnellement avec la 1.2.2RC dans le fichier mimeDecode.php, dans la méthode _parseHeaderValue, je l'ai remplacée par celle ci :
Je l'ai pas vraiment optimisée, mais elle fait le travaille, j'ai téléchargé 1500 mails sans aucune erreur.
Voilà, j'espère n'avoir rien oublié, j'ai pas mis d'image, mais je le ferai s'il le faut.
Si vous voulez suivre les logs de votre serveur Z-Push, vous pouvez faire :
Source :
http://forums.macrumors.com/archive/index.php/t-550006.html
http://doc.ubuntu-fr.org/lamp
http://blogs.msdn.com/windowsmobile/archive/2006/01/28/making_a_root_cert_cab_file.aspx
http://blog.julienwadin.be/107/generer-un-certificat-autosigne-pour-apache/
Si vous souhaitez créer votre propre serveur Z-Push, voici un tutoriel complet.
Il permet de faire de l'IMAP (Gmail par exemple) en SSL.
J'ai monté mon serveur sur Ubuntu 9.04, mais je pense que ce tuto est valide pour debian également.
Pour commencer, il vous faut apache et php et PEAR :
- Code:
sudo apt-get install apache2 php5 libapache2-mod-php5 php5-xcache php5-imap php5-pear
sudo pear install --alldeps Mail
Ok, maintenant vous pouvez déposer les sources de Z-Push dans le dossier "/var/www/z-push" par exemple.
Elles se trouvent ici : Sources Z-Push
Personnellement j'utilise la 1.2.2RC, mais j'ai trouvé un petit bug, je vous dirais comment le corriger.
une fois les sources extraites, il faut définir quelques droits à Apache.
- Code:
sudo chmod 755 /var/www/z-push/state
sudo chown www-data:www-data /var/www/z-push/state
Il faut maintenant configurer Z-Push pour marcher avec Gmail (par exemple)
- Code:
sudo vi /var/www/z-push/config.php
Modifier les lignes comme dans l'exemple ci dessous, vous devriez les retrouver :
- Code:
$BACKEND_PROVIDER = "BackendIMAP";
define('IMAP_SERVER', 'imap.gmail.com');
define('IMAP_PORT', 993);
define('IMAP_OPTIONS', '/notls/norsh/ssl')
Voilà pour la config de Z-Push.
Ensuite nous allons sécuriser le serveur apache en SSL :
- Code:
sudo a2enmod ssl
cd /etc/apache2/sites-available/
sudo cp default ssl
Maintenant on génère un certificat :
- Code:
openssl req -x509 -nodes -days 3650 -newkey rsa:1024 \
-out /etc/apache2/server.crt -keyout /etc/apache2/server.key
Attention, quand openssl vous demande "Common Name (eg, YOUR name) []", vous devez tapez le nom du domaine du serveur avec le sous-domaine, si vous n'avez qu'une ip, mettez là, ca marche aussi.
on édite la config ssl d'apache :
- Code:
sudo vi /etc/apache2/sites-available/ssl
et vous pouvez remplacer le contenu par le bloc ci dessous :
- Code:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
SSLEngine on
SSLCertificateFile /etc/apache2/server.crt
SSLCertificateKeyFile /etc/apache2/server.key
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/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/index.php
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag on
</VirtualHost>
un petit coup de rechargement de la config :
- Code:
sudo /etc/init.d/apache2 restart
Bien, si je n'ai rien oublié, la config du serveur est terminée, maintenant il faut paramétrer le téléphone, ainsi que le certificat, sans quoi ca ne marchera pas. Un petit test quand même pour voir si tout va bien, entrer cette adresse :
- Code:
https://ip_de_votre_serveur/Microsoft-Server-ActiveSync
Normalement une fenetre devrait s'ouvir, et vous demander login et mdp.
Ensuite, le certificat :
Tout d'abord copier le fichier server.crt de votre serveur sur le pc qui utilise activeSync.
Double cliquer sur le fichier, et installer le certificat.
Votre pc est maintenant certifié pour utiliser votre serveur.
Par contre votre téléphone non. Il faut faire une manipulation plutôt fastidieuse :
Retourner dans votre certificat (internet explorer, outils, options internet, contenu, certificat...)
Il se peut que votre certificat se trouve dans l'onglet "Autorités principales de confiance". Il porte le nom de votre domaine.
Double cliquer ensuite sur votre certificat, et allez dans l'onglet "Détails".
Prendre la valeur contenue dans le champ "Empreinte numérique", et gardez la de coté.
Fermer tout, et créer un fichier dans un dossier qui s'appellera "_setup.xml"
Vous allez le former comme tel :
- Code:
<wap-provisioningdoc>
<characteristic type="CertificateStore">
<characteristic type="ROOT">
<characteristic type="COLLER ICI L'EMPREINTE NUMERIQUE SANS LES ESPACES">
<parm name="EncodedCertificate" value="COLLER ICI LE CONTENU DU CERTIFICAT"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Juste une chose, il faut bien entendu enlever les "-----BEGIN CERTIFICATE-----" et "-----END CERTIFICATE-----" de votre certificat, avant de le coller dans le _setup.xml.
Il ne nous reste plus qu'à faire un fichier cab :
- Code:
makecab _setup.xml rootcert.cab
voilà, vous pouvez envoyer le fichier cab sur votre téléphone, et le lancer.
Maintenant il faut paramétrer le compte via ActiveSync.
Aller dans outils, ajouter un serveur.
Cocher le SSL, pour l'ip vous mettez l'adresse de votre serveur (ou l'ip).
Pour le login et mdp, ce sont les même que pour gmail (sans oublier le @gmail.com pour le login)
Voilà, si tout se passe bien, ça devrait fonctionner ! Félicitation.
J'ai eu un petit bug personnellement avec la 1.2.2RC dans le fichier mimeDecode.php, dans la méthode _parseHeaderValue, je l'ai remplacée par celle ci :
- Code:
function _parseHeaderValue($input)
{
$input = trim($input);
if (($pos = strpos($input, ';')) !== false) {
$return['value'] = trim(substr($input, 0, $pos));
$input = trim(substr($input, $pos+1));
if (strlen($input) > 0) {
$aTemp = explode(';', $input);
$aTemp = array_map('trim', $aTemp);
foreach ($aTemp as $sValue) {
$aTempEqual = explode('=', $sValue);
$return['other'][strtolower($aTempEqual[0])] = str_replace('"', '', $aTempEqual[1]);
}
}
} else {
$return['value'] = trim($input);
}
return $return;
}
Je l'ai pas vraiment optimisée, mais elle fait le travaille, j'ai téléchargé 1500 mails sans aucune erreur.
Voilà, j'espère n'avoir rien oublié, j'ai pas mis d'image, mais je le ferai s'il le faut.
Si vous voulez suivre les logs de votre serveur Z-Push, vous pouvez faire :
- Code:
tail -f /var/www/z-push/debug.txt
Source :
http://forums.macrumors.com/archive/index.php/t-550006.html
http://doc.ubuntu-fr.org/lamp
http://blogs.msdn.com/windowsmobile/archive/2006/01/28/making_a_root_cert_cab_file.aspx
http://blog.julienwadin.be/107/generer-un-certificat-autosigne-pour-apache/
Dernière édition par bastok le Ven 5 Juin 2009 - 10:38, édité 5 fois
bastok- Nouveau membre
-
Nombre de messages : 9
Age : 40
Localisation : Aix en Provence
Emploi/loisirs : Développeur
Appareil(s) possédé(s) : HTC Diamond
Opérateurs : SFR
Date d'inscription : 27/09/2008
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
Je me suis trompé de section je crois, je ne sais pas comment déplacer le sujet...
bastok- Nouveau membre
-
Nombre de messages : 9
Age : 40
Localisation : Aix en Provence
Emploi/loisirs : Développeur
Appareil(s) possédé(s) : HTC Diamond
Opérateurs : SFR
Date d'inscription : 27/09/2008
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
Je l'ai mis dans les tutos, merci à toi pour ce super topic !!!
Invité- Invité
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
excellent, apres mon serveur web, dns, dhcp, ftp, et bientot mail, mon proxy squid et mon propre firewall sous iptables, je vais pouvoir creer mon serveur push mail ^^
Pour tout ceux qui n'osent pas s'investir la dedans un vieux pc de 128 mb, une distirb de debian et c'ets parti pour des heures de folies et bien sur full lignes de commande
HS : une petite video pour ceux qui s'interesse un peu au web 2.0 ou plutôt du minitel 2.0 (voir dans la videoqui est d'ailleurs vraiment interessante)
==> https://www.dailymotion.com/relevance/search/minitel+2.0
(une de ses répliques que j'ai bien aimé, "un jour tout les jeunes feeront "aptitude install skyblog")
Pour tout ceux qui n'osent pas s'investir la dedans un vieux pc de 128 mb, une distirb de debian et c'ets parti pour des heures de folies et bien sur full lignes de commande
HS : une petite video pour ceux qui s'interesse un peu au web 2.0 ou plutôt du minitel 2.0 (voir dans la videoqui est d'ailleurs vraiment interessante)
==> https://www.dailymotion.com/relevance/search/minitel+2.0
(une de ses répliques que j'ai bien aimé, "un jour tout les jeunes feeront "aptitude install skyblog")
flofly- Nouveau membre
-
Nombre de messages : 22
Age : 36
Appareil(s) possédé(s) : HTC Touch Diamond
Opérateurs : Orange
Date d'inscription : 25/03/2009
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
Désolé il manque des parties, apparemment quand je modifie le post, phpbb interprete les tags <> comme des tags HTML, et fait disparaitre une partie des [code]
Je recompleterai mon post demain.
Je recompleterai mon post demain.
bastok- Nouveau membre
-
Nombre de messages : 9
Age : 40
Localisation : Aix en Provence
Emploi/loisirs : Développeur
Appareil(s) possédé(s) : HTC Diamond
Opérateurs : SFR
Date d'inscription : 27/09/2008
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
je n'ai pas encore tester j'attends donc qu'il soit complet ^^
flofly- Nouveau membre
-
Nombre de messages : 22
Age : 36
Appareil(s) possédé(s) : HTC Touch Diamond
Opérateurs : Orange
Date d'inscription : 25/03/2009
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
Voilà je l'ai remis en état, j'espère que ça tiendra.
bastok- Nouveau membre
-
Nombre de messages : 9
Age : 40
Localisation : Aix en Provence
Emploi/loisirs : Développeur
Appareil(s) possédé(s) : HTC Diamond
Opérateurs : SFR
Date d'inscription : 27/09/2008
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
Super!!! on n'est mieux servi que par soi même!!! Tchao les push gratuit qui deviennent payant!!!
Bravo Bastok :-)
Bravo Bastok :-)
kollaps- Nouveau membre
-
Nombre de messages : 58
Age : 52
Appareil(s) possédé(s) : plus
Opérateurs : aucun
Date d'inscription : 25/02/2009
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
Bonjour,
j'ai le problème suivant au moment de tester dans mon navigateur (firefox 3.0.11 dans ubuntu 9.04 à jour), à l'aide de l'adresse suivante :
https://localhost/Microsoft-Server-ActiveSync
j'ai regénéré un nouveau certificat au cas où, importer dans firefox, j'ai toujours le meme souci (avec localhost ou mon ip publique, meme souci)
merci de me donner un petit coup de pouce!
j'ai le problème suivant au moment de tester dans mon navigateur (firefox 3.0.11 dans ubuntu 9.04 à jour), à l'aide de l'adresse suivante :
https://localhost/Microsoft-Server-ActiveSync
- Code:
Échec de la connexion sécurisée
Une erreur est survenue pendant une connexion à localhost:443.
SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée.
(Code d'erreur : ssl_error_rx_record_too_long)
j'ai regénéré un nouveau certificat au cas où, importer dans firefox, j'ai toujours le meme souci (avec localhost ou mon ip publique, meme souci)
merci de me donner un petit coup de pouce!
aguichor- Nouveau membre
-
Nombre de messages : 1
Age : 48
Appareil(s) possédé(s) : HTC P3300
Opérateurs : Bouygues
Date d'inscription : 02/07/2009
Re: [TUTO] Créer son serveur pour le Push Gmail (Linux)
Ceci m'interresse, mais mon serveur tourne sous Windows XP Pro. J'ai un serveur web APACHE donc je pense que ça pourrait le faire ?
Sujets similaires
» Que puis je utiliser pour me connecter sur mon serveur Linux en SSH
» Tuto : Créer un raccourci pour un programme
» PUSH gmail mort
» TUTO Synchroniser son agenda google et ses contact en push.
» Pièces jointes Gmail en push
» Tuto : Créer un raccourci pour un programme
» PUSH gmail mort
» TUTO Synchroniser son agenda google et ses contact en push.
» Pièces jointes Gmail en push
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum