= Contexte = Le but ici est de d'installer un client web mail simple et léger : [[http://roundcube.net|Roundcube]]. En effet, le triple Horde/IMP/Turba est (enfin pour moi) lourd et surtout difficile à configurer pour ce qu'on en fait ici et plus généralement à AUF. Au dela des discussions sur la liste tech, j'ai eu la chance d'avoir entre mes mains, un joli serveur appartenant à une institution de la place. Ils ont eu le malheur de me demander de leur installer un webmail. En fin de compte, ils sont passés sous Ubuntu (les postes clients) et le serveur sous débian. Au dela de ce fait, c'était une occasion pour moi de tester l'installation de Roundcube sur un environnement vierge et de regarder ce que cela vallait vraiment. = Prérequis = Une distribution GNU Linux avec : * Un serveur web : apache2 php5 mysql et les librairies associées {{{ ~# aptitude install apache2 apache2.2-common apache2-utils apache2-mpm-prefork libapache2-mod-php5 php5 php5-gd php5-mcrypt php-pear ~# aptitude mysql-server mysql-client }}} * Configurer un bon virtualhost {{{ DocumentRoot "/var/www/webmail" ServerName webmail.tata.toto Options -Indexes Includes FollowSymlinks AllowOverride ALL Order allow,deny Allow from all }}} * PHP Version 5.2.1 ou plus et configurer les paramêtres suivants * ''file_uploads'' doit être à ''on'' * ''memory_limit'' augementer la limite pour uploader de plus grands fichiers * ''session.auto_start'' doit être à ''off'' * ''magic_quotes_gpc'' doit être à ''off'' * S'assurer que Make est présent sue le système {{{ ~# aptitude install make }}} * Installer certaines librairies PEAR et PHP {{{ ~# aptitude install openssl aspell php-pear php5-gd php5-mcrypt php5-dev libmagic-dev ~# pear update-channels && pear upgrade-all ~# pear install Net_SMTP ~# pear install MDB2 ~# pear install MDB2#mysqli ~# pecl install Fileinfo ~# pear install MDB2_Driver_mysql }}} * Un serveur SMTP : postfix et le configurer pour votre cas {{{ ~# apt-get install postfix }}} * Un serveur imap : dovecot et le configurer pour votre cas {{{ ~# aptitude install dovecot-imapd dovecot-common }}} * Installer imapproxy sinon, votre serveur dovecot va crouler sous les requêtes. Le faire bosser sur le réseau local et sur un port différent de 143 pour éviter les confils avec dovecot. {{{ ~# aptitude install imapproxy }}} Modifier le fichier /etc/imapproxy.conf pour le faire écouter sur le ''port 8143'' par exemple avec la directive ''listen_port 8143'' * Configurer apache2 pour qu'il charge le module fileinfo {{{ ~# vi /etc/php5/apache2/conf.d/fileinfo.ini # ajoouter extension=fileinfo.so }}} Selon ProgFou, il faudrait penser à rechercher les équivalents paquets des librairies PEAR installées. Extrait d'une conversation jabber : {{{ ProgFou: par exemple pour Net_SMTP il me semble que c'est le paquet php-net-smtp ProgFou: pour les MDB2 et en particulier mysqli, je me demande si ce ne serait pas php-db ProgFou: et peut-être php-file pour fileinfo ProgFou: enfin à vérifier quoi... ce serait dommage (et surtout gênant) de ne pas profiter du suivi de sécurité fait par Debian }}} FranckKouyami : très bonne idée. je vais regarder lors de la prochaine installation. Sauf si quelqu'un le fait avant moi. Voila, maintenant, on peut installer Roundcube = Installation = Merci ProgFou : le paquet est présent dans les backports (http://packages.debian.org/etch-backports/roundcube-core) à la version 0-1-8 et dans expérimental (http://packages.debian.org/experimental/roundcube) pour la version 0.2. Mais on suit la méthode décrite sur le site (en attendant d'utiliser le paquet débian sur mes propres serveurs : * On télécharge la dernière version de roundcube depuis sourceforge et on le décompresse dans un dossie (par exemple /tmp). {{{ ~# wget http://kent.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-0.2-beta.tar.gz ./ ~# tar -xzf roundcubemail-0.2-beta.tar.gz ./ }}} * Ensuite on le copie dans le dossier correspondant au DocumentRoot déclaré dans le virtualhost du webmail et régler les question de droits. {{{ ~# mv ./roundcubemail-0.2-beta/* /var/www/webmail/ ~# for i in `find /var/www/webmail`; do if [[ -f $i ]]; then chmod 0400 $i; chown www-data:www-data $i; elif [[ -d $i ]]; then chmod 0555 $i; chown www-data:www-data $i;fi done ~# chmod 0755 /var/www/webmail/temp /var/www/webmail/logs # il est important que ces dossiers soient accessibles en lecture à apache }}} * dans ''/var/www/webmail/program/lib'' désactiver l'utilisation des librairies livrées avec Roudcube au profit de celles installées plus haut {{{ ~# mv ./PEAR.php ./PEAR.php-stop ~# mv ./DB ./DB-stop ~# mv ./MDB2 ./MDB2-stop ~# mv ./Mail ./Mail-stop ~# mv ./Net ./Net-stop ~# mv ./MDB2.php ./MDB2.php-stop }}} * Avec le serveur mysql, créer un utilisateur et une base sur laquelle il aura tous les droits {{{ ~# mysql -u root -p # se connecter à mysql mysql> CREATE DATABASE IF NOT EXISTS `roundcubemail` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'Your_Password'; mysql> FLUSH PRIVILEGES; mysql> quit; }}} * Injecter le shéma de la base {{{ ~# mysql -u root -p roundcubemail < /var/www/webmail/SQL/mysql5.initial.sql }}} Voila maintenant accédez à la configuration de roundcube = Configration = Vais le faire demain... :) ProgFou, a lui utiliser une autre méthode pour installer roudcube, via les dépôt backports.