Serveur de messagerie · 7 min read · Nov 13, 2025

Comment configurer un serveur de messagerie ISP avec des utilisateurs/domaines virtuels sur Centos 5.0 en utilisant Postfix, Dovecot, MySQL, phpMyAdmin, TLS/SSL - Page 3

Tester et vérifier votre configuration :

Vérifier le support MySQL de Postfix

postconf -m
btree  
cidr  
environ  
hash  
ldap  
mysql  
is  
proxy  
regexp  
static  
unix

Si MySQL n’apparaît pas, vérifiez votre installation et recompilez Postfix à nouveau.

Vérifier le support SMTP AUTH de Postfix

telnet mail.example.co.tz 25

(S : = serveur, C : = client) :

S: 220 mail.example.co.tz ESMTP Postfix  
C: EHLO example.co.tz  
S: 250-mail.example.co.tz  
S: 250-PIPELINING  
S: 250-SIZE 10240000  
S: 250-VRFY  
S: 250-ETRN  
S: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-XVERP  
S: 250 8BITMIME  
C: quit

Remarquez les deux nouvelles lignes ?

250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI

Ce sont les lignes que Postfix émet lorsqu’il propose l’utilisation de SMTP AUTH.

Vérifier le support TLS de Postfix

telnet mail.example.co.tz 25

Cette section s’applique à la fois pour les installations NON-RPM et RPM.

Dans notre HOWTO, le démon smtpd se trouve dans /usr/libexec/postfix/. Donc nous faisons ce qui suit à la ligne de commande :

ldd /usr/libexec/postfix/smtpd
libsasl.so.7 => /usr/lib/libsasl.so.7 (0x4001e000)  
libssl.so.2 => /lib/libssl.so.2 (0x4002a000)  
libcrypto.so.2 => /lib/libcrypto.so.2 (0x40057000)  
libdb-3.2.so => /lib/libdb-3.2.so (0x4011a000)  
libnsl.so.1 => /lib/libnsl.so.1 (0x401c1000)  
libresolv.so.2 => /lib/libresolv.so.2 (0x401d7000)  
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x401ea000)  
libc.so.6 => /lib/i686/libc.so.6 (0x401f1000)  
libdl.so.2 => /lib/libdl.so.2 (0x4032c000)  
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40330000)  
libpam.so.0 => /lib/libpam.so.0 (0x4035d000)  
libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x40365000)  
libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x40378000)  
libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x403d1000)  
libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x403e2000)  
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Le démon smtpd prend en charge TLS. Si vous ne trouvez pas le libssl dans la sortie, vous avez soit construit Postfix avec des bibliothèques statiques, soit la construction de Postfix avec TLS n’a pas fonctionné. Dans ce cas, vous devrez reconfigurer votre SOURCE Postfix, recompiler ou reconstruire, sauvegarder les données dans /etc/postfix/ et réinstaller les binaires Postfix nouvellement compilés.

Ensuite, nous allons vérifier si nous pouvons initier une session TLS. Nous nous connectons au serveur et vérifions si la chaîne STARTTLS apparaît lorsque Postfix annonce ses capacités. Ensuite, nous tapons simplement STARTTLS et attendons que Postfix réponde qu’il est prêt à commencer TLS. Voici à quoi devrait ressembler notre session telnet réussie :

telnet mail.example.co.tz 25
S: 220 mail.example.co.tz ESMTP Postfix (1.1.5)  
C: EHLO example.co.tz  
S: 250-mail.example.co.tz  
S: 250-PIPELINING  
S: 250-SIZE 10240000  
S: 250-VRFY  
S: 250-ETRN  
S: 250-STARTTLS - -Support TLS  
S: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-XVERP  
S: 250 8BITMIME  
C: STARTTLS  
S: 220 Prêt à commencer TLS

Envoyer un mail de test depuis la machine locale

Tout d’abord, nous allons vérifier que nous sommes capables d’envoyer un mail sur localhost à l’utilisateur test. C’est le cas de test le plus simple que nous ayons. Si nous réussissons, nous passerons à l’envoi de mails à test depuis un client de messagerie qui ne fonctionne pas sur notre serveur Postfix.

mail [email protected]
Subject: Test from localhost  
Test #1  
.  
Cc:  
[[email protected]]#

Vérifier la livraison du mail de test sur la machine locale

Telnet à pop3 pour voir si Postfix a livré votre mail :

telnet example.co.tz pop3
Trying 192.168.49.81...  
Connected to mail.example.co.tz (192.168.49.81).  
Escape character is '^]'.  
+OK Dovecot ready.  
user [email protected]  
+OK  
pass mwamaLis  
+OK Logged in.  
list  
+OK 1 messages:  
1 429  
.  
retr 1  
+OK 429 octets  
Return-Path: <[email protected]>  
X-Original-To: [email protected]  
Delivered-To: [email protected]  
Received: by mail.example.co.tz (Postfix, from userid 500)  
id 74408C0AC6; Thu, 19 Jun 2008 10:47:52 +0300 (EAT)  
To: [email protected]  
Subject: Test from local  
Message-Id: <[email protected]>  
Date: Thu, 19 Jun 2008 10:47:52 +0300 (EAT)  
From: [email protected] (User)
Test #1  
.  
]^  
[[email protected]]$

Voir l’Annexe B pour d’autres cas de test.

Enfin, ouvrez le navigateur et allez à http://mail.example.co.tz et entrez le nom d’utilisateur et le mot de passe, puis cliquez sur Connexion. Et amusez-vous avec votre serveur de messagerie.

Installation et configuration de phpMyAdmin :

PhpMyAdmin est un utilitaire écrit en PHP qui est destiné à aider à l’administration d’un serveur MySQL, soit localement, soit sur le WWW. Il est maintenu grâce au travail acharné et à la dévotion des personnes du projet phpMyAdmin, et est actuellement disponible en 47 langues différentes.

Installation :

Téléchargez et extrayez le package phpMyAdmin. Déplaçons le fichier à l’endroit où nous en avons besoin et changeons le nom pour quelque chose de plus facile ;

mv phpMyAdmin-2.11.6-english /var/www/html/phpadmin

Changez de répertoire vers le répertoire racine de phpadmin :

cd phpadmin/

Maintenant, ce que nous devons faire est de renommer et d’éditer le fichier config.sample.inc.php afin qu’il fonctionne avec votre configuration.

cp -p config.sample.inc.php config.inc.php

Donc, en utilisant vi, ou quel que soit votre éditeur préféré, ouvrez config.inc.php, trouvez les lignes suivantes et éditez-les comme approprié pour votre configuration ;

vi config.inc.php

Éditez les lignes suivantes :

Entrez cette ligne avec un mot ou une phrase de mot de passe ; exemple :

$cfg['blowfish_secret'] = 'bongo';

$cfg['Servers'][$i]['controluser'] = 'pma'; --Nom d'utilisateur MySQL
$cfg['Servers'][$i]['controlpass'] = 'pmapass'; --Mot de passe MySQL

Enregistrez et quittez le fichier.

Créez un alias virtuel dans /etc/httpd/conf/httpd.conf en ajoutant les lignes suivantes.

vi /etc/httpd/conf/httpd.conf
Alias /phpadmin /var/www/html/phpadmin

  Order allow,deny
  Allow from all

Après cela, ouvrez un navigateur et entrez http://127.0.0.1/phpadmin dans la barre d’adresse. Entrez le nom d’utilisateur et le mot de passe et commencez à l’utiliser. Profitez de phpMyAdmin pour créer des utilisateurs, des domaines et des alias.

Annexe A :

Options du compilateur :

Les options dont Postfix a besoin dans son Makefile sont définies dans des variables d’environnement telles que CCARGS.
CCARGS : Fournit des arguments supplémentaires au compilateur. Si votre compilateur permet des options spéciales ou si vos fichiers de support ne sont pas situés dans des répertoires par défaut, indiquez ces options avec cette variable. L’emplacement standard pour les fichiers d’en-tête est le répertoire /usr/include. Si vos fichiers d’en-tête sont situés ailleurs, vous devez indiquer au compilateur où les chercher. L’option -I du compilateur est utilisée pour spécifier des répertoires supplémentaires où le compilateur pourrait trouver des fichiers d’en-tête.

CCARGS='-I/usr/local/include/'

Utilisez des options -I supplémentaires pour chaque répertoire supplémentaire que le compilateur doit rechercher.

Postfix utilise la compilation conditionnelle lors de sa construction, en fonction des bibliothèques ou d’autres ressources disponibles sur votre système. Il définit certains macros en fonction de ce qu’il découvre sur votre système ou en fonction des options que vous avez sélectionnées. L’option -D fournit un moyen de définir des macros au moment où vous compilez Postfix. Les packages complémentaires pour Postfix nécessitent que vous définissiez une macro particulière pour indiquer à Postfix de l’inclure lors de la construction.

Par exemple, si vous souhaitez inclure le support pour MySQL, vous définissez la macro HAS_MYSQL :

CCARGS='-DHAS_MYSQL'

Les options de l’éditeur de liens sont définies dans la variable AUXLIBS. Après que Postfix a compilé les fichiers objets, il les lie ensemble avec les bibliothèques requises en fichiers exécutables. L’emplacement standard pour les bibliothèques système est /usr/lib. Pour indiquer à l’éditeur de liens de rechercher des répertoires supplémentaires pour les bibliothèques, utilisez l’option -L :

AUXLIBS='-L/usr/local/lib'

Vous devez également indiquer à l’éditeur de liens quelles bibliothèques spécifiques lier. L’option -l est utilisée pour nommer des bibliothèques spécifiques. Les fichiers de bibliothèque doivent être dans un emplacement standard ou un répertoire indiqué avec l’option -L. Les fichiers d’archive de bibliothèque sont nommés en commençant par lib, suivi de leur nom, suivi de l’extension, qui est normalement .a pour les bibliothèques statiques et .so ou .sl pour les objets partagés ou les bibliothèques partagées. Lorsque vous utilisez l’option -l, vous omettez le lib initial et l’extension du fichier de bibliothèque. Pour lier avec la bibliothèque cliente MySQL par exemple, où le fichier de bibliothèque s’appelle libmysqlclient.a, l’option -l est spécifiée comme suit :

AUXLIBS='-L/usr/local/lib -lmysqlclient

Annexe B

Livraison de mail à un utilisateur distant (Relais)

Nous telnet mail.example.co.tz 25. Depuis une machine distante, telnet à 192.168.49.81 port 25. Lors d’une connexion réussie, Postfix se lancera et nous saluera avec sa bannière smtpd. (Si vous échouez à vous connecter, vérifiez vos règles de tables de pare-feu ou si Postfix est en cours d’exécution.) Une fois connecté, exécutez les commandes suivantes.

(S : = serveur, C : = client) :

S: 220 mail.example.co.tz ESMTP Postfix
C: EHLO example.co.tz
S: 250-mail.example.co.tz
S: 250-PIPELINING
S: 250-SIZE 10240000
S: 250-VRFY
S: 250-ETRN
S: 250-XVERP
S: 250 8BITMIME
C: mail from:< [email protected] >
S: 250 Ok
C: rcpt to:< [email protected] >
S: 250 Ok
C: data
S: 354 End data with .
C: Testmail relaying mail from [email protected] to [email protected]
C: Test #3
C: .
S: 250 Ok: queued as 84BA64078A
C: quit
S: 221 Bye

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.