Installer et configurer Dovecot
Chapitre
- 1- Pré-requis avant installer Postfix
- 2- Installer Postfix et les paquets pour le système
- 3 – Pré-requis avant installer postfixadmin
- 4 – Installer et configurer de PostfixAdmin
- 5- Configurer Postfix, certificat ssl, création des paramètres Diffie-Hellman, gestion et du stockage des mails, paramètre SMTP sortie vers client
- 6- Installer et configurer Dovecot
- 7- Vérification des ports smtp imap ouvert dans iptables et test d’envoi de mail
- 8- Installer et configurer Roundcube comme client de messagerie via un webmail
En premier lieu nous installons Dovecot pour poursuivre l’installation du serveur postfix puis nous utilisons la commande suivante :
Ainsi Sieve permet de placer les mails automatiquement dans des dossiers.
Configuration de Dovecot
Pour commencer nous devons ouvrir le fichier /etc/dovecot/dovecot.conf.
Ainsi nous allons activer le protocole Imap pour la récupération des mails.
Puis nous ajoutons le protocole Lmtp pour l’acheminement des mails entre Postfix et Dovecot.
D’où nous pouvons dé-commenter la ligne !include conf.d/*.conf.
protocols = imap lmtp listen = *
# Assurez-vous que cette ligne est bien dé-commentée :
!include conf.d/*.conf
Effectivement nous allons modifier les six fichiers qui sont très important pour la configuration de Dovecot /etc/dovecot/conf.d.
- dovecot-sql.conf.ext
- 10-mail.conf
- 10-auth.conf
- 10-master.conf
- 10-ssl.conf
20-imap.conf
20-lmtp.conf - 15-mailboxes.conf
- 90-quota.conf
- dovecot-dict-sql.conf.ext
- quotas-warning.sh
En premier vous modifiez le fichier /etc/dovecot/dovecot-sql.conf.ext :
# Paramètres de connexion
driver = mysql
connect = host=127.0.0.1
dbname=postfix
user=postfix
password=MOT DE PASSE# Permet de définir l’algorithme de hachage.
# Pour plus d’information: http://wiki2.dovecot.org/Authentication/PasswordSchemes# /!\ ATTENTION : ne pas oublier de modifier le paramètre $CONF[‘encrypt’] de PostfixAdmin
default_pass_scheme = MD5-CRYPT
iterate_query = SELECT username AS user FROM mailbox
user_query = SELECT CONCAT(‘/var/mail/vmail/’,maildir) AS home, \
CONCAT(‘maildir:/var/mail/vmail/’,maildir) AS mail, \
5000 AS uid, 5000 AS gid, CONCAT(‘*:bytes=’,quota) AS quota_rule \
FROM mailbox WHERE username = ‘%u’ AND active = 1
# Requête de récupération du mot de passe du compte utilisateur
password_query = SELECT username AS user,password FROM mailbox \
WHERE username = ‘%u’ AND active=’1′
En outre vous devez modifier les permissions sur le répertoire /etc/dovecot :
chmod -R o-rwx /etc/dovecot
Vous devez modifier le fichier /etc/dovecot/conf.d/10-mail.conf où se trouve tous nos mails.
# /var/mail/vhosts/domain.com/utilisateur
mail_location = maildir:/var/mail/vhosts/%d/%n/mail
maildir_stat_dirs=yes
namespace inbox {
inbox = yes
}
mail_uid = 5000 ou vmail
mail_gid = 5000 ou vmail
first_valid_uid = 5000
last_valid_uid = 5000
mail_privileged_group = vmail
mail_plugin = quota
En deuxième lieu vous éditez le fichier /etc/dovecot/conf.d/10-auth.conf . Ainsi vous pouvez modifier les lignes suivantes :
auth_mechanisms = plain login
# décommenter cette ligne
!include auth-sql.conf.ext
De plus Dovecot nous interroge sur la manière que les utilisateurs se connectent :
- soit par la base de donnée
- où par local
De surcroît vous éditer le fichier /etc/dovecot/conf.d/10-master.conf pour activer le port 143 et 993 du protocole Imap.
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
service imap {
}
service lmtp {
# On autorise Postfix à transférer les emails dans le spooler de Dovecot via LMTP
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
service auth {
# On autorise Postfix à se connecter à Dovecot via LMTP
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
# On indique à Dovecot les permissions du conteneur local
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
user = dovecot
}
service auth-worker {
user = vmail
}
Activer le SSL/TLS dans /etc/dovecot/conf/10-ssl.conf
ssl = yes
ssl_cert = </etc/letsencrypt/live/mail.domaine.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.domaine.com/privkey.pem
ssl_dh = </etc/ssl/certs/dhparam.pem
ssl_cipher_list = ALL:!aNULL:!eNULL:!LOW:!MEDIUM:!EXP:!RC2:!RC4:!DES:!3DES:!MD5:!PSK:!SRP:!DSS:!AECDH:!ADH:@STRENGTH
ssl_prefer_server_ciphers = yes
Pour paramétrer le DH utiliser cette commande :Diffie-Hellman
Pour avoir plus d’information merci de lire https://linuxize.com/post/secure-nginx-with-let-s-encrypt-on-ubuntu-16-04/
Avtiver le plugin des quota /etc/dovecot/conf.d/20-imap.conf
mail_plugins = $mail_plugins imap_quota
}
/etc/dovecot/conf.d/20-lmtp.conf
postamaster_address = postmaster@domaine.com
mail_plugins = $mail_plugins
}
/etc/dovecot/conf.d/15-mailboxes.conf
namespace inbox {
# These mailboxes are widely used and could perhaps be created automatically:
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Trash {
special_use = \Trash
}
# For \Sent mailboxes there are two widely used names. We’ll mark both of
# them as \Sent. User typically deletes one of them if duplicates are created.
mailbox Sent {
special_use = \Sent
}
mailbox “Sent Messages” {
special_use = \Sent
}
Nous avons de type de quotas différent :
- l’ensemble du domaine
- chaque boîte utilisateur
Nous allons demander à Dovecote une limite de quota.
Afin qu’il exécute un script qui envoie un courrier à l’utilisateur lorsque le quota de l’utilisateur dépasse une limite spécifiée.
Pour ce faire, ouvrez le fichier /etc/dovecot/conf.d/90-quota.conf et modifiez-le comme suit :
plugin {
quota = dict:User quota::proxy::sqlquota
quota_rule = *:storage=5GB
quota_rule2 = Trash:storage=+100M
quota_grace = 10%%
quota_exceeded_message = Votre Quota dépassé, veuillez contacter votre administrateur système.
quota_warning = storage=100%% quota-warning 100 %u
quota_warning2 = storage=95%% quota-warning 95 %u
quota_warning3 = storage=90%% quota-warning 90 %u
quota_warning4 = storage=85%% quota-warning 85 %u
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
user = vmail
unix_listener quota-warning {
group = vmail
mode = 0660
user = vmail
}
}
dict {
sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
Comment Dovecot doit accéder au dictionnaire SQL des quotas.
Ouvrez le fichier /etc/dovecot/dovecot-dict-sql.conf.ext et éditez les lignes suivantes :
dbname=postfixadmin
user=postfix
password=postfix
…
map {
pattern = priv/quota/storage
table = quota2
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = quota2
username_field = username
value_field = messages
}
…
# map {
# pattern = shared/expire/$user/$mailbox
# table = expires
# value_field = expire_stamp
#
# fields {
# username = $user
# mailbox = $mailbox
# }
# }
Envoyer automatiquement une alerte de courrier électronique à l’utilisateur avec un script.
Si son quota dépasse une limite spécifiée :
#!/bin/sh
PERCENT=$1
USER=$2
cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o “plugin/quota=dict:User quota::noenforcing:proxy::sqlquota”
From: postmaster@domaine.com
Subject: Avertissement sur les quotas
Votre boîte aux lettres est maintenant $PERCENT% pleine.
EOF
Rendre le script exécutable :
Pour cette raison sous devons redémarrer Postfix ainsi que Dovecot pour la prise en compte des changements.
systemctl restart dovecot.service
Par conséquent votre serveur est configurer pour envoyer et recevoir des mails. Partant de ce fait, il nous reste à tester la configuration.
C’est pourquoi nous avons fait un article pour vérifier le serveur de mail.
En outre vous pouvez continuer avec le lien suivant : postfix installer configurer serveur de messagerie partie 7/8[/vc_column_text][/vc_column][/vc_row]
Rétroliens/Pings