RoundCube est un client webmail Open Source utilisant Ajax, PHP et MySQL. Il reste léger et bien adapté pour la mise en place d'une interface web d'accès à des comptes mail hébergés sur un serveur dédié.
- Capacités multi-linguistiques
- Support complet des messages HTML et MIME
- Composition de messages avec pièces jointes
- Support IMAP
- Identités de l'expéditeur multiples
- Carnet d'adresses basique
- Intégration du carnet d'adresse lors de la frappe
- Transfert des messages avec pièces jointes
- Création et suppression de dossiers de messages
- Gestion du cache pour accélérer l'accès à la boite mail
- Support de serveur SMTP externe
- Interface utilisateur avancée
- Nombre illimité d'utilisateurs et de messages
- Personnalisation complète avec des skins
Installation
Téléchargez tout d'abord la version la plus récente de Roundcube. Vous pouvez vous servir de wget en ligne de commande pour récupérer l'archive au format .tar.gz sur le site officiel.
wget <URL du fichier tar.gz>
Créez ensuite le répertoire devant accueillir les fichiers :
mkdir -p /var/www/roundcube
Décompression du fichier téléchargé dans le répertoire destination :
tar -xvzf roundcube.tar.gz /var/www/roundcube/
Définition des droits d'accès (les répertoires logs et temp doivent être accessibles en écriture) :
cd /var/www/roundcube/
chmod a+w logs temp
Vérifiez également quel est le propriétaire du répertoire et des fichiers, grâce à la commande ls -al
, et modifiez-le avec chown
au cas où.
Base de données
Il est nécessaire de créer une base de données (MySQL dans notre exemple). Connectez-vous en root à mysql pour créer la base et les accès :
mysql -uroot -p<motdepasse_root_mysql>
CREATE DATABASE roundcube;
GRANT ALL ON roundcube.* TO 'roundcube'@'localhost' IDENTIFIED BY '<motdepasse_roundcube>';
quit
Puis importez la structure depuis le fichier SQL fourni par Roundcube (ici le fichier situé dans SQL/mysql5.initial.sql) :
mysql -uroundcube -p<motdepasse_roundcube> roundcube <SQL/mysql5.initial.sql
Editez la configuration pour faire appel à la bonne base. Deux fichiers existent, il suffit de les renommer en supprimant le suffixe dist :
mv config/db.inc.php.dist config/db.inc.php
mv config/main.inc.php.dist config/main.inc.php
Editez db.inc.php
vi config/db.inc.php
Modifiez la ligne suivante pour renseigner les identifiants de connexion MySQL (login:motdepasse@serveur/nom_base_mysql) :
$rcmail_config['db_dsnw'] = 'mysql://roundcube:<motdepasse_roundcube>@localhost/roundcube';
Si vous utilisez le panel DTC, modifiez le propriétaire des fichiers :
chown -R dtc.dtcgrp /var/www/roundcube/* /var/www/roundcube/.htaccess
Apache
Il faut ensuite créer un fichier de configuration pour Apache. Veillez à bien renseigner l'adresse IP dans le cas d'un hébergement avec Virtual Hosts (reportez-vous à la documentation Apache) et le chemin DocumentRoot ainsi que les noms de domaine pris en compte par ServerName et ServerAlias.
vi /etc/apache2/sites-available/roundcube
<VirtualHost votre_adresse_ip:80>
ServerName webmail.votre_domaine.com
ServerAlias webmail.autre_domaine.com
DocumentRoot /var/www/roundcube/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/roundcube/>
Options FollowSymLinks -MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access-roundcube.log combined
ServerSignature Off
</VirtualHost>
Activez le site dans Apache en créant le lien symbolique :
a2ensite roundcube
Et redémarrez :
/etc/init.d/apache2 restart
Optionnellement, éditez la configuration pour ne pas avoir à choisir de serveur mail sur la page d'accueil, et pour sélectionner la langue française :
vi /var/www/roundcube/config/main.inc.php
$rcmail_config['default_host'] = 'localhost';
$rcmail_config['locale_string'] = 'fr';
Consultez la documentation officielle de Roundcube si nécessaire. Celle-ci est très complète et vous donnera des réponses rapidement pour les différentes situations rencontrées.