Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
1. Ministère de l’enseignement supérieur et de la recherche scientifique
Rapport d’installation d’un serveur de
messagerie avec le Webmail Roundcube
REPUBLIQUE DU SENEGAL
UN PEUPLE-UNBUT-UNE FOI
Faculté des scienceset techniques
Option : Master 1 Systèmedes réseauxet télécoms
Projeten Linux
Réalisé par :
Balla MoussaDoumbouya
Matricule: 02
Professeur :
M. Massamba Lo
Année universitaire 2019-2020
DOVECOT
2. PLAN DU TRAVAIL
I. INTRODUCTION
II. DEFINITION
III. PRE-REQUIS ET INSTALLATION DES PAQUETS
IV. CONFIGURATIONS DU DNS
V. CONFIGURATIONS DE NGINX
VI. SECURISATION PAR ONPENSSL
VII. CONFIGURATIONS DU PHP-FPM
VIII. CONFIGURATIONS DU POSTFIX
IX. CONFIGURATIONS DU DOVECOT
X. CONFIGURATIONS DU MARIADB
XI. INSTALLATION DE ROUNDCUBE
XII. CONFIGURATIONS DE ROUNDCUBE
XIII. CONNEXION ET TEST D’ENVOI DE MESSAGE ENTRE LES DEUX UTILISATEURS
XIV.CONCLUSION
3. Le courrier électronique est le service le plus utilisé aujourd’hui dans un réseau Intranet ou sur Internet. Il
permet aux utilisateurs qui possèdent une boîte aux lettres d’envoyer ou de recevoir des messages. La boîte
aux lettres est identifiée par son adresse e-mail qui est de la forme nom_utilisateur@adresse_DNS.
Il est plus rapide et moins onéreuse que la plupart des autres moyensde communication (télécopie, téléphone,
courrier postal, coursier...). Dans l'univers des réseaux TCP/IP, la messagerie SMTP (Simple Mail Transport
Protocol) est de loin la plus utilisée, notamment avec Sendmail qui est le standard en matière de serveur SMTP
sur les machines Unix.
Le logiciel libre Postfix est un serveur de messagerie simple à configurer et conçu pour une sécurité optimale.
Pour réaliser ce projet, nous devrons installer au préalable les serveurs DNS, NGINX, PHP, POSTFIX et
MARIADB fonctionnels
Pour cela, nous devons télécharger les packagessuivants :
yum install bind nginx mariadb mariadb-server dovecot php-intl php-ldap php-fpm php php-pecl-json
php-xml php-mysql* php-mbstring
I. Introduction:
Roundcubeest un webmail, c’est‐à‐dire un client de courriel via une interface Web. Il est développé en PHP et
publié sous licence GPL v3. Il permet, en vrac : l’IMAP, l’édition riche, la recherche, et plein d’autres choses
qu’un client de messagerie mature sait faire.
II. Définition:
III. Pré-requis et installations des paquets :
4. Le DNS (Domain Name Service) est un service Internet qui trace les adresses IP en fonction du FQDN (Fully Qualified
Domain Names) et vice versa.
BIND (Berkley Internet Naming Daemon) est le programme le plus communément utilisé pour faire la maintenance d’un
serveurDNS sous Linux, cet article, nous verrons comment installer et configurer un serveur DNS.
Le paramètre TCP de ma carte réseau ens33
Editons le fichier /etc/hosts et ajouter les lignes suivantes :
Editons le fichier /etc/resolv.conf et ajouter les lignes suivantes :
IV. CONFIGURATIONS DU DNS
5. Configuration des enregistrements de la base de donnée direct et inverse , éditons respectivement les fichiers
/var/named/dir et /var/named/inv ajoutons les lignes suivantes :
Pour le fichier direct
sudo vim /var/named/dir
Pour le fichier inverse
sudo vim /var/named/inv
On sait que le daemon du bind tourne en tant qu'utilisateur named , alors changez les propriétaire des
fichiers /var/named/dir et /var/named/inv par named
6. Editons le fichier /etc/named.conf et ajouter les lignes suivantes :
Redemarrer le service named en tapant les commandesrespectivement pour redémarrer et activer au démarrage du
systeme
systemctl restart named
systemctl enable named
7. Tester la configuration du service DNS en tapant les commandes suivantes voir les captures ci-dessous
Test du DNS
8. Créez le répertoire qui contiendrales pages de notre site ou Webmail Roundcube
Créez les deux répertoires dans lesquels on va mettre notre vhost s’ils n’existent pas
NB: sites-available est le répertoire qui contient notre site et sites et sites-enabled contient les sites activés
L'utilisation de la directive -p crée des répertoires parents qui n'existaient pas auparavant.
Exécutez la commande suivante pour ajouter un fichier de configuration pour notre site (1er vhost) qui sera
accessible par le protocole https à travers l’alias https://www.udb.sn
vi /etc/nginx/sites-available/site1.conf
V. CONFIGURATIONS DU NGINX
9. Appuyez sur Echap + : puis wq pour quitter en enregistrant le fichier.
Créer un lien symbolique du fichier de configuration site1.conf vers le répertoire sites-enabled pour activer le site .
10. Ouvrez le /etc/nginx/nginx.conf fichier pour le modifier.
Modifiez la valeur de types_hash_max_size2048 à 4096
Collez les lignes suivantes après la ligne include /etc/nginx/conf.d/*.conf
11. Aller dans le repertoire /etc/ssl/certs/ puis générer un certificat pour sécuriser notre site avec le
protocolehttps
VI. SECURISATION PAR ONPENSSL
12. Testez la configuration Nginx avec la commande sudo nginx –t
Vous devriez voir la sortie suivante indiquant que votre configuration est correcte.
Rechargez le service Nginx en tapant la commande .
sudo systemctl reload nginx
VII.CONFIGURATION DU PHP-FPM
Ouvrez le fichier /etc/php-fpm.d/www.conf.
Nous devons définirl'utilisateur / groupe Unix de processus PHP sur nginx . Recherchez
les lignes user=apache et group=apache dans le fichier et modifiez-lesen nginx partout il y’a
apache.
Test du NGINX
13. En outre, définissez les autorisationsde propriété pour le socket Unix sur nginx et supprimez le ;devant.
Editons le fichier /php/php.ini
cgi.fix_pathinfo=0et date.timezone= Africa/Dakar
Redemarrer le service php-fpm en tapant les commandes respectivement pour redemarrer et activer au
demerrage du systeme
systemctl restart php-fpm
systemctl enable php-fpm
14. VIII.CONFIGURATIONS DU POSTFIX
[root@balla ~]# cp /etc/postfix/main.cf /etc/postfix/main.cf.old
[root@balla ~]# nano /etc/postfix/main.cf
myhostname = balla.udb.sn
mydomain = udb.sn
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $mydomain, localhost.$mydomain, localhost
mynetworks_style = class
mynetworks= 192.168.58.0/24 127.0.0.0/8,
home_mailbox = Maildir/
mailbox_command= /usr/bin/procmail
Redemarrer et activer le service postfix en tapant respectivement les commandes ci-dessous
[root@balla ~]# systemctl restart postfix
[root@balla ~]# systemctl enable postfix
Pour cette partie, on choisit l’option ‘’site internet’’, lorsque l’installation s’achève on passe à la configuration.
Le fichier de configuration se trouve dans /etc/postfix/main.cf, on copier ce fichier main.cf en main.cf.old
pour avoir un fichier backup
Autoriser le protocole SMTP au parefeu
[root@balla ~]# firewall-cmd --add-service=smtp--permanent
[root@balla ~]# firewall-cmd --reload
15. Tester la configuration du service Postfix en se connectant au serveur SMTP sur le port 25 avec la commande
telnet voir la capture ci-dessous
Test du POSTFIX
16. Créer deux utilisateursqu’on utilisera pour envoyer des mails entre eux
Nous pouvons donner le mot de passe à nos utilisateurs, vous pouvez le constater sur la figure ci-dessous
IX. CONFIGURATION DU DOVECOT
nano /etc/dovecot/dovecot.conf,
Decommenter les lignes suivantes:
listen = *
protocols = imap pop3 lmtp submission
17. nano /etc/dovecot/conf.d/10-auth.conf
nano /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u
nano /etc/dovecot/conf.d/10-master.conf
nano /etc/dovecot/conf.d/10-ssl.conf
Redemarrer et activer le service Dovecot au démarrage en tapant respectivement les commandes ci-dessous
[root@balla ~]# systemctl restart dovecot
[root@balla ~]# systemctl enable dovecot
18. X. CONFIGURATION Mariadb
MariaDB est un système de gestion de base de données édité sous licence GPL. Il s'agit d'un fork communautaire
de MySQL, la gouvernancedu projet est assuréepar la fondation MariaDB, et sa maintenance par la
société Monty Program AB, préalablement installer, on peut sécurisernotre base de données avec la commande
suivante:
Créons une base de donnée nommée webmail et un utilisateur du nom de doumbouya qui aura uniquement
le droit sur la base de donnée webmail
19. Redémarrer et activer le service Mariadb au démarrage en tapant respectivement les commandes ci-dessous
XI. INSTALLATION DU WEBMAIL ROUNDCUBE
Aller sur le navigateur, téléchargerle fichier de roundcube à traversle lien ci-dessous:
https://github.com/roundcube/roundcubemail/releases/download/1.3.10/roundcubemail-1.3.10-complete.tar.gz
Se loguer dans le répertoire /home/moussa/Téléchargements/ et faire une extraction du fichier roundcubemail-
1.3.10-complete.tar.gz puis copier les fichiers du répertoire extrait dans le répertoire root de notre page web
/var/www/udb.sn/html et n’oublions pas de donner les droits pour certains répertoires, nous pouvons le constater
sur les figures ci-dessous:
Récupérer le schéma du fichier /var/www/udb.sn/html/SQL/mysql.initial.sql se trouvant dans le répertoire SQL
de Roundcube tout en copiant dans la base de webmailn qu’on a crée
20. XII.Installation du Webmail Roundcube
Après avoir redémarré de tous les services, on saisit notre nom de domaine pour installer Roundcube à travers
l’URL suivant: https://www.udb.sn/installer, on obtient l’interface ci-dessousdéfilez jusqu’en bas et cliquez sur
NEXT
21. Configuration de la base de données
Défilez jusqu’à la partie Database setup, renseignez les informationsde la base de donnée Rouncube
qu’on a créée un peu plus haut . Le nom d’utilisateur ‘doumbouya’ , mot de passe ‘passer’, le nom de la
base de donnée webmail et localhost pour Database Server.
22. Renseignez les informationsdu serveur SMTP et le protocole IMAP dans notre cas puisque les 2 procoles se
trouvent sur le même serveur donc ils ont le même nom canonique balla.udb.sn, Après avoirbien renseigné ces
champs, cliquez sur CREATE CONFIG, une fois cliquer, on va vous générer le fichier de configuration de
roundcube qui se nomme config.inc.php copiez et le mettre dans /var/www/roundcube/config : La figure
suivante nous le montre :
23. On clique sur CONTINUE pour tester la configuration
Test les serveurs SMTP et IMAP
24. Revenons sur notre interface roundcube en se connectant en tant que l’utilisateur ballamoussa, vous devrez
avoir une page d’authentification similaire à cette capture
XII. CONNEXION ET TEST D’ENVOI DE MESSAGES ENTRE DEUX UTILISATEURS
25. Une fois connecté avec l’utilisateur ballamoussa, rédigeonsun petit message au destinataire fanta et
cliquons sur envoyer comme le montre la capture ci-dessous
26. Une fois que l’utilisateur ballamoussaa envoyé le courrier, connectons nousavec l’utilisateur fanta
pour voir si elle a reçu le courrierde ballamoussa, sur la capture ci-dessouson voit que fanta a
reçu le message dans sa boîte de réception
27. XIV.CONCLUSION:
La messagerie est l’un des services le plus utilisé dans les entreprises pour permettre l’échange des e-mail,
ce projet nous a permis de nous familiariser avecle Webmail Roundcube et de savoir comment déployer un
serveurde messagerie sous RedHat ( Fedora32 ) grâce aux différentes directivesque nous venons de vous
présenter ci -haut, en espérant que ce rapport vous aidera dans vos travaux de recherche.