Suffixe est un MTA gratuit et open source (Mail Transfer Agent) utilisé pour le routage ou la livraison des e-mails sur un système Linux. Dans ce guide, vous apprendrez comment installer et configurer Postfix sur CentOS 8.
Configuration de l'atelier :
- SE : Serveur CentOS 8
- Adresse IP : 192.168.1.13
- Nom d'hôte : server1.crazytechgeek.info (assurez-vous que le nom de domaine pointe vers l'adresse IP du serveur)
Étape 1) Mettre à jour le système
La première étape consiste à s'assurer que les packages du système sont à jour. Pour ce faire, mettez à jour le système comme suit :
# dnf update
Avant de poursuivre, assurez-vous également qu'aucun autre MTA comme Sendmail existent car cela provoquera un conflit avec la configuration de Postfix. Pour supprimer Sendmail, par exemple, exécutez la commande :
# dnf remove sendmail
Étape 2) Définir le nom d'hôte et mettre à jour le fichier /etc/hosts
Utilisez la commande hostnamectl ci-dessous pour définir le nom d'hôte sur votre système,
# hostnamectl set-hostname server1.crazytechgeek.info # exec bash
De plus, vous devez ajouter le nom d'hôte et les entrées IP du système dans le fichier /etc/hosts
# vim /etc/hosts 192.168.1.13 server1.crazytechgeek.info
Enregistrez et quittez le fichier.
Lire aussi : Comment configurer le serveur DNS (liaison) sur CentOS 8/RHEL8
Étape 3) Installer le serveur de messagerie Postfix
Après avoir vérifié qu'aucun autre MTA n'est en cours d'exécution sur le système, installez Postfix en exécutant la commande :
# dnf install postfix
Étape 4) Démarrer et activer le service Postfix
Une fois l'installation de Postfix réussie, démarrez et activez le service Postfix en exécutant :
# systemctl start postfix # systemctl enable postfix
Pour vérifier l'état de Postfix, exécutez la commande systemctl suivante
# systemctl status postfix
Super, nous avons vérifié que Postfix est opérationnel. Ensuite, nous allons configurer Postfix pour envoyer des emails localement à notre serveur.
Étape 5) Installer le client de messagerie mailx
Avant de configurer le serveur Postfix, nous devons installer la fonctionnalité mailx. Pour installer mailx, exécutez la commande :
# dnf install mailx
Étape 6) Configurer le serveur de messagerie Postfix
Le fichier de configuration de Postfix se trouve dans /etc/postfix/main.cf . Nous devons apporter quelques modifications au fichier de configuration, alors ouvrez-le à l'aide de votre éditeur de texte préféré.
# vi /etc/postfix/main.cf
Modifiez les lignes suivantes :
myhostname = server1.crazytechgeek.info mydomain = crazytechgeek.info myorigin = $mydomain ## Uncomment and Set inet_interfaces to all ## inet_interfaces = all ## Change to all ## inet_protocols = all ## Comment ## #mydestination = $myhostname, localhost.$mydomain, localhost ##- Uncomment ## mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ## Uncomment and add IP range ## mynetworks = 192.168.1.0/24, 127.0.0.0/8 ## Uncomment ## home_mailbox = Maildir/
Une fois cela fait, enregistrez et quittez le fichier de configuration. Redémarrez le service postfix pour que les modifications prennent effet
# systemctl restart postfix
Étape 7) Tester le serveur de messagerie Postfix
Testez si notre configuration fonctionne, commencez par créer un utilisateur test
# useradd postfixuser # passwd postfixuser
Ensuite, exécutez la commande ci-dessous pour envoyer un e-mail depuis pkumar utilisateur local à un autre utilisateur 'postfixuser ‘
# telnet localhost smtp or # telnet localhost 25
Si le service telnet n'est pas installé, vous pouvez l'installer à l'aide de la commande :
# dnf install telnet -y
Lorsque vous exécutez la commande comme indiqué précédemment, vous devriez obtenir la sortie comme indiqué
[[email protected] ~]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 server1.crazytechgeek.info ESMTP Postfix
Ci-dessus, confirmez que la connectivité au serveur de messagerie postfix fonctionne correctement. Tapez ensuite la commande :
# ehlo localhost
La sortie ressemblera à ceci
250-server1.crazytechgeek.info 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 SMTPUTF8
Ensuite, exécutez les commandes surlignées en orange, comme "mail from", "rcpt to", data et enfin tapez quit,
mail from:<pkumar> 250 2.1.0 Ok rcpt to:<postfixuser> 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> Hello, Welcome to my mailserver (Postfix) . 250 2.0.0 Ok: queued as B56BF1189BEC quit 221 2.0.0 Bye Connection closed by foreign host
Terminez la commande telnet pour envoyer un e-mail à partir de l'utilisateur local "pkumar ” à un autre utilisateur local “postfixuser ” serait quelque chose comme ci-dessous
Si tout s'est déroulé comme prévu, vous devriez pouvoir voir l'e-mail envoyé dans le répertoire personnel du nouvel utilisateur.
# ls /home/postfixuser/Maildir/new 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info #
Pour lire l'e-mail, utilisez simplement la commande cat comme suit :
# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
Journaux du serveur de messagerie Postfix
Les journaux de messagerie du serveur de messagerie Postfix sont stockés dans le fichier "/var/log/maillog ", utilisez la commande ci-dessous pour afficher les journaux en direct,
# tail -f /var/log/maillog
Sécuriser le serveur de messagerie Postfix
Il est toujours recommandé de sécuriser la communication entre les clients et le serveur postfix, cela peut être réalisé à l'aide de certificats SSL, ces certificats peuvent provenir d'une autorité de confiance ou de certificats auto-signés. Dans ce tutoriel, nous allons générer un certificat auto-signé pour postfix en utilisant openssl commande,
Je suppose que openssl est déjà installé sur votre système, s'il n'est pas installé, utilisez la commande dnf suivante,
# dnf install openssl -y
Générez une clé privée et une CSR (demande de signature de certificat) à l'aide de la commande openssl ci-dessous,
# openssl req -nodes -newkey rsa:2048 -keyout mail.key -out mail.csr
Générez maintenant un certificat auto-signé à l'aide de la commande openssl suivante,
# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crt Signature ok subject=C = IN, ST = New Delhi, L = New Delhi, O = IT, OU = IT, CN = server1.crazytechgeek.info, emailAddress = [email protected] Getting Private key #
Copiez maintenant la clé privée et le fichier de certificat dans le répertoire /etc/postfix
# cp mail.key mail.crt /etc/postfix
Mettre à jour le chemin de la clé privée et du fichier de certificat dans le fichier de configuration de postfix,
# vi /etc/postfix/main.cf ……… smtpd_use_tls = yes smtpd_tls_cert_file = /etc/postfix/mail.crt smtpd_tls_key_file = /etc/postfix/mail.key smtpd_tls_security_level = may ………
Redémarrez le service postfix pour apporter les modifications ci-dessus à l'effet.
# systemctl restart postfix
Essayons d'envoyer des e-mails au domaine local interne et au domaine externe à l'aide du client mailx.
Envoi d'un e-mail interne local de l'utilisateur pkumar à l'utilisateur postfix
# echo "test email" | mailx -s "Test email from Postfix MailServer" -r [email protected] [email protected]
Vérifiez et lisez l'e-mail en utilisant ce qui suit,
# cd /home/postfixuser/Maildir/new/ # ll total 8 -rw-------. 1 postfixuser postfixuser 476 Nov 12 17:34 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info -rw-------. 1 postfixuser postfixuser 612 Nov 13 02:40 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info # cat 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info
Envoi d'e-mails de postfixuser vers un domaine externe ([email protected])
# echo "External Test email" | mailx -s "Postfix MailServer" -r [email protected] [email protected]
Remarque : Si votre IP n'est nulle part sur la liste noire, votre e-mail vers un domaine externe sera livré, sinon il sera renvoyé en disant que l'IP est sur la liste noire dans telle ou telle base de données spamhaus.
Vérifiez la file d'attente des e-mails de Postfix
Utilisez la commande mailq pour lister les mails qui sont en file d'attente.
# mailq Mail queue is empty #
Et c'est tout! Notre configuration Postfix fonctionne ! C'est tout pour le moment. Nous espérons que vous avez trouvé ce didacticiel instructif et que vous pourrez confortablement configurer votre serveur Postfix local.
Lire aussi :Comment installer et configurer Samba sur CentOS 8