Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
serveur_mail_avec_postfix_et_courier-imap_bis [Le 23/10/2013, 20:22] – FelixP | serveur_mail_avec_postfix_et_courier-imap_bis [Le 20/02/2017, 16:43] (Version actuelle) – tags L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== Installer un serveur IMAP ====== | ||
+ | |||
+ | * Logiciels principaux : [[Postfix]] - [[Procmail]] - [[Courier-IMAP]] | ||
+ | * Logiciels secondaires : [[ClamAV]] (antivirus) - [[SpamAssassin]] (anti-spam) - [[TrashScan]] (scanner de pourriel). | ||
+ | |||
+ | Cette procédure a été réalisée à partir d' | ||
+ | |||
+ | Durant tout le tutoriel, nous supposerons que votre nom sera **monNom**, votre serveur **monServeur**, | ||
+ | |||
+ | |||
+ | ===== Principe de fonctionnement ===== | ||
+ | |||
+ | // | ||
+ | |||
+ | Postfix va regarder ces messages et va les transférer dans le répertoire de courrier IMAP de l' | ||
+ | Il va aussi faire appel à Procmail pour vérifier le message avant de le distribuer. | ||
+ | |||
+ | Procmail va scanner le message pour voir s'il n'y a pas de virus ou s'il ne s'agit pas de messages SPAM. | ||
+ | Si le message est correct, il sera acheminé par Postfix dans le répertoire local de l' | ||
+ | |||
+ | Le programme Mail vérifie les messages et alerte l' | ||
+ | |||
+ | Un logiciel comme [[Thunderbird]] ou [[Evolution]] permet de les lire et de les écrire. | ||
+ | Postfix assure aussi l' | ||
+ | Il n'est pas nécessaire de configurer [[fetchmail]] pour la distribution du courrier, celle-ci étant assurée par Postfix. | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | |||
+ | ==== Programmes principaux ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | |||
+ | ==== Programmes secondaires ==== | ||
+ | |||
+ | On télécharge le programme TrashScan depuis cette adresse : http:// | ||
+ | |||
+ | TrashScan est un petit script bien utile qui va permet de scanner les fichiers mail à l'aide de l' | ||
+ | |||
+ | tar -zxvf trashscan-< | ||
+ | |||
+ | Ensuite, dans le répertoires // | ||
+ | |||
+ | Pour plus de renseignements, | ||
+ | |||
+ | ==== Ajouter un utilisateur sous Linux ==== | ||
+ | |||
+ | Pour avoir une adresse mail, il faut créer une adresse du style MonNom@MonDomaine.com. | ||
+ | Pour créer cet utilisateur, | ||
+ | |||
+ | useradd -g 100 -d / | ||
+ | passwd MonNom | ||
+ | mkdir / | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | ==== courier-imap ==== | ||
+ | |||
+ | Il n'y a rien à configurer pour courier-imap. Il faut juste s' | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | Par contre, il faut créer les dossiers de courrier IMAP de l' | ||
+ | Pour se faire, dans le répertoire de celui-ci on exécute les commandes : | ||
+ | |||
+ | < | ||
+ | maildirmake Maildir | ||
+ | maildirmake -f Sent Maildir | ||
+ | maildirmake -f Queue Maildir | ||
+ | maildirmake -f junkmail Maildir | ||
+ | maildirmake -f virus Maildir | ||
+ | maildirmake -f Drafts Maildir | ||
+ | maildirmake -f Trash Maildir | ||
+ | </ | ||
+ | <note warning> | ||
+ | |||
+ | 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]]</ | ||
+ | |||
+ | ==== Postfix ==== | ||
+ | <note tip>Voir aussi la page [[Postfix]].</ | ||
+ | [[: | ||
+ | |||
+ | Tous les paramètres ne sont pas obligatoires, | ||
+ | En revanche, on doit le configurer un minimum. Le fichier devra ressembler à ceci. | ||
+ | |||
+ | < | ||
+ | append_dot_mydomain = no | ||
+ | biff = no | ||
+ | command_directory = /usr/sbin | ||
+ | daemon_directory = / | ||
+ | program_directory = / | ||
+ | queue_directory = / | ||
+ | |||
+ | myhostname = monServeur.monDomaine.com | ||
+ | mydomain = monDomaine.com | ||
+ | masquerade_domains = monDomaine.com | ||
+ | mydestination = $myhostname, | ||
+ | inet_interfaces = all | ||
+ | mynetworks = monIpReseau/ | ||
+ | myorigin = / | ||
+ | relayhost = smtp.monFAI.fr | ||
+ | home_mailbox = Maildir/ | ||
+ | mailbox_command = / | ||
+ | |||
+ | alias_maps = hash:/ | ||
+ | alias_database = hash:/ | ||
+ | setgid_group = postdrop | ||
+ | mail_owner = postfix | ||
+ | mailbox_size_limit = 0 | ||
+ | mail_spool_directory = / | ||
+ | smtpd_banner = $myhostname ESMTP $mail_name (Debian/ | ||
+ | delay_warning_time = 4h | ||
+ | recipient_delimiter = + | ||
+ | </ | ||
+ | |||
+ | Où : | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | |||
+ | On sauvegarde et l'on recharge postfix avec la nouvelle configuration par la commande : | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | |||
+ | ==== Procmail ==== | ||
+ | |||
+ | Procmail va être lancé par postfix à chaque nouveau message. Son fichier de configuration doit se trouver dans le répertoire de l' | ||
+ | |||
+ | [[: | ||
+ | |||
+ | < | ||
+ | # Preliminaires | ||
+ | SHELL=/ | ||
+ | MAILDIR=$HOME/ | ||
+ | DEFAULT=$MAILDIR | ||
+ | ORGMAIL=$MAILDIR | ||
+ | LOCKFILE=$HOME/ | ||
+ | ASSASSINLOCK=$HOME/ | ||
+ | DEFAULT=$HOME/ | ||
+ | JUNKMAIL=$HOME/ | ||
+ | TRASH=$HOME/ | ||
+ | NEWBIE=$HOME/ | ||
+ | EXPERT=$HOME/ | ||
+ | VIRUS=$HOME/ | ||
+ | BITBUCKET=/ | ||
+ | LOGFILE=/ | ||
+ | VERBOSE=yes | ||
+ | LOGABSTRACT=all | ||
+ | |||
+ | # Filtres de courrier : | ||
+ | # on vérifie d' | ||
+ | |||
+ | :0 | ||
+ | * ^To: | ||
+ | * < 256000 | ||
+ | |||
+ | { | ||
+ | :0c: spamassassin.spamlock | ||
+ | | sa-learn --spam | ||
+ | |||
+ | :0 | ||
+ | $JUNKMAIL | ||
+ | } | ||
+ | |||
+ | #On revérifie au cas où spamassassin aurait fait une erreur | ||
+ | |||
+ | :0 | ||
+ | * ^To: | ||
+ | * < 256000 | ||
+ | |||
+ | { | ||
+ | :0c: spamassassin.hamlock | ||
+ | | sa-learn --ham | ||
+ | |||
+ | :0 | ||
+ | $TRASH | ||
+ | } | ||
+ | |||
+ | #On exécute TrashScan, qui va scanner le fichier à l'aide de l' | ||
+ | |||
+ | :0 | ||
+ | * multipart | ||
+ | * !^X-Virus-Scan: | ||
+ | | / | ||
+ | |||
+ | #Apposition du label suspect sur les mails scannés positifs aux virus | ||
+ | |||
+ | :0 | ||
+ | * ^X-Virus-Scan: | ||
+ | $VIRUS | ||
+ | |||
+ | #Filtres de news | ||
+ | |||
+ | :0 : | ||
+ | * ^Sender: newbie-owner | ||
+ | $NEWBIE | ||
+ | |||
+ | :0 : | ||
+ | * ^Sender: expert-owner | ||
+ | $EXPERT | ||
+ | |||
+ | # | ||
+ | |||
+ | :0 | ||
+ | * ^From: Sms Message | ||
+ | $BITBUCKET | ||
+ | |||
+ | #Exécution du démon SpamAssassin | ||
+ | |||
+ | :0 fw : $ASSASSINLOCK | ||
+ | | spamc | ||
+ | |||
+ | :0 | ||
+ | * ^X-Spam-Flag: | ||
+ | $JUNKMAIL | ||
+ | </ | ||
+ | |||
+ | 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 : / | ||
+ | |||
+ | ===== Lancement du 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 : | ||
+ | |||
+ | < | ||
+ | mail monNom -s test | ||
+ | ceci est un test local | ||
+ | . (le point indique la fin du message) | ||
+ | cc: (pas de cc) | ||
+ | </ | ||
+ | |||
+ | Dans le courrielleur (Thunderbird, | ||
+ | |||
+ | Ensuite, on vérifie si l' | ||
+ | |||
+ | En cas de problème, on peut examiner les logs suivants : | ||
+ | * Log de Postfix : **/ | ||
+ | * Log de Procmail : **/ | ||
+ | |||
+ | Si tout est correct, on peut modifier le fichier « .procmailrc » pour éviter la surcharge de log. | ||
+ | [[: | ||
+ | |||
+ | < | ||
+ | VERBOSE=no | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Ne pas oublier lors de l' | ||
+ | |||
+ | < | ||
+ | sudo chmod 771 / | ||
+ | newaliases | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // |