Roundcube est un webmail simple et efficace. Voici comment je l’ai installé sous Debian.
Pour commencer :
# apt-get install roundcube
Il y a quelques informations à renseigner dans /etc/roundcube/main.inc.php.
$rcmail_config['default_host'] = 'tls://serveur';
$rcmail_config['imap_auth_type'] = PLAIN;
$rcmail_config['smtp_server'] = 'tls://serveur';
$rcmail_config['use_https'] = true;
$rcmail_config['password_charset'] = 'UTF-8';
Pour accéder à roundcube en SSL, et avec une adresse de la forme webmail.domaine.tld, on va créer un virtualhost apache.
# cp /etc/roundcube/apache.conf /etc/apache2/sites-enabled/webmail.domaine.tld
Au début du fichier, rajoutez :
< VirtualHost *:443 > ServerName webmail.domaine.tld ServerAdmin webmaster@domaine.tld SSLEngine on SSLCertificateFile /etc/ssl/private/webmail.pem DocumentRoot /var/lib/roundcube/
Ensuite vient le contenu de /etc/roundcube/apache.conf, en laissant les sections dans le même ordre, et avec une seule modification : la ligne < Directory /var/lib/roundcube/ > devient < Directory / >. À la fin, on rajoute le reste de la config du virtualhost.
ErrorLog /var/log/apache2/webmail-error.log LogLevel warn CustomLog /var/log/apache2/webmail-access.log combined < /VirtualHost >
S’il y a plusieurs virtualhosts sur cette machine, on ne veut pas qu’un petit malin trouve roundcube en rajoutant un s dans l’url. On va rajouter un autre virtualhost ssl, qui fera office de garde-fous. Dans /etc/apache2/ports.conf, rajoutez la ligne en gras.
< IfModule mod_ssl.c> # If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to# Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. NameVirtualHost *:443 Listen 443 < /IfModule >
Puis au début de /etc/apache2/sites-enabled/webmail.domaine.tld :
< VirtualHost *:443 > ServerAdmin webmaster@localhost SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key RewriteEngine on RedirectMatch 302 ^(.*)$ http://perdu.com/? ErrorLog /var/log/apache2/protectssl-error.log LogLevel warn CustomLog /var/log/apache2/protectssl-access.log combined < /VirtualHost >
On génère le certificat :
# openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/webmail.pem -out /etc/ssl/private/webmail.pem
On relance apache :
# service apache2 restart