Mise en oeuvre d’un Webmail RoundCube

Prérequis

RoundCube, comme tous les webmails, utilise un certain nombre de services pour son afichage et sa connexion aux boites aux lettres. De plus RoundCube utilise un serveur mysql ( ou autres, cf doc INSTAL de RoundCube ).

Les prérequis sont donc :
– un serveur IMAP pour accéder aux boites aux lettres.
– un serveur web ( Apache ) pour afficher le webmail.
– PHP et les modules php-mysql d’Apache, car ce webmail est écrit en PHP.
– PCRE (perl compatible regular expression) installé.
– Un serveur MySQL pour stocker les paramètres de l’utilisateur.

Tous ces services doivent fonctionner correctement bien entendu 🙂

PHP doit avoir certaines options dans php.ini :
– Une taille de file_uploads compatible avec la taille maxi des pièces jointes que vous voulez permettre.
– Une limite memory_limit assez haute, afin d’avoir un temps d’exécution assez long pour inclure ces pièces jointes dans le message.

Installation

Télécharger la dernière version de RoubdCube sur le site du projet http://www.roundcube.net.

Décompresser l’archive et la placer dans l’arborescence d’apache.

tar xvfz roundcubemail-0.1beta2.2.tar.gz
mv roundcubemail-0.1beta2 /var/www/roundcube

Changer l’utilisateur lié à ce dossier, car c’est apache qui doit y accéder et pas root.

cd /var/www
chown -R apache: roundcube

Créer une base de données propre à RoundCube dans MySQL.

mysql -p

Entrez le mot de passe du compte root de MySQL, vous devez arriver au prompt « mysql> »

On crée la base et un utilisateur ayant les droits sur la base.

create database roundcube;
grant all on roundcube.* to 'roundcube'@'localhost' identified by 'mo2pass';
flush privileges;

On rempli la base avec la structure donnée par la distribution RiundCube.

use roundcube
source /var/www/roundcube/SQL/mysql.initial.sql

Les tables sont créées comme le montre la commande suivante :

mysql> show tables;
+---------------------+

Tables_in_roundcube

+---------------------+

cache
contacts
identities
messages
session
users

+---------------------+
6 rows in set (0.00 sec)

On peut quitter la console MySQL avec la commande exit.

Renommez les fichiers config/*.inc.php.dist en config/*.inc.php

cd /var/www/roundcube/config
mv db.inc.php.dist db.inc.php
mv main.inc.php.dist main.inc.php

Modifiez ces fichiers de config/* afin de correspondre à votre environnement local

Dans mon cas je change ceci dans le fichier main.inc.php.

$rcmail_config[‘enable_caching’] = FALSE; au lieu de TRUE car le serveur IMAP est sur la même machine que le serveur WEB.

$rcmail_config[‘default_host’] = ‘127.0.0.1’;

$rcmail_config[‘smtp_server’] = ‘smtp.caplaser.fr’;
Entrez ici le serveur smtp qui vous convient, en général celui du FAI.

$rcmail_config[‘locale_string’] = ‘fr’; au lieu de en, allez savoir pourquoi… 🙂

Les modifications dans le fichier db.inc.php, sont très simples.

$rcmail_config[‘db_dsnw’] = ‘mysql://roundcube:mo2pass@localhost/roundcube’; Pour le faire coller à ma configuration. Attention au mot de passe que vous avez donné précedemment.

La syntaxe est NomUtilisateur:MotDePasse@ServeurMySQL/NomBaseDeDonnées .

Paramétrage APACHE

Allez dans le dossier /etc/httpd/conf.d/

Créez un fichier roundcube.conf avec le contenu suivant :

#
# RoundCube est un webmail ecrit en PHP.
#

Alias /roundcube /var/www/roundcube

Modification limites PHP

Pour modifier les limites de php, il faut éditer le fichier /etc/php.ini.

Ci-dessous, les valeurs que j’ai modifié.

; Whether to allow HTTP file uploads.
file_uploads = On

; Maximum allowed size for uploaded files.
upload_max_filesize = 20M

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 300 ; Maximum execution time of each script, in seconds
max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
memory_limit = 16M ; Maximum amount of memory a script may consume (8MB)

Il faudra adapter ces valeurs en fonction de la réaction de votre webmail.

En effet, si on intègre une pièce jointe un peu volumineuse, il faut plus de temps à apache pour faire la mainipulation et le timeout php peut être trop court.

Recharger apache afin qu’il relise sa configuration.

/etc/init.d/httpd reload

Le webmail devrait maintenant être disponible à l’url http://ip.du.serveur.apache/roundcube

Connectez-vous avec votre login, password du serveur IMAP et consultez ou expédiez des emails avec une interface assez sympa à mon goût.

N’hésitez pas à aller voir les préférences de l’utilisateur afin de personnaliser l’adresse email que recevra le destinataires des messages.

Un des attraits de ce webmail en comparaison des autres, est sa possibilité de se créer plusieurs identitées et d’envoyer les emails en choisissant celle qui vous va bien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.