Roundcube est un webmail (PHP/JavaScript) utilisant le protocole IMAP fonctionnant aussi bien avec Apache ou Nginx. Nous ne verrons que l’application avec Apache dans ce tutoriel.

Installation Roundcube

Avant de démarrer l’installation de Roundcube, votre système doit au préalable fonctionner avec un serveur LAMP (Apache) ou LEMP (Nginx).
IL n’existe pas d’installation simplifiée de Roundcube (la dernière version est à récupérer sur le site officiel), nous procédons donc par étape :

# Création d'un dossier et modification de droits
mkdir /var/www/roundcube
cd /var/www/roundcube
chown -R www-data:www-data /var/www/roundcube

# Téléchargement et décompression d'archive
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.0/roundcubemail-1.3.0-complete.tar.gz
tar xfz roundcubemail-1.3.0-complete.tar.gz

# On déplace le contenu et supprime ce qui n'est plus utile
mv roundcubemail-1.3.0/* .
mv roundcubemail-1.3.0/.htaccess .
rmdir roundcubemail-1.3.0
rm roundcubemail-1.3.0-complete.tar.gz

Configuration MySQL pour installer Roundcube

Nous procédons maintenant à la mise en place de la base de donnée, ici nous utiliserons MySQL mais la configuration pour MsSQL, Postgres, SQLlite, Oracle est fournie :

mysql

mysql> CREATE DATABASE roundcube;
mysql> GRANT ALL PRIVILEGES ON roundcube.* TO roundcube@localhost IDENTIFIED BY "password";
mysql> FLUSH PRIVILEGES; 
mysql> quit

On intègre la configuration SQL fournie à la base précédemment créée :

mysql -u LOGINsql -pPASSWORDsql roundcube < /var/www/roundcube/SQL/mysql.initial.sql

Configuration Roundcube

On va copier puis adapter une configuration de départ fournie :

cd /var/www/roundcube/config/
cp -p config.inc.php.sample config.inc.php
sed -i "s/roundcube:pass@localhost\/roundcubemail/LOGINsql:PASSWORDsql@localhost\/roundcube/g" config.inc.php

La variable $config[‘smtp_server’] du fichier config.inc.php sera également à modifier si nécessaire par l’adresse IP de votre serveur SMTP :

cd /var/www/roundcube/config/
sed -i "s/$config['smtp_server'] = 'localhost'/$config['smtp_server'] = 'votreadresseIP'/g" config.inc.php

Il reste à activer l’installation et la configuration via navigateur web :

cd /var/www/roundcube/config/
cat >> config.inc.php << 'EOF'
$config['enable_installer'] = true;
EOF

Configuration Apache avec Roundcube

On créé un Virtualhost associé à Roundcube :

cd /etc/apache2/sites-available/
vim roundcube.conf

# Virtualhost pour Roundcube sous Apache
<VirtualHost *:80>
        ServerName       roundcube.domaine.com
        ServerAdmin      admin@domaine.com
        DocumentRoot     /var/www/roundcube
        Alias /roundcube /var/www/roundcube
        Alias /webmail   /var/www/roundcube
 
        <Directory /var/www/roundcube>
                AllowOverride All
                Order Allow,Deny
                Allow from All
        </Directory>

        <Directory /var/www/roundcube/config>
                Options -FollowSymLinks
                AllowOverride None
                Require all denied
        </Directory>
        <Directory /var/www/roundcube/temp>
                Options -FollowSymLinks
                AllowOverride None
                Require all denied
        </Directory>

        <Directory /var/www/roundcube/logs>
                Options -FollowSymLinks
                AllowOverride None
                Require all denied
        </Directory>

</VirtualHost>

Il reste à activer ce Virtualhost et relancer Apache :

a2ensite roundcube.conf
service apache reload

L’installation se poursuivra en suivant les étapes de l’installateur en ligne : http://roundcube.domaine.com/