Installer un serveur dédié Debian "Dedibox" #7

Dans le dernier billet consacré à Postfix pour Linux Debian, nous avons terminé de régler les quelques détails préalables à la configuration du serveur de mails.

Passons maintenant à la configuration !

5/ Configurer Postfix

Autant vous prévenir tout de suite, c’est encore une partie un peu chiante et longue. Postfix repose sur 7 fichiers de configuration qu’il va nous falloir créer avec les bons paramètres. C’est parti avec les 6 premiers :

# nano /etc/postfix/mysql-virtual_domains.cf

user = mail_admin password = Gz4Ri8Vt dbname = mail query = SELECT domain AS virtual FROM domains WHERE domain='%s' hosts = 127.0.0.1

# nano /etc/postfix/mysql-virtual_forwardings.cf

user = mail_admin password = Gz4Ri8Vt dbname = mail query = SELECT destination FROM forwardings WHERE source='%s' hosts = 127.0.0.1

# nano /etc/postfix/mysql-virtual_mailboxes.cf

user = mail_admin password = Gz4Ri8Vt dbname = mail query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s' hosts = 127.0.0.1

# nano /etc/postfix/mysql-virtual_email2email.cf

user = mail_admin password = Gz4Ri8Vt dbname = mail query = SELECT email FROM users WHERE email='%s' hosts = 127.0.0.1

# nano /etc/postfix/mysql-virtual_transports.cf

user = mail_admin password = Gz4Ri8Vt dbname = mail query = SELECT transport FROM transport WHERE domain='%s' hosts = 127.0.0.1

# nano /etc/postfix/mysql-virtual_mailbox_limit_maps.cf

user = mail_admin password = Gz4Ri8Vt dbname = mail query = SELECT quota FROM users WHERE email='%s' hosts = 127.0.0.1

NB : Gz4Ri8Vt est le mot de passe défini dans le dernier épisode

Changeons les permissions de ce groupe de fichiers :

# chmod o= /etc/postfix/mysql-virtual_*.cf # chgrp postfix /etc/postfix/mysql-virtual_*.cf

et créons un utilisateur et un group vmail avec le /home/vmail. C’est à cet endroit que les boîtes de vos utilisateurs seront stockées (Gaffe à la taille de votre /home)

# groupadd -g 5000 vmail # useradd -g vmail -u 5000 vmail -d /home/vmail -m

Bourrons maintenant le fichier de configuration globale :

# nano /etc/postfix/main.cf

postconf -e 'myhostname = sd-xxxx.dedibox.fr' postconf -e 'mydestination = sd-xxxx.dedibox.fr, localhost, localhost.localdomain' postconf -e 'mynetworks = 127.0.0.0/8' postconf -e 'virtual_alias_domains =' postconf -e 'virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf' postconf -e 'virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf' postconf -e 'virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf' postconf -e 'virtual_mailbox_base = /home/vmail' postconf -e 'virtual_uid_maps = static:5000' postconf -e 'virtual_gid_maps = static:5000' postconf -e 'smtpd_sasl_auth_enable = yes' postconf -e 'broken_sasl_auth_clients = yes' postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination' postconf -e 'smtpd_use_tls = yes' postconf -e 'smtpd_tls_cert_file = /etc/postfix/smtpd.cert' postconf -e 'smtpd_tls_key_file = /etc/postfix/smtpd.key' postconf -e 'transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf' postconf -e 'virtual_create_maildirsize = yes' postconf -e 'virtual_mailbox_extended = yes' postconf -e 'virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf' postconf -e 'virtual_mailbox_limit_override = yes' postconf -e 'virtual_maildir_limit_message = "The user you are trying to reach is over quota."' postconf -e 'virtual_overquota_bounce = yes' postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'

A ce stade, il n’aura pas échappé à votre sagacité l’utilisation de SSL. Il nous faut donc créer le certificat SSL utilisé par TLS et répondre aux questions :

# cd /etc/postfix # openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509 Enter your Country Name (e.g., "DE") : FR Enter your State or Province Name : France Enter your City : Paris Enter your Organization Name (e.g., the name of your company) : fourre-tout inc. Enter your Organizational Unit Name (e.g. "IT Department") : Enter the Fully Qualified Domain Name of the system (e.g. "server1.example.com") : sd-xxxx.dedibox.fr Enter your Email Address : farf@fourre-tout.com

Et concluez en changeant les permissions du fichier smtpd.key :

# chmod o= /etc/postfix/smtpd.key

C’est terminé pour l’instant. Ne croyez pas avoir un postfix opérationnel, il manque encore quelques bricoles. Nous nous attaquerons dans le prochain billet à la configuration de saslauthd (pour l’authentification SASL), à celle de Courier et à la modification du fichier aliases. Ca n’est qu’à ce stade que l’envoi de mails sera possible.

Pour conclure sur le (trop) long sujet Postfix, nous aborderons ensuite l’installation et la configuration d’un anti-virus et d’un filtre anti-spams.

Au terme de cette série, il en sera fini de ce tutoriel Debian. Pour autant, il pourrait rester quelques questions en suspens. Aussi, si vous souhaitez obtenir un complément d’information, je suis enclin à rallonger un peu la sauce, mais pas dans 10 ans. En conséquence, je vous saurais gré de m’envoyer vos propositions de billets, avant le 10 septembre, soit au travers des commentaires, soit en utilisant le formulaire de contact.

Giskette

Geekette coquette avec un chat et un gros défaut... mes parents : je m'appelle Gisèle

3 réponses

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


*