Roundcube sous Debian

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

, 27 novembre 2010. Catégorie: Hébergement.

À propos de l’auteur, Almic