Roundcube est une solution de messagerie Web gratuite et open source écrite en PHP. C’est un client IMAP basé sur le Web, tu peux donc aussi accéder à ton serveur de messagerie depuis ton navigateur Web. Tu n’as pas besoin de lire et d’envoyer des emails à partir d’un client de messagerie de bureau. Ce tutoriel montre comment installer RoundCube avec le serveur web Apache et sécurisé par un certificat SSL Let’s encrypt sur Ubuntu 18.04 LTS (Bionic Beaver).

Caractéristiques de RoundCube

  • Prise en charge de MIME, recherche de messages et vérification orthographique.
  • Intégration du répertoire LDAP pour les carnets d’adresses.
  • Prise en charge de plusieurs langues.
  • Prise en charge des dossiers partagés/globaux et des ACL IMAP.
  • Mise en cache intégrée pour un accès rapide aux boîtes aux lettres.
  • Prise en charge d’un serveur SMTP externe et IDNA.

Exigences

  • Un serveur exécutant Ubuntu 18.04 LTS.
  • Un utilisateur non-root avec des privilèges sudo.

Installer le serveur LAMP

Avant de commencer, tu dois mettre à jour la liste des paquets et installer les mises à jour en attente :

sudo apt-get update
sudo apt-get upgrade

Ensuite, installe Apache et MariaDB avec la commande suivante :

sudo apt-get install apache2 mariadb-server php7.2 php7.2-gd php-mysql php7.2-curl php7.2-zip php7.2-ldap php7.2-mbstring php-imagick php7.2-intl php7.2-xml unzip wget curl -y

Une fois que tous les paquets sont installés, tu devras modifier le paramètre Timezone dans le fichier php.ini. Tu peux le faire avec la commande suivante :

sudo nano /etc/php/7.2/apache2/php.ini

Apporte les modifications suivantes :

date.timezone = Europe/Berlin

Enregistre et ferme le fichier, puis démarre le service Apache et MariaDB et active leur démarrage au moment du démarrage à l’aide de la commande suivante :

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb

Télécharger Roundcube

Tout d’abord, tu dois télécharger la dernière version de Roundcube sur ton système. Tu peux la télécharger à l’aide de la commande suivante :

cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.8/roundcubemail-1.3.8-complete.tar.gz

Une fois le téléchargement terminé, extrais le fichier téléchargé avec la commande suivante :

tar -xvzf roundcubemail-1.3.8-complete.tar.gz

Ensuite, déplace le répertoire extrait dans le répertoire racine du site Web d’Apache :

mv roundcubemail-1.3.8 /var/www/html/roundcube

Ensuite, donne les autorisations appropriées au répertoire roundcube :

sudo chown -R www-data:www-data /var/www/html/roundcube
sudo chmod -R 775 /var/www/html/roundcube

Configurer la base de données

Par défaut, l’installation de MariaDB n’est pas sécurisée. Tu devras donc d’abord la sécuriser. Tu peux la sécuriser en exécutant le script suivant :

mysql_secure_installation

Réponds à toutes les questions comme indiqué ci-dessous :

Change the password for root ? N
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y

Une fois que la base de données MariaDB est sécurisée, connecte-toi au shell MariaDB à l’aide de la commande suivante :

mysql -u root -p

Saisis ton mot de passe root, puis crée une base de données et un utilisateur pour Roundcube :

MariaDB [(none)]> CREATE DATABASE roundcubedb;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubedb.* to 'roundcube'@'localhost';

Remplace le mot « password » par un mot de passe sécurisé de ton choix et retiens ce mot de passe, nous en aurons besoin pour l’installation de roundcube plus tard. Ensuite, vide les privilèges et quitte le shell MariaDB à l’aide de la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Ensuite, tu dois importer les tables initiales dans la base de données roundcubedb. Tu peux le faire à l’aide de la commande suivante :

cd /var/www/html/roundcube
mysql -u roundcube -p roundcubedb < SQL/mysql.initial.sql

Saisis le mot de passe de l’utilisateur de la base de données roundcube lorsque cela t’est demandé.

Configurer Apache pour Roundcube

Ensuite, tu dois créer un fichier d’hôte virtuel Apache pour Roundcube. Tu peux le faire à l’aide de la commande suivante :

sudo nano /etc/apache2/sites-available/roundcube.conf

Ajoute les lignes suivantes :

<VirtualHost *:80>
        ServerName example.com                          
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/roundcube

        ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
        CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined

        <Directory /var/www/html/roundcube>
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

remplace exemple.com par ton nom de domaine. Sauvegarde et ferme le fichier, puis active le fichier d’hôte virtuel à l’aide de la commande suivante :

sudo a2ensite roundcube

Ensuite, active le module de réécriture d’Apache et redémarre le serveur Apache avec la commande suivante :

sudo a2enmod rewrite
sudo systemctl restart apache2

Activer SSL avec Let’s encrypt pour RoundCube

Dans cette étape, nous allons activer SSL pour RoundCube en utilisant un certificat SSL gratuit Let’s encrypt. La première étape consiste à installer le client certbot Let’s encrypt que nous utiliserons pour obtenir le certificat SSL.

sudo apt-get install certbot python-certbot-apache

Demande le certificat SSL avec cette commande :

sudo certbot --apache

IMPORTANT : Le nom de domaine ou le sous-domaine que tu utilises pour le site Web de RoundCube doit être accessible depuis Internet pour obtenir un Cert SSL. Certbot va maintenant te poser quelques questions. Regarde les réponses en rouge.

[email protected]: certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: a
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: n
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: roundcube.example.com
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for roundcube.example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/roundcube-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/roundcube-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/roundcube-le-ssl.conf
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/apache2/sites-enabled/roundcube.conf to ssl vhost in /etc/apache2/sites-available/roundcube-le-ssl.conf
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://roundcube.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=roundcube.example.com
-------------------------------------------------------------------------------
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/roundcube.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/roundcube.example.com/privkey.pem
Your cert will expire on 2019-06-25. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Le vhost de RoundCube est accessible par https maintenant.

Accède au Webmail

Maintenant, ouvre ton navigateur Web et tape l’URL https://example.com/installer (remplace exemple.com par ton nom de domaine dans l’URL !). Tu seras redirigé vers la page suivante :

Installateur web de RoundCube

Installateur Web - partie 2

Une fois que toutes les conditions sont remplies, clique sur le bouton Suivant. Tu devrais voir la page suivante :

Configuration générale :

Configuration générale

Paramètres de journalisation et de base de données :

Paramètres de la base de données

Renseigne les détails de la base de données de roundcubedb ici que tu as créée à l’étape de configuration de la base de données.

Paramètres SMTP et IMAP :

Paramètres SMTP

Paramètres IMAP

Plugins :

Plugins

Indique ici tous les détails selon tes besoins, puis clique sur le bouton CREATE CONFIG. Tu devrais voir la page suivante :

Créer une configuration

Ensuite, clique sur le bouton Continuer. Tu devrais voir la page suivante :

Config créée

Maintenant, clique sur le bouton Vérifier la connexion. Après avoir terminé l’installation, supprime le répertoire /var/www/html/roundcube/installer :

sudo rm -rf /var/www/html/roundcube/installer

Maintenant, accède à ton webmail en utilisant l’URL http://your-ip-address ou http://your-domain.com et connecte-toi en utilisant ton email.

RoundCube a été installé avec succès sur Ubuntu 18.04 LTS.

Vous aimerez aussi...