Postfix · 3 min read · Nov 18, 2025
Hébergement virtuel avec Postfix, partie un
Version 1.0
Auteur : Joe Topjian
Le support des domaines virtuels dans Postfix est en fait assez robuste. Il existe trois façons différentes d’héberger des domaines virtuels avec Postfix et elles sont toutes décrites ici. Nous allons examiner la troisième : des domaines séparés et des comptes non-unix.
Pourquoi celui-ci ? Parce qu’en fin de compte, cette option nous donne le plus de flexibilité. C’est un peu plus compliqué à configurer et à comprendre, mais cela en vaut la peine lorsque vous hébergez plusieurs domaines.
Notre objectif final est d’avoir un serveur de messagerie qui prend en charge la livraison de mails à plusieurs domaines. Chaque adresse e-mail sera authentique uniquement pour ce domaine. Par exemple, [email protected] et [email protected] sont deux comptes différents qui reçoivent chacun des mails différents.
Pour commencer, nous allons transformer tous les domaines en hôtes virtuels. Même si vous avez Postfix configuré avec un seul domaine, nous allons rendre ce domaine virtuel. Vous n’avez pas besoin de faire cela, mais je le fais parce que je pense que c’est plus organisé. Avoir Postfix hébergeant un vrai domaine et le reste virtuel signifie que vous devrez toujours configurer Postfix deux fois : une fois pour chaque type de domaine. Pour ce faire, nous allons changer notre ligne myhostname dans main.cf pour lire :
myhostname = localhost
Ensuite, nous allons ajouter les informations de domaine virtuel suivantes à main.cf (toutes seront expliquées après) :
virtual_mailbox_domains = /etc/postfix/vhosts.txt
virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps.txt
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
virtual_alias_maps = hash:/etc/postfix/valias.txt
Dans la première ligne, nous utilisons un fichier texte appelé vhosts.txt. Vous pouvez en fait nommer cela comme vous le souhaitez. À l’intérieur de ce fichier texte se trouvera une simple liste à une colonne de tous les domaines que vous hébergez. Par exemple :
domain1.com
domain2.com
virtual.org
La ligne suivante spécifie le répertoire de base où nous allons stocker tous nos mails. Encore une fois, vous pouvez choisir ce que vous voulez.
La troisième ligne pointe vers un fichier texte que j’ai appelé vmaps.txt. C’est un fichier texte à deux colonnes. La première colonne spécifie une adresse e-mail virtuelle. La deuxième colonne spécifie l’emplacement de la boîte aux lettres de cette personne. Tout comme avec l’hébergement de domaines réels, si vous spécifiez un / à la fin de l’emplacement, cela devient au format Maildir. Sinon, c’est mbox. J’ai spécifié hash car je transforme également vmaps.txt en un fichier hash en exécutant :
postmap vmaps.txt
Cela donne un fichier appelé vmaps.txt.db. Postfix est capable de rechercher des informations dans des hash plus rapidement que dans un fichier texte normal.
Le contenu de vmaps.txt ressemble à ceci :
[email protected] domain1.com/joe/
[email protected] domain2.com/joe/
[email protected] virtual.org/john/
Regardez la deuxième colonne. La valeur est ajoutée à notre ligne virtual_mailbox_base. Ainsi, le chemin absolu de la boîte aux lettres virtuelle devient, par exemple, /var/spool/vmail/domain1.com/joe/. N’oubliez pas de créer effectivement les répertoires domain1.com et joe. Étant donné que cette boîte aux lettres est au format maildir, nous aurons besoin de 3 sous-répertoires sous cette boîte aux lettres : new, cur, tmp. Il existe plusieurs scripts pour faire cela, mais fondamentalement, cela fonctionne très bien :
mkdir new cur tmp
chmod 700 new cur tmp
Les deux lignes suivantes définissent un compte que nous allons configurer et qui aura la permission d’accéder aux boîtes aux lettres. Oui, un compte aura la capacité de lire tous les e-mails virtuels. Oui, cela peut être considéré comme un problème de sécurité. Veuillez faire de votre mieux pour vous assurer que personne ne peut devenir cet utilisateur. Nous appellerons le compte “virtuel”. Ajoutez-le de la manière que vous souhaitez au système (par exemple, useradd) et notez son uid et gid.
La ligne finale spécifie un fichier texte où nous pouvons placer des alias pour les comptes virtuels. Le contenu ressemble à ceci :
[email protected] [email protected]
Enfin, vous devrez donner la propriété des boîtes aux lettres à l’utilisateur virtuel. Exécuter ceci s’en occupera :
chown -R virtual:virtual /var/spool/vmail
Et c’est tout. Il suffit d’exécuter un “postfix reload” et vous êtes prêt. Bien sûr, maintenant nous avons besoin d’un moyen de récupérer réellement l’e-mail. Je ferai cela dans la Partie Deux.
Partie Deux :
https://www.howtoforge.com/linux_postfix_virtual_hosting_2
Emplacement original de ce document :
http://adminspotting.net/howtos/postfixvirtual.html
| |
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.