Différences entre les pages « Roundcube » et « Fichier:Descriptif spip.png »

De Cliss XXI
(Différence entre les pages)
Sauter à la navigation Sauter à la recherche
imported>XavierBéguin
(Création de la page)
 
imported>Pierre
 
Ligne 1 : Ligne 1 :
Cette page rassemble quelques informations sur l'installation de Roundcube, un webmail simple à l'interface moderne et soignée. Certains détails donnés sont spécifiques à une installation sous Debian GNU/Linux, mais la plupart des informations sont valables sur tout système GNU/Linux.
 
  
== Téléchargement ==
 
 
Roundcube est disponible sur le site http://www.roundcube.net/.
 
 
Comme toute application web, il est très important de la maintenir bien à jour et d'installer les nouvelles version qui corrigent des failles de sécurité. Vous serez averti de l'arrivé d'une nouvelle version en suivant le flux RSS http://sourceforge.net/export/rss2_projnews.php?group_id=139281
 
 
== Installation ==
 
 
Commencez par désarchiver l'application (je modifie aussi le propriétaire des droits qui sont différents dans le tar):
 
tar xvzf roundcubemail-0.X.Y.tar.gz
 
chown -R root: roundcubemail-0.X.Y
 
 
Pour les instructions d'installation, reférez-vous au fichier INSTALL fourni dans le répertoire Roundcube.
 
Vous trouverez aussi un bon guide d'installation (en anglais) à cette adresse http://trac.roundcube.net/wiki/Howto_Install
 
 
=== Prérequis ===
 
 
Roundcube a besoin des modules PHP suivants:
 
* fileinfo : sous Squeeze, ce module est intégré à PHP (donc pas besoin de paquet supplémentaire). Sous Lenny, aucun paquet ne le fournit, mais on pourra en créer un à l'aide du paquet ''dh-make-php''.
 
* intl : fourni sous Squeeze par le paquet ''php5-intl'' (il est optionel et utile uniquement pour les fonctions d'internationalisation)
 
* mcrypt : fourni par le paquet php5-mcrypt. (module optionnel)
 
* modules PEAR nécesaires:
 
** MDB : paquet php-mdb2. Vous aurez aussi besoni des paquets dépendant de votre système de base de données :php-mdb2-driver-pgsql ou php-mdb2-driver-mysql.
 
** Mail_Mime : paquet php-mail-mime
 
** Net_Smtp : paquet php-net-smtp
 
 
Les modules apache suivant doivent être activés si vous souhaitez profiter de la compression et de la mise en cache de certaines pages: mod_deflate, mod_expires, et mod_headers. Sous debian, vous pouvez les activer en exécutant les commandes suivantes:
 
a2enmod deflate
 
a2enmod expires
 
a2enmod headers
 
/etc/init.d/apache2 reload
 
 
=== Configuration PHP ===
 
 
La configuration PHP est réalisée via les directives du fichier ''.htaccess'' fourni dans le répertoire de roundcube.
 
 
Si vous utilisez Apache 2.2.9 ou supérieur, il est conseillé de changer le fichier ''.htaccess'': décommentez la ligne suivante et modifiez le mot « append » en « merge » pour éviter certains de ducplication d'en-tête HTTP (si vous ne le
 
faites pas, ça n'a pas de grosse conséquence):
 
#Header append Cache-Control public env=!NO_CACHE
 
devient donc:
 
Header merge Cache-Control public env=!NO_CACHE
 
 
=== Droits des répertoires ===
 
 
Il faut s'assurer que les répertoires ''temp/'' et ''logs/'' sont modifiables par l'utilisateur système utilisé par le serveur web. La façon de permettre cela dépend de votre configuration, mais sous Debian, cela signifie généralement que l'utilisateur www-data doit avoir les droits d'écrire dans ces répertoires, donc il faut par exemple utiliser les commandes:
 
chgrp www-data {temp,logs}; chmod g+w {temp,logs}
 
 
=== Création de la base de données ===
 
 
On utilise dans notre cas un serveur MySQL. Connectez-vous sous un utilisateur administrateur (généralement root), et
 
effectuez les requêtes indiqués dans le guide d'installation :
 
 
CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
 
GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'votremotdepasse';
 
 
Importer ensuite les données initiales manuellement, par exemple avec la commande suivante (ajoutez l'option ''-p''):
 
mysql roundcubemail < SQL/mysql.initial.sql
 
 
=== Configuration de l'application ===
 
 
L'installation continue en se rendant à l'URL <tt><nowiki>http://url-vers-votre-installation-roundcube/installer/</nowiki></tt> où il suffit de suivre les instructions.
 
 
Le script d'installation indiquera une heure incorrecte. Pour corriger cela, on peut changer le fuseau horaire utilisé par PHP. Dans notre cas, il pourra le configurer à l'heure de la France avec la commande suivante:
 
cat <<_EOD_ > /etc/php5/apache2/conf.d/local.ini
 
date.timezone = "Europe/Paris"
 
_EOD_
 
/etc/init.d/apache2 restart
 
 
La documentation recommande d'exécuter le script « bin/cleandb.sh » périodiquement pour supprimer tous les enregistrements marqués comme effacés. Pour cela, mettez en place un job cron. J'ai l'habitude, par souci de lisibilité, de regrouper tous les jobs cron que je mets en place sur un serveur dans un même fichier ''/etc/cron.d/local''. Pour ajouter le nouveau job (qui s'exécutera à 1h02 tous les jours), je peux donc utiliser la commande suivante (pensez à adapter le chemin votre votre répertoire d'installation de roundcube):
 
echo -e '\n# Nettoyage roundcube\n2 1 * * *  root    /var/www/roundcube/bin/cleandb.sh' >> /etc/cron.d/local
 
 
=== Sécurisation miimale après installation ===
 
 
Après configuration, n'oubliez pas de supprimer le répertoire ''installer/'' sous peine de laisser l'accès à des mots de passe (et/ou désactivez l'option « enable_installer» dans main.inc.php).
 
 
De même, assurez-vous que l'accès aux répertoires ''config/'', ''temp/'', et ''logs/'' est bien interdit (ceci est normalement pris en charge par les directives apache dans les fichiers .htaccess de ces répertoires).
 
 
= Mise à jour =
 
 
En ce qui concerne la mise à jour, le fichier UPGRADING fourni par Roundcube propose de remplacer les fichiers dans la plupart des répertoires de votre installation, puis de lancer la mise à jour.
 
 
Personnellement, je préfère recopier les fichiers nécessaires vers un nouveau répertoire d'installation pour mieux maîtriser les fichiers que je modifie par rapport aux fichiers fournis par l'application.
 
 
Voici donc la procédure de mise à jour que je suis (il s'agit bien sûr d'un exemple de mise à jour de la version 0.5.2 à la 0.5.4. Adaptez les numéros de version à votre cas):
 
 
* 1. Désarchivage de l'application dans un nouveau répertoire
 
tar xvzf roundcubemail-0.5.4.tar.gz
 
chown -R root: roundcubemail-0.5.4
 
chgrp www-data roundcubemail-0.5.4/{temp,logs}
 
chmod g+w roundcubemail-0.5.4/{temp,logs}
 
 
* 2. Copie des fichiers de configuration (les seules fichiers qui ont été modifiés dans mon cas. Si vous avez un thème particulier, vous voudrez probablement aussi le recopier):
 
cp roundcubemail-0.5.2/config/{db.inc.php,main.inc.php} roundcubemail-0.5.4/config/
 
 
* 3. Lancement de la procédure de mise à jour
 
** soit par le web. Dans ce cas il faut modifier le fichier ''config/main.inc.php'' pour passer la variable ''enable_installer'' à ''true'', puis rendez-vous sur <tt><nowiki>http://url-vers-votre-installation-roundcube/installer/</nowiki></tt>.
 
** ou bien en ligne de commande, auquel cas il suffit de lancer la commande:
 
./roundcubemail-0.5.4/bin/update.sh
 
 
* 4. Mise à jour de la base de données. Cette étape n'est nécessaire que si le script ou la page de mise à jour ci-dessus vous l'a suggéré:
 
./SQL/[votretypedebdd].update.sql
 
 
* 5. Sécurisation: remettre enable_installer à false dans config/main.inc.php si vous l'avez modifié
 
 
* 6. Évolution de la configuration PHP: vérifier éventuellement les directives dans .htaccess qui peuvent avoir évolué.
 
 
Votre installation Roundcube est à jour. Connectez-vous pour vérifiez que tout fonctionne bien.
 

Version du 5 avril 2012 à 13:22