Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
serveur_mail_avec_postfix_et_courier-imap_bis [Le 21/07/2009, 13:50] 213.95.41.13 |
serveur_mail_avec_postfix_et_courier-imap_bis [Le 02/03/2023, 00:39] (Version actuelle) sefran Ajout tag |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>dapper serveur réseau mail postfix imap courrier}} | + | {{tag>serveur réseau courriel postfix courrier mda VÉTUSTE}} |
---- | ---- | ||
- | |||
====== Installer un serveur IMAP ====== | ====== Installer un serveur IMAP ====== | ||
- | Logiciels principaux : Postfix - procmail - courier-imap | + | * Logiciels principaux : [[Postfix]] - [[Procmail]] - [[Courier-IMAP]] |
- | Logiciels secondaires : clamav (antivirus) - spamassassin (anti-spam) - trashscan (scanner de pourriel). | + | * Logiciels secondaires : [[ClamAV]] (antivirus) - [[SpamAssassin]] (anti-spam) - [[TrashScan]] (scanner de pourriel). |
- | Cette procédure a été réalisée à partir d'informations récupérées sur Internet et a été déployée sur une architecture réelle basée sur une ubuntu 6.06.1 (dapper drake). Ce serveur permet d'envoyer et de recevoir du courrier sur son propre serveur, à sa propre adresse du type //monNom@monDomaine.com//. Pour le protocole choisi, ça sera IMAP, plus recommandé que POP3 pour la réception, et SMTP pour l'envoi et le transfert. | + | Cette procédure a été réalisée à partir d'informations récupérées sur Internet et a été déployée sur une architecture réelle basée sur une [[:dapper|Ubuntu 6.06 LTS]]. Ce serveur permet d'envoyer et de recevoir du courrier sur son propre serveur, à sa propre adresse du type //monNom@monDomaine.com//. Pour le protocole choisi, ça sera IMAP, plus recommandé que POP3 pour la réception, et SMTP pour l'envoi et le transfert. |
Durant tout le tutoriel, nous supposerons que votre nom sera **monNom**, votre serveur **monServeur**, votre domaine **monDomaine**, votre fournisseur d'accès **monFAI**, et votre adresse **monNom@monDomaine.com**. On suppose que votre adresse IP est **monIP**. | Durant tout le tutoriel, nous supposerons que votre nom sera **monNom**, votre serveur **monServeur**, votre domaine **monDomaine**, votre fournisseur d'accès **monFAI**, et votre adresse **monNom@monDomaine.com**. On suppose que votre adresse IP est **monIP**. | ||
- | |||
Ligne 19: | Ligne 17: | ||
//courier-imap// fournit le protocole IMAP et sera utilisé pour la réception du courrier. Les messages reçus par courier-imap seront déposés tel quel sur le serveur. | //courier-imap// fournit le protocole IMAP et sera utilisé pour la réception du courrier. Les messages reçus par courier-imap seront déposés tel quel sur le serveur. | ||
- | Postfix va regarder ces messages et va les transférer dans le répertoire de courier IMAP de l'utilisateur. | + | Postfix va regarder ces messages et va les transférer dans le répertoire de courrier IMAP de l'utilisateur. |
Il va aussi faire appel à Procmail pour vérifier le message avant de le distribuer. | Il va aussi faire appel à Procmail pour vérifier le message avant de le distribuer. | ||
Ligne 27: | Ligne 25: | ||
Le programme Mail vérifie les messages et alerte l'utilisateur lors d'un nouveau message. | Le programme Mail vérifie les messages et alerte l'utilisateur lors d'un nouveau message. | ||
- | Un logiciel comme Thunderbird ou Evolution permet de les lire et de les écrire. | + | Un logiciel comme [[Thunderbird]] ou [[Evolution]] permet de les lire et de les écrire. |
Postfix assure aussi l'envoi des messages, à travers le service SMTP du fournisseur d'accès internet. | Postfix assure aussi l'envoi des messages, à travers le service SMTP du fournisseur d'accès internet. | ||
- | Il n'est pas nécessaire de configurer fetchmail pour la distribution du courier, celle-ci étant assurée par Postfix. | + | Il n'est pas nécessaire de configurer [[fetchmail]] pour la distribution du courrier, celle-ci étant assurée par Postfix. |
===== Installation ===== | ===== Installation ===== | ||
- | |||
- | |||
Ligne 39: | Ligne 35: | ||
[[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **courier-imap postfix procmail clamav spamassassin**. | [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **courier-imap postfix procmail clamav spamassassin**. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
==== Programmes secondaires ==== | ==== Programmes secondaires ==== | ||
- | On télécharge le programme TrashScan depuis cette adresse : | + | On télécharge le programme TrashScan depuis cette adresse : http://schlayer.org/trashscan-0.12.tar.gz |
- | http://schlayer.org/trashscan-0.12.tar.gz | + | |
- | TrashScan est un petit script bien utile qui va permet de scanner les fichiers mail à l'aide de l'antivirus clamav et d'autres utilitaires. Une fois le fichier téléchargé, on le décompresse | + | TrashScan est un petit script bien utile qui va permet de scanner les fichiers mail à l'aide de l'antivirus clamav et d'autres utilitaires. Une fois le fichier téléchargé, on le décompresse |
- | <code>tar -zxvf trashscan-<version>.tar.gz</code> | + | tar -zxvf trashscan-<version>.tar.gz |
- | Ensuite, dans le répertoires //trashscan-<version>//, on édite l'entête du fichier trashscan selon ses préférences, puis on copie le fichier dans le répertoire **/usr/local/bin/**. | + | Ensuite, dans le répertoires //trashscan-<version>//, on modifie l'entête du fichier trashscan selon ses préférences, puis on copie le fichier dans le répertoire **/usr/local/bin/**. |
Pour plus de renseignements, lisez le fichier README présent dans le répertoire de TrashScan. | Pour plus de renseignements, lisez le fichier README présent dans le répertoire de TrashScan. | ||
Ligne 71: | Ligne 54: | ||
Pour créer cet utilisateur, on exécute la commande suivante : | Pour créer cet utilisateur, on exécute la commande suivante : | ||
- | <code> | + | useradd -g 100 -d /home/MonNom MonNom |
- | useradd -g 100 -d /home/MonNom MonNom | + | passwd MonNom |
- | passwd MonNom | + | mkdir /home/MonNom |
- | mkdir /home/MonNom | + | |
- | </code> | + | |
===== Configuration ===== | ===== Configuration ===== | ||
- | |||
- | |||
- | |||
==== courier-imap ==== | ==== courier-imap ==== | ||
Ligne 86: | Ligne 64: | ||
Il n'y a rien à configurer pour courier-imap. Il faut juste s'assurer qu'il est lancé, par la commande : | Il n'y a rien à configurer pour courier-imap. Il faut juste s'assurer qu'il est lancé, par la commande : | ||
- | <code>sudo /etc/init.d/courier-imap start</code> | + | sudo /etc/init.d/courier-imap start |
Par contre, il faut créer les dossiers de courrier IMAP de l'utilisateur. | Par contre, il faut créer les dossiers de courrier IMAP de l'utilisateur. | ||
Pour se faire, dans le répertoire de celui-ci on exécute les commandes : | Pour se faire, dans le répertoire de celui-ci on exécute les commandes : | ||
- | <code>sudo maildirmake Maildir | + | <code> |
- | sudo maildirmake -f Sent Maildir | + | maildirmake Maildir |
- | sudo maildirmake -f Queue Maildir | + | maildirmake -f Sent Maildir |
- | sudo maildirmake -f junkmail Maildir | + | maildirmake -f Queue Maildir |
- | sudo maildirmake -f virus Maildir | + | maildirmake -f junkmail Maildir |
- | sudo maildirmake -f Drafts Maildir | + | maildirmake -f virus Maildir |
- | sudo maildirmake -f Trash Maildir | + | maildirmake -f Drafts Maildir |
+ | maildirmake -f Trash Maildir | ||
</code> | </code> | ||
+ | <note warning>Si l'on utilise "sudo maildirmake ...", les répertoires sont propriété de root et l'on ne peut pas y accéder en IMAP (problème de droits d'accès).</note> | ||
Cette opération créera un répertoire spécial de courrier nommé Maildir, dans lequel doit se trouver les répertoires cachés //.Sent .Queue .junkmail .virus .Drafts et .Trash//. | Cette opération créera un répertoire spécial de courrier nommé Maildir, dans lequel doit se trouver les répertoires cachés //.Sent .Queue .junkmail .virus .Drafts et .Trash//. | ||
- | + | <note tip>Seul le dossier principal est nécessaire pour démarrer, car les autres seront créés, si besoin, par le client de messagerie tel que [[ThunderBird]]</note> | |
==== Postfix ==== | ==== Postfix ==== | ||
+ | <note tip>Voir aussi la page [[Postfix]].</note> | ||
+ | [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/postfix/main.cf**. | ||
- | [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/postfix/main.cf** | + | Tous les paramètres ne sont pas obligatoires, la liste des paramètres possibles étant assez longue, et Postfix disposant par défaut d'une bonne configuration. |
- | + | ||
- | Tout les paramètres ne sont pas obligatoires, la liste des paramètres possibles étant assez longue, et Postfix disposant par défaut d'une bonne configuration. | + | |
En revanche, on doit le configurer un minimum. Le fichier devra ressembler à ceci. | En revanche, on doit le configurer un minimum. Le fichier devra ressembler à ceci. | ||
- | <file>append_dot_mydomain = no | + | <file> |
+ | append_dot_mydomain = no | ||
biff = no | biff = no | ||
command_directory = /usr/sbin | command_directory = /usr/sbin | ||
Ligne 141: | Ligne 121: | ||
</file> | </file> | ||
- | //myhostname// est le nom d'hôte du serveur, il doit être complet, avec le nom de domaine. | + | Où : |
+ | * //myhostname// est le nom d'hôte du serveur, il doit être complet, avec le nom de domaine. | ||
+ | * //mydomain// est le nom de domaine, qui doit correspondre au nom complet du serveur défini. | ||
+ | * //mydestination// correspond aux adresses qui seront gérées par postfix. Pour éviter les boucles (adresses renvoyées à elles-même sans arrêts), on doit ajouter les paramètres indiqués. | ||
+ | * //mynetworks// est la plage d'adresse du réseau, ou plus exactement, l'adresse du réseau. Celle-ci n'est pas l'adresse IP du serveur, mais l'adresse IP du réseau. Par exemple, si l'adresse IP du serveur est de 192.168.0.100, et que son masque est de 255.255.255.0 (24 bits), son adresse réseau (monIpReseau) est 192.168.0.0. | ||
+ | * //myorigine// renseigne sur le nom de domaine d'origine. Dans le fichier /etc/mailname doit se trouver votre nom de domaine. | ||
+ | * //relayhost// est la passerelle qui va relayer les messages sortant, les courriers envoyés. Si vous avez un fournisseur internet, celle-ci peut-être smtp.<domaine du fournisseur> | ||
+ | * //home_mailbox// est le répertoire de courrier de l'utilisateur. Comme on utilise courier-imap, celui-ci doit être Maildir suivi de / | ||
+ | * //mailbox_command// est la commande que postfix doit effectuer pour l'acheminement des messages. Ici on fait appel à procmail, qui va scanner les messages avant de les délivrer. | ||
- | //mydomain// est le nom de domaine, qui doit correspondre au nom complet du serveur défini. | + | On sauvegarde et l'on recharge postfix avec la nouvelle configuration par la commande : |
- | //mydestination// correspond aux adresses qui seront gérées par postfix. Pour éviter les boucles (adresses renvoyées à elles-même sans arrêts), on doit ajouter les paramètres indiqués. | + | sudo /etc/init.d/postfix restart |
- | //mynetworks// est la plage d'adresse du réseau, ou plus exactement, l'adresse du réseau. Celle-ci n'est pas l'adresse IP du serveur, mais l'adresse IP du réseau. Par exemple, si l'adresse IP du serveur est de 192.168.0.100, et que son masque est de 255.255.255.0 (24 bits), son adresse réseau (monIpReseau) est 192.168.0.0. | ||
- | //myorigine// renseigne sur le nom de domaine d'origine. Dans le fichier /etc/mailname doit se trouver votre nom de domaine. | + | ==== Procmail ==== |
- | //relayhost// est la passerelle qui va relayer les messages sortant, les courriers envoyés. Si vous avez un fournisseur internet, celle-ci peut-être smtp.<domaine du fournisseur> | + | Procmail va être lancé par postfix à chaque nouveau message. Son fichier de configuration doit se trouver dans le répertoire de l'utilisateur et est nommé « .procmailrc ». |
- | + | ||
- | //home_mailbox// est le répertoire de courrier de l'utilisateur. Comme on utilise courier-imap, celui-ci doit être Maildir suivi de / | + | |
- | + | ||
- | //mailbox_command// est la commande que postfix doit effectuer pour l'acheminement des messages. Ici on fait appel à procmail, qui va scanner les messages avant de les délivrer. | + | |
- | + | ||
- | On sauvegarde et l'on recharge postfix avec la nouvelle configuration par la commande : | + | |
- | + | ||
- | <code>sudo /etc/init.d/postfix restart</code> | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ==== Procmail ==== | + | |
- | Procmail va être lancé par postfix à chaque nouveau message. Son fichier de configuration doit se trouver dans le répertoire de l'utilisateur et est nommé .procmailrc | + | [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/home/monNom/.procmailrc**. |
- | [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/home/monNom/.procmailrc** | + | |
<file> | <file> | ||
Ligne 258: | Ligne 231: | ||
Une fois cela effectué, on n'a pas besoin de redémarrer procmail, puisque celui-ci est lancé par postfix à chaque nouveau message. | Une fois cela effectué, on n'a pas besoin de redémarrer procmail, puisque celui-ci est lancé par postfix à chaque nouveau message. | ||
+ | Attention : procmail peut se trouver ici : /etc/procmailrc ! | ||
===== Lancement du serveur de courrier ===== | ===== Lancement du serveur de courrier ===== | ||
- | On est fin près pour lancer le serveur de courrier. | + | On est fin prêt pour lancer le serveur de courrier. |
Déjà, on peut vérifier si les messages fonctionnent en local : | Déjà, on peut vérifier si les messages fonctionnent en local : | ||
- | <code>mail monNom -s test | + | <code> |
+ | mail monNom -s test | ||
ceci est un test local | ceci est un test local | ||
. (le point indique la fin du message) | . (le point indique la fin du message) | ||
- | cc: (pas de cc)</code> | + | cc: (pas de cc) |
+ | </code> | ||
- | Dans le logiciel de courrier (Thunderbird, Evolution), un simple rafraichissement des courriers devrait faire apparaitre le message test. | + | Dans le courrielleur (Thunderbird, Evolution), un simple rafraîchissement des courriers devrait faire apparaître le message test. |
- | Ensuite, on vérifie si l'envoie et la réception se fait vers une adresse distante. | + | Ensuite, on vérifie si l'envoi et la réception se fait vers une adresse distante. |
En cas de problème, on peut examiner les logs suivants : | En cas de problème, on peut examiner les logs suivants : | ||
Ligne 278: | Ligne 254: | ||
* Log de Procmail : **/var/log/procmailrc.log** | * Log de Procmail : **/var/log/procmailrc.log** | ||
- | Si tout est correct, on peut modifier le fichier .procmailrc pour éviter la surcharge de log. | + | Si tout est correct, on peut modifier le fichier « .procmailrc » pour éviter la surcharge de log. |
- | [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/home/monNom/.procmailrc** | + | [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/home/monNom/.procmailrc**. |
- | <file>VERBOSE=no | + | <file> |
- | #LOGABSTRACT=all</file> | + | VERBOSE=no |
+ | #LOGABSTRACT=all | ||
+ | </file> | ||
Ne pas oublier lors de l'ajout de nouveaux comptes de mettre les droits 771 pour le fichier procmail.rc et de reconstruire la table des alias. | Ne pas oublier lors de l'ajout de nouveaux comptes de mettre les droits 771 pour le fichier procmail.rc et de reconstruire la table des alias. | ||
- | <code> sudo chmod 771 /home/monNom/.procmailrc | + | <code> |
+ | sudo chmod 771 /home/monNom/.procmailrc | ||
newaliases | newaliases | ||
</code> | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | //Contributeurs principaux : FIXME.// |