Accès par webmail avec Roundcube - Debian 7.0 Wheezy
Rédigé par Marc GUILLAUME | Aucun commentaireOffrir un accès via une interface web (webmail) à vos utilisateurs.
Apparemment un nombre croissant d'utilisateurs ne veulent pas configurer un client de mail comme Thunderbird. À la place ils pensent que la meilleure façon d'accéder à leur courrier est d'utiliser un navigateur Internet. Chacun ses goûts. Donc configurons Roundcube en tant que logiciel de webmail pour leur faire plaisir. RoundCube est une application web écrite en Php qui offre une interface web intuitive et qui parle IMAP avec n'importe quel serveur.
Activer RoundCube avec le serveur web Apache
Vous devriez déjà avoir installé le paquet RoundCube. Le fichier /usr/share/doc/roundcube-core/README.Debian fournit des informations supplémentaires sur la manière de configurer RoundCube sur votre serveur Apache.
Si vous n'utilisez pas les hôtes virtuels d'Apache (juste un seul site)
Simplement si vous n'utilisez le serveur web sur votres serveur de mail que pour fournir l'interface webmail vous pouvez décommenter les directives Alias dans le fichier /etc/apache2/conf.d/roundcube et redémarrer Apache :
apache2ctl restart
Si vous utilisez Apache avec les hôtes virtuels (votre webmail co-existe avec d'autres sites web sur votre serveur)
Si vous avec plusieurs hôtes virtuels actifs sur votre serveur alors n'activez pas les directives Alias dans le fichier /etc/apache2/conf.d/roundcube à la place mettez-les dans une section <VirtualHost> dans le bon fichier de configuration d'hôte virtuel. Par exemple vous pouvez configurer votre webmail à l'adresse https://webmail.example.org/ vous rajoutez cette ligne dans votre instance HTTP (qui écoute sur le port 80 TCP) :
Redirect permanent / https://YOUR-MAILSERVER/roundcube
puis redémarrez Apache :
apache2ctl restart
Tester l'identification sur le webmail
Faites pointer votre serveur web sur le dossier /roundcube/ sur votre serveur de mail (c'est à dire https://YOUR-MAILSERVER/roundcube/). Si tout a fonctionné comme prévu vous serez accueilli par la fenêtre de connexion :
Vous devrier déjà pouvoir vous identifier en utilisant john@example.org et le mot de passe summersun. Comme serveur entrez localhost (nous nous débarasserons de ce champ dans une minute). Cliquez sur Login et vous devriez vous retrouver dans votre boîte mail :
Affinage de la configuration
Éditons le fichier principal de configuration de RoundCube /etc/roundcube/main.inc.php] et apportons-y ces modifications :
$rcmail_config['default_host'] = 'localhost';
Ceci désactive le champ Server pour toujours utiliser le serveur local en IMAP.
$rcmail_config['force_https'] = true;
Assure que vos utilisateurs ne pourront pas accidentellement communiquer leurs informations de connexion sur une connexion HTTP non sécurisée.
Je vous recommande de parcourir les différentes variables de configuration pour personnaliser RoundCube avec votre logo et ajuster les réglages concernant l'ergonomie et la sécurité. Toutes les fonctionnalités sont bien documentées.
Configuration de Sieve
Sieve est une fonctionnalité qui permet à vos utilisateurs d'utiliser des règles côté serveur pour le traitement des emails sur le serveur. Dovecot supporte ces règles et vous l'avez déjà configuré pour qu'il écoute sur un port réseau les requêtes utilisant le protocole managesieve qui permet d'ajouter, de retirer ou de modifier des règles. Par chance RoundCube sait parler « managesieve », il suffit juste que vous lui indiquez comment communiquer avec Dovecot. Commencez par copier le fichier de configuration type au bon endroit :
cp /usr/share/roundcube/plugins/managesieve/config.inc.php].dist /etc/roundcube/plugins/managesieve/config.inc.php]
Éditez ce fichier /etc/roundcube/plugins/managesieve/config.inc.php] et placez-y le port TCP sur lequel Dovecot attend les connexions managesieve :
$rcmail_config['managesieve_port'] = 4190;
Activez également le plugin managesieve de RoundCube en éditant cette ligne du fichier /etc/roundcube/main.inc.php] :
$rcmail_config['plugins'] = array('managesieve');
Maintenant lorsque vous cliquez sur l'option « Settings » dans le coin surpérieur droit de l'interface web de RoundCube vous allez voir quatre onglets dont le dernier s'appelle « Filters ». Cliquez sur cet onglet :
Ce sont les règles auxquelles Dovecot obéit pour ce compte mail. Bon il n'y en a encore aucune. Mais vous pouvez en ajouter dans le panneau Filters en cliquant sur l'icône « + ». Vous pourrez alors ajouter une règle.
Le champ Filter name est juste un nom destiné à vous permettre de vous rappeler dans quel but vous avez créée cette règle (du genre « Déplacer les mails de Tina dans le dossier tina »). La section For incoming mail vous permet de définir les critères auxquels un mail doit répondre pour que cette règle s'applique. Et …execute the following actions décrit ce que doit faire Dovecot quand il reçoit un mail correspondant aux critères.
Voyons un autre exemple :
Ce filtre s'applique à un mail entrant dont l'expéditeur a l'adresse « tina@example.org » et dont le sujet contient « cat pictures ». Dovecot va immédiatement envoyer une copie du mail à « jill@example.com ». Vous pouvez utiliser les filtres pour trier les mails dans des répertoires, effacer certains mails comportant des erreurs, y répondre automatiquement ou activer un message de répondeur d'absence.
Les règles sont sauvegardées dans le répertoire de mails de chaque utilisateur. Pour John@example.org ces règles sont sauvées dans : /var/vmail/example.org/john/sieve/managesieve.sieve. La règle ci-dessus ressemblerait à cela dans le format utilisable par la machine :
require ["copy"]; # rule:[Forward cat pictures to Jil if allof (header :contains "From" "tina@example.org", header :contains "Subject" "cat pictures") { redirect :copy "jill@example.com"; }
Voilà pour les règles côté serveur. Amusez-vous bien.