Menu
InformatiWeb Pro
  • Index
  • Admin système
  • Virtualisation

Connexion

Inscription Mot de passe perdu ?
US
  • Windows Server
    • WMS 2012
    • WS2012 R2
    • WS2016
  • Citrix
    • Citrix NetScaler Gateway
    • Citrix XenApp / XenDesktop
    • Citrix XenServer
  • VMware
    • VMware ESXi
    • VMware vSphere
    • VMware Workstation
  • Microsoft
    • Hyper-V
  • RAID
    • Adaptec SmartRAID
  • UPS
    • APC Back-UPS Pro
  • InformatiWeb Pro
  • Admin système
  • Linux
  • Installer et sécuriser un serveur mails complet (Mails, SMTP, Auth via SASL, IMAP, POP3, webmail, TLS et SSL) sous Debian

Installer et sécuriser un serveur mails complet (Mails, SMTP, Auth via SASL, IMAP, POP3, webmail, TLS et SSL) sous Debian

  • Linux
  • 25 février 2015 à 16:52
  • InformatiWeb
  • 3/5
Page précédente

9. Installation du Webmail "RoundCube Webmail"

Maintenant que le serveur de mails est installé et que les protocoles POP3 et IMAP sont installés, il est maintenant possible de récupérer ses mails depuis un ordinateur distant via un client de messagerie comme Thunerbird, Outlook, ... ainsi que via un webmail.
Nous allons donc installer Roundcube qui est le webmail utilisé dans le monde professionnel (OVH vous le propose d'ailleurs pour certaines offres).

Par sécurité, nous allons créer un utilisateur "roundcube" sur la machine Linux :

Bash

adduser roundcube

Note : Indiquez un mot de passe différent des autres

Comme pour le script "Postfix Admin", allez cette fois-ci sur le site de "Roundcube" qui vous redirigera sur le site de "Source Forge".
Choisissez la version "Stable - Complete" et cliquez sur le bouton "Download".

Vous êtes maintenant redirigé sur le site de "Source Forge". Faites un clic droit sur "direct link" et cliquez sur "Copier l'adresse du lien".
Vous aurez un lien de ce genre :

Plain Text

https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.9.5/roundcubemail-0.9.5.tar.gz?r=http%3A%2F%2Froundcube.net%2Fdownload%2F&ts=1391350195&use_mirror=netcologne

Supprimez ce qui se trouve derrière le ".tar.gz" et tapez ensuite les commandes suivantes :

On se déplace dans le dossier personnel de root.

Bash

cd ~

Téléchargement de la dernière version de "RoundCube Webmail" pour Linux (.tar.gz).

Bash

wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.9.5/roundcubemail-0.9.5.tar.gz

On décompresse l'archive que l'on vient de télécharger, dans le dossier de l'utilisateur roundcube que l'on vient de créer.

Bash

tar xzvf roundcubemail-0.9.5.tar.gz -C /home/roundcube/

On se déplace dans le dossier "/home/roundcube".

Bash

cd /home/roundcube

On renomme le dossier "roundcubemail-x.x.x" en "www".

Bash

mv roundcubemail-0.9.5 www

On donne les droits à l'utilisateur "roundcube" sur le dossier "www" (et son contenu : -R).

Bash

chown -R roundcube:roundcube www

Vous pouvez taper la commande "ls -l" pour vérifier que le dossier "www" appartient bien à roundcube.

Bash

ls -l

Maintenant que le script est téléchargé, allez dans phpMyAdmin et créer une base de donnée "roundcube".
Note : Cette manipulation est la même que pour Postfix Admin.

Une fois la base de données créée, allez dans cette base de données et cliquez sur "Privilèges".
Cliquez ensuite sur ajouter un utilisateur et indiquez les informations suivantes :

- Nom d'utilisateur : roundcube
- Client : localhost (ou sélectionnez Local dans la liste)
- Mot de passe : **** (Cliquez sur le bouton générer situé en dessous, par sécurité)

Vérifiez enfin que la case 'Donner tous les privilèges sur la base de données "roundcube"' est bien sélectionnée et cliquez sur "Exécuter" en bas de page.

Maintenant que la base de données et l'utilisateur associé à cette base de données sont créés, nous allons créer un nouveau virtualhost "webmail.votre-domaine.com" pour y accéder via le sous-domaine "webmail". (Et aussi pour faire comme tout le monde. C'est plus ergonomique)
Pour cela, allez dans les sites disponibles dans Apache :

Bash

cd /etc/apache2/sites-available/

Faites une copie du fichier par défaut.

Bash

cp default webmail

Modifier ensuite ce fichier comme ceci :

Apache

<VirtualHost *:80>
	ServerAdmin webmaster@informatiweb-tuto.net
	ServerName webmail.informatiweb-tuto.net
	
	DocumentRoot /home/roundcube/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory /home/roundcube/www/>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
       Order allow,deny
       allow from all
	</Directory>
	
	ErrorLog ${APACHE_LOG_DIR}/error.log
	
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
    
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

En résumé :
- Nous avons supprimé les alias "/cgi-bin/" et "/doc" car nous n'en n'avons pas besoin pour ce sous-domaine.
- Nous avons ajouté un nom de serveur (pour que les visiteurs tombent sur Roundcube au lieu du site par défaut) : ServerName webmail.informatiweb-tuto.net
- Nous avons modifié :
1) l'adresse mail : ServerAdmin webmaster@votre-domaine.com
2) le dossier sur lequel faire pointer ce sous-domaine : DocumentRoot, <Directory /home/roundcube/www/>
3) Les directives "AllowOverride" en "AllowOverride All" pour que les fichiers .htaccess soient pris en compte.

Activez ensuite ce virtualhost.

Bash

a2ensite webmail

Puis, rechargez la configuration d'Apache pour prendre en compte les changements :

Bash

service apache2 reload

Maintenant que le Virtuahost est configuré, nous allons remplir la base de données "roundcube" (actuellement vide) en exécutant le script fourni dans le dossier "SQL" de roundcube.
Pour cela, nous allons utiliser l'outil en ligne de commande de MySQL comme ceci :

Bash

mysql -u roundcube -p roundcube < /home/roundcube/www/SQL/mysql.initial.sql

Si vous vous connectez sur phpMyAdmin, vous verrez qu'une dizaine de tables ont été créées dans la base de données "roundcube".

Vous pouvez maintenant lancer l'interface graphique d'installation en accédant à l'adresse suivante : http://webmail.votre-domaine.net/installer/
Sur cette page, Roundcube va tester votre configuration système et vous indiquer si cette configuration est bonne ou non.

Note : Avec la version 1.1.0 de RoundCube, une extension PHP "LDAP" est optionnelle. Pour installer celle-ci, utilisez la commande :

PHP

apt-get install php5-ldap

Si la variable "date.timezone" est en orange, alors Roundcube vous recommande de la renseigner dans le fichier "/etc/php5/apache2/php.ini". Les valeurs sont disponibles sur le site de php.net.

Bash

vi /etc/php5/apache2/php.ini

Rechargez ensuite la configuration d'apache et réaccédez à la page d'installation de Roundcube (F5).

Bash

service apache2 reload

Dans la page suivante, les informations obligatoires sont celles de la base de données (Database setup) :
- Database type : MySQL
- Database server : localhost
- Database name : roundcube
- Database user name : roundcube
- Database password : son mot de passe

Vous pouvez aussi indiquer "localhost" comme serveur imap. La case "Serveur" disparaitra ainsi de la page de connexion de Roundcube.

Indiquez enfin "fr_FR" comme langue dans la partie "Display settings & user prefs".

Etant donné que le script de Roundcube est exécuté avec l'utilisateur apache "www-data", celui-ci n'a pas les droits d'écriture dans le dossier de RoundCube.
Vous devez donc créer les fichiers proposés, vous-même. Ces fichiers sont à créer dans le dossier "/home/roundcube/www/config".

Bash

cd /home/roundcube/www/config
vi main.inc.php
vi db.inc.php

Une fois que vous avez créé ces fichiers, cliquez sur "Continuer".
Vous arrivez maintenant sur une page de tests.

Commencez par régler ces problèmes de droits :

Bash

cd /home/roundcube/www
chown www-data:www-data temp
chown www-data:www-data logs

Si tout se passe bien, les messages seront devenus verts :

Ensuite, tester l'envoi d'un e-mail via le serveur smtp.
Pour cela, essayez d'abord d'envoyer un mail en interne : vous@votre-domaine.com à une_autre@votre-domaine.com.
Puis, si cela fonctionne, tentez d'envoyer un mail à un domaine externe : vous@votre-domaine.com à vous@gmail.com

Si l'envoi s'effectue correctement, le message "SMTP send: OK" s'affichera.

Connectez-vous ensuite sur votre adresse mail "externe", et vérifiez que vous avez bien reçu le mail envoyé par Rouncube.
Note : Il est possible que cet e-mail arrive dans le courrier indésirable, car ce message est le même pour tout le monde.

Et enfin, tester la récupération des mails via IMAP :
- Serveur : localhost (ou 127.0.0.1)
- Port : 143 (port par défaut pour l'IMAP)
- Username : vous@votre-domaine.com
- Password : Mot de passe de cette adresse e-mail.

Si l'accès à votre boite mail s'effectue correctement via le protocole IMAP, le message "IMAP connect: OK (SORT capability: yes)" s'affichera.

Note : Si vous obtenez une erreur "No such file or directory" pour l'IMAP, vérifier la configuration concernant le dossier "var/spool/vmail".

Ensuite, comme vous le recommande "Roundcube", supprimez le dossier "/home/roundcube/www/installer/".

Bash

rm -R /home/roundcube/www/installer/

Pour finir, étant donné que l'on utilise "courier" pour le protocole "IMAP", nous allons devoir modifier le fichier "config/defaults.inc.php".
Si vous regardez dans ce fichier, vous trouverez les lignes :

Plain Text

// store draft message is this mailbox
// leave blank if draft messages should not be stored
// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)

Note : Les manipulations ci-dessous vous éviteront d'avoir l'erreur suivante : "Erreur de serveur : UID COPY: Mailbox does not exist.".

Pour cela, ouvrez le fichier "config/defaults.inc.php".

Bash

vi config/defaults.inc.php

Et ajoutez le préfixe "INBOX." pour les 4 variables ci-dessous :

Plain Text

$config['drafts_mbox'] = 'INBOX.Drafts';
$config['junk_mbox'] = 'INBOX.Junk';
$config['sent_mbox'] = 'INBOX.Sent';
$config['trash_mbox'] = 'INBOX.Trash';

Ensuite, indiquez "true" pour la variable "create_default_folders" :

Plain Text

$config['create_default_folders'] = true;

Si vous arrivez sur ce tutoriel à cause du message d'erreur "Erreur de serveur : UID COPY: Mailbox does not exist", modifiez les variables ci-dessus, supprimez toutes les tables de la base de données MYSQL "RoundCube", puis recréez les tables en utilisant la commande :

Bash

mysql -u roundcube -p roundcube < /home/roundcube/www/SQL/mysql.initial.sql

10. Connexion à Roundcube

Retournez à la racine de votre domaine : http://webmail.votre-domaine.com/
Et connectez-vous à une de vos adresses e-mails. Celles terminant par "votre-domaine.com".

Votre serveur mail est maintenant complètement opérationnel.
Vous remarquerez d'ailleurs que le mail de test envoyé localement via telnet est présent dans votre boite mail.

Voici quelques opérations courantes que vous pouvez maintenant faire via Roundcube :
- Envoyer un mail : via le bouton "Composer"
- Gérer votre carnet d'adresses : via l'icône en haut à droite (représentant une tête)
- Répondre à un mail : ouvrez un mail et cliquez sur : Répondre, répondre à tous ou transférer
- Etc.

Testez maintenant l'envoi d'un e-mail vers une ou plusieurs de vos adresses e-mail externes et répondez-y pour être sûr que les messages passeront correctement dans les 2 sens.
Voici un petit aperçu de notre test de mail sortant.
Note : Comme vous pouvez le voir, ce message a été envoyé sur notre adresse gmail, et nous y avons ensuite répondu.

Pour ajouter la personne dans le carnet d'adresses, cliquez simplement sur la petite icône présente à côté de son adresse mail.

Page suivante

Partager ce tutoriel

Partager
Tweet

A voir également

  • Debian / Ubuntu - Configurer un serveur et un client iSCSI

    Linux 11/10/2016

    Debian / Ubuntu - Configurer un serveur et un client iSCSI

  • Debian / Ubuntu - Configurer un serveur et un client NFS

    Linux 12/3/2015

    Debian / Ubuntu - Configurer un serveur et un client NFS

  • StartSSL - Sécuriser gratuitement votre site web

    Linux 24/7/2015

    StartSSL - Sécuriser gratuitement votre site web

  • Ubuntu - Installer un serveur Web complet

    Linux 31/1/2014

    Ubuntu - Installer un serveur Web complet

Commentaires

Pas de commentaire

Donnez-nous votre avis

Contenu épinglé

  • Logiciels (Admin système)
  • Logiciels Linux
  • Nos programmes
  • Conditions générales
  • Donnez votre avis

Contact

  • Livre d'or
  • Support technique
  • Contact

® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.

Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.