Niveau Niveau confirmé

Roundcube webmail

Tutorieldéveloppement

Publié par le , mis à jour le (70270 lectures)

développement webmail

Le nouveau webmail star en Ajax

Roundcube

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

Capture d'écran de Roundcube

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.