« Le système d'exploitation GNU-Linux/Le serveur de mails Postfix » : différence entre les versions

Contenu supprimé Contenu ajouté
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 79 :
 
Le fichier de configuration principal de Postfix est <code>/etc/postfix/main.cf</code>. Copier le suivant en remplaçant <code>mondomaine.fr</code> par le vrai domaine du serveur :
<sourcesyntaxhighlight lang=bash>
mv /etc/postfix/main.cf /etc/postfix/main.oldcf # Archivage
> /etc/postfix/main.cf # Blanchiment
vim /etc/postfix/main.cf # Accès pour coller la configuration ci-dessous
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=bash>
# Message affiché à la connexion
smtpd_banner = $myhostname ESMTP
Ligne 138 :
# On force postfix à utiliser le protocole IPv4
inet_protocols = ipv4
</syntaxhighlight>
</source>
 
On peut visualiser la totalité des options possibles de Postfix et leurs valeurs par défaut via la commande '''postconf''' :
<sourcesyntaxhighlight lang=bash>
# postconf | more
2bounce_notice_recipient = postmaster
Ligne 151 :
address_verify_negative_expire_time = 3d
...
</syntaxhighlight>
</source>
 
En français ça donne : ''délivre en local les emails vers <code>mydestination</code> avec <code>mailbox_command</code>, sinon délivre-les sur Internet mais en refusant ceux qui ne viennent pas de <code>mynetworks</code> ou <code>relayhost</code> (s'ils sont vides on accepte rien, s'ils sont commentés on accepte tout, même de relayer des spams)''.
Ligne 216 :
vim /etc/aliases
Par exemple en y ajoutant les plus fréquents :
<sourcesyntaxhighlight lang=apache>
MAILER-DAEMON: root
postmaster: root
abuse: root
</syntaxhighlight>
</source>
Ainsi, quelqu'un qui voudra reporter un problème à abuse@mondomaine.fr écrira dans la boite de root, ce qui sera visible par une notification à chaque fois que ce dernier se connectera en SSH.
 
Ligne 235 :
=== procmail ===
Pour installer {{w|procmail}}<ref>{{lien web|langue=fr|url=http://www.linux-france.org/article/memo/procmail/node3.html|titre=Utilisation simple de procmail}}</ref><ref>{{lien web|langue=en|url=http://www.galtham.org/procmail.html|titre=A Quick, Practical Procmail Guide}}</ref> :
<sourcesyntaxhighlight lang=bash>
$ sudo apt-get install procmail
$ vim ~/.forward
Ligne 245 :
 
$ maildirmake ~/Maildir
</syntaxhighlight>
</source>
* En remplaçant ''user'' par l'utilisateur du processus.
* Sur Ubuntu il s'installe dans <code>/usr/bin/procmail</code>, mais d'autres distributions nécessitent d'adapter ce chemin ci-dessus.
Ligne 304 :
On modifie le fichier <code>/etc/postfix/main.cf</code>. On commente l'option '''mailbox_command''' (qui appelle procmail) et on rajoute l'option '''home_mailbox''' :
 
<sourcesyntaxhighlight lang=bash>
vim /etc/postfix/main.cf
# Commenter la ligne :
Ligne 310 :
# Puis pour utiliser le format Maildir, ajouter :
home_mailbox = Maildir/
</syntaxhighlight>
</source>
 
On relance postfix :
Ligne 316 :
 
Pour chaque utilisateur existant, il faut ensuite créer le répertoire ''Maildir''. On fait ceci à l'aide de la commande ''maildirmake'' fournie par ''dovecot-imapd'' ou ''courrier-imap'' :
<sourcesyntaxhighlight lang=bash>
$ cd # pour retourner dans mon home directory
$ maildirmake Maildir
Ligne 323 :
drwx------ 2 alex grpalex 4096 2008-02-13 13:58 new
drwx------ 2 alex grpalex 4096 2008-02-13 14:11 tmp
</syntaxhighlight>
</source>
 
Pour automatiser la création du répertoire '''Maildir''' pour les nouveaux utilisateurs, on exécute la commande '''maildirmake''' dans le répertoire '''/etc/postmaster'''. Ainsi tous les nouveaux utilisateurs auront automatiquement le répertoire '''Maildir''' dans leur home directory :
<sourcesyntaxhighlight lang=bash>
# cd /etc/postmaster
# maildirmake Maildir
</syntaxhighlight>
</source>
 
== Webmails ==
Ligne 373 :
{{w|Roundcube}} est un webmail qui fonctionne avec [[MySQL]], [[PostgreSQL]], {{w|SQLite}} ou {{w|MSSQL}}. Il est très ergonomique (glisser-déposer, effacement en masse avec Maj + clic puis Suppr), plus graphique mais plus lent et moins stable que SquirrelMail.
 
<sourcesyntaxhighlight lang=bash>
apt-get install roundcube roundcube-mysql
php5enmod mcrypt
/etc/init.d/apache2 restart
</syntaxhighlight>
</source>
 
Et voilà : http://localhost/roundcube
Ligne 396 :
== Sécurisation TLS ==
Tout d'abord, il faut [[Apache/HTTPS|générer une clé de cryptage asymétrique]], puis indiquer son chemin dans <code>main.cf</code> :
<sourcesyntaxhighlight lang=apache>
# Paramètres liés au chiffrement TLS
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
Ligne 405 :
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
</syntaxhighlight>
</source>
En cas d'erreur, on peut vérifier sa mise en place avec
openssl s_client -debug -starttls smtp -crlf -connect localhost:25
Ligne 452 :
tail -30 /var/log/mail.log
Retester en ouvrant le port SMTP du pare-feu :
<sourcesyntaxhighlight lang=bash>
iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
</syntaxhighlight>
</source>
Ou sinon en ouvrant tous les ports :
<sourcesyntaxhighlight lang=bash>
#!/bin/sh
echo "Flushing iptables rules..."
Ligne 469 :
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
</syntaxhighlight>
</source>
 
==== dsn=5.4.6, status=bounced (mail for mail.mondomaine.fr loops back to myself) ====
Ligne 523 :
 
Lorsqu'il redémarre, le syslog peut indiquer des erreurs de permissions sur la clé qu'il faut corriger :
<sourcesyntaxhighlight lang=bash>
/etc/init.d/opendkim restart
tail /var/log/syslog
chown opendkim /etc/ssl/private/dkim.key
chmod 700 /etc/ssl/private/dkim.key
</syntaxhighlight>
</source>
 
==== warning: cannot get RSA private key from file: nomdedomaine.fr.key disabling TLS support ====