:::info
<center>
# :book: Configuration d'un serveur Mail
</center>
:::
- Connectez-vous à votre machine webMail ( Debian ) avec un compte avec des privilèges root ou directement avec l’utilisateur root et assurez-vous que votre système est à jour avec les derniers correctifs de sécurité et versions de logiciels et de packages, en exécutant la commande suivante.
`apt-get update `
`apt-get upgrade`
- Installez les packages logiciels suivants qui seront utilisés pour l'administration du système, en exécutant la commande suivante
`apt-get install curl net-tools bash-completion wget lsof nano`
- Installer Postfix Mail Server sur Debian
`apt-get install postfix`
- Configurer le serveur de messagerie Postfix
`cp /etc/postfix/main.cf{,.backup}`
- Modifier le fichier `main.cf` selon les configurations nécessaires.
`nano /etc/postfix/main.cf`
```bash=
#See /usr/share/postfix/main.cf.dist for a commented, more complete version
#Debian specific: Specifying a file name will cause the first
#line of that file to be used as the name. The Debian default
#is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
#appending .domain is the MUA's job.
append_dot_mydomain = no
#Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
#See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
#fresh installs.
compatibility_level = 2
#TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
#See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
#information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = webmail.formation.local
mydomain = formation.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#myorigin = /etc/mailname
myorigin = $mydomain
mydestination = $myhostname, $mydomain, localhost.$domain, , localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
# SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,rej$
```
- Exécuter la commande postconf -n afin de vider le fichier de configuration principal de Postfix et vérifier les éventuelles erreurs.
`postconf -n`
- Une fois toutes les configurations en place, redémarrez le daemon Postfix pour appliquer les modifications et vérifiez si le service est en cours d'exécution en inspectant si le service maître Postfix lié au port 25 en exécutant la commande netstat .
`systemctl restart postfix`
`systemctl status postfix`
`netstat -tlpn`

- Installer et configurer Dovecot IMAP
`apt install dovecot-core dovecot-imapd`
- Ouvrez le fichier /etc/dovecot/dovecot.conf , recherchez et décommentez la ligne suivante:
`listen = *, ::`
- Ensuite, ouvrez /etc/dovecot/conf.d/10-auth.conf pour éditer et localiser et changer les lignes ci-dessous.
```bash=
disable_plaintext_auth = no
auth_mechanisms = plain login
```
- Ouvrez le fichier /etc/dovecot/conf.d/10-mail.conf et ajoutez la ligne suivante pour utiliser l'emplacement Maildir au lieu du format Mbox pour stocker les e-mails.
`mail_location = maildir:~/Maildir`
- Le dernier fichier à modifier est /etc/dovecot/conf.d/10-master.conf. Ici, recherchez le bloc Postfix smtp-auth et apportez la modification suivante:
```
Postfix smtp-auth
unix_listener / var / spool / postfix / private / auth {
mode = 0666
user = postfix
group = postfix
}
```
- Après avoir effectué toutes les modifications ci-dessus, redémarrez le daemon Dovecot pour refléter les modifications, vérifiez son état et vérifiez si Dovecot est lié au port 143 , en exécutant les commandes ci-dessous.
`systemctl restart dovecot.service `
`systemctl status dovecot.service `

`netstat -tlpn`

- Installer et configurer Webmail
`apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml`
- Une fois le serveur Web Apache installé, changez le chemin du répertoire en /var/www/html/ directory, supprimez le fichier index.html et exécutez la commande suivante afin d'installer Rainloop Webmail.
```
cd / var / www / html /
rm index.html
curl -sL https://repository.rainloop.net/installer.php | php
```
- Une fois le client Rainloop Webmail installé sur le système, accédez à l'adresse IP de votre domaine et connectez-vous à l'interface Web d'administration Rainloop avec les informations d'identification par défaut suivantes:
`http://192.168.65.230/?admin ou http://webmail.formation.local`
`Utilisateur: admin`
`Mot de passe: 12345`

- Accédez au menu Domaines , appuyez sur le bouton Ajouter un domaine et ajoutez vos paramètres de nom de domaine comme indiqué dans la capture d'écran ci-dessous.

- Une fois que vous avez terminé d'ajouter vos paramètres de domaine, déconnectez-vous de l'interface d'administration accedez à la page suivante:
`http://webmail.formation.local`
- Connectez-vous avec l'identifiant et mot de passe

