Courier-0.43.2

Introduction à Courier

Le package Courier contient un agent de transport de courriers électroniques (MTA). C'est utile pour envoyer des courriers aux autres utilisateurs de votre machine. Il peut aussi être configuré comme serveur central de mail pour votre domaine ou comme agent de relais de courriers. Le package Courier inclut aussi une interface de courriers électroniques basé sur le web, IMAP, IMAP-SSL, POP3 et POP3-SSL. La configuration listée ci-dessous permettra aux utilisateurs PAM et aux utilisateurs virtuels compris dans la base de données MySQL d'accèder à leurs courriers électroniques.

Informations sur le package

Installation de Courier

Avant de compiler le programme, vous devez créer les utilisateurs et groupes qui seront attendues lors de l'exécution du script d'installation. Ajoutez les utilisateurs et groupes avec les commandes suivantes:

groupadd courier &&
useradd -c 'Courier Mail Server' -d /dev/null -g courier -s /bin/false courier

Installez courier en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc/courier --with-piddir=/var/run \
--libexecdir=/usr/sbin --datadir=/usr/share/courier \
--localstatedir=/var/spool/courier --disable-root-check --with-db=gdbm \
--with-mailuser=courier --with-mailgroup=courier \
--enable-workarounds-for-imap-client-bugs \
--with-ispell=/usr/bin/aspell &&
make &&
make install &&
make install-configure

Explication des commandes

--sysconfdir=/etc/courier: Spécifie le répertoire où les fichiers de configuration de Courier sont installés.

--with-piddir=/var/run: Spécifie le répertoire où les fichiers PID de Courier sont stockés lorsque Courier est actif.

--libexecdir=/usr/sbin: libexecdir contient des programmes et bibliothèques qui ne peuvent être directement exécutés à partir de la ligne de commande.

--datadir=/usr/share/courier: Spécifie le répertoire où différents scripts shell, scripts Perl scripts et fichiers de données seront installés.

--localstatedir=/var/spool/courier: Spécifie le répertoire qui contiendra la queue des courriers électroniques et les autres données temporaires. Cette option correspond par défaut au sous-répertoire var par rapport au répertoire spécifié via l'option --prefix.

--disable-root-check: Permet à Courier d'être construit en tant qu'utilisateur root.

--with-db=gbbm: Courier requiert soit GDBM soit DB. GDBM est utilisé si les deux sont présents. Cette option force la sélection de la bibliothèque de bases de données.

--with-mailuser=courier: Tout sauf deux démons Courier s'exécute en tant qu'utilisateur non privilégié. Cette option spécifie l'identifiant de l'utilisateur sous lequel Courier sera installé et exécuté.

--withmailgroup=courier: comme --with-mailuser, mais spécifie l'identifiant du groupe.

--enable-workarounds-for-imap-client-bugs: il existe différents bogues confirmés dans certains clients IMAP qui n'implémentent pas correctement le protocole IMAP4rev1. Cette option active certains contournements pour ces clients IMAP boggués. NOTE: make check échouera si cette option est utilisée. Vous devriez d'abord utiliser configure sans cette option, puis, si tous les tests post-configuration sont un succès, relancer configure avec cette option et recompiler.

--with-ispell=/usr/bin/aspell: Le webmail de Courier peut utiliser un vérificateur d'orthographe si le programme aspell est disponible. Si configure trouve ispell, la vérification d'orthographe est activé. Si aspell ne se troyve pas dans le chemin de recherche actuel, utilisez --with-ispell=programme pour configurer explicitement l'emplacement d'aspell.

Configurer Courier

Fichier de configuration

/etc/courier/authmysqlrc

Informations de configuration

Faites les modifications suivantes dans ce fichier si vous utilisez MySQL:

MYSQL_SERVER            localhost
MYSQL_USERNAME          courier
MYSQL_PASSWORD          (your choice) 
MYSQL_SOCKET            /tmp/mysql.sock
MYSQL_PORT              3306
MYSQL_DATABASE          courier-mail
MYSQL_USER_TABLE        users
MYSQL_CLEAR_PWFIELD     clear
DEFAULT DOMAIN          (your domain)
MYSQL_QUOTA_FIELD       quota

Si vous utilisez PAM:

cat > /etc/pam.d/esmtp << "EOF
# Début /etc/pam.d/esmtp

auth            required                pam_unix.so try_first_pass
account         required                pam_unix.so
session         required                pam_unix.so

# Fin /etc/pam.d/esmtp
EOF
cat > /etc/pam.d/pop3 << "EOF
# Début /etc/pam.d/pop3

auth            required                pam_unix.so try_first_pass
account         required                pam_unix.so
session         required                pam_unix.so

# Fin /etc/pam.d/pop3
EOF
cat > /etc/pam.d/imap << "EOF
# Début /etc/pam.d/imap

auth            required                pam_unix.so try_first_pass
account         required                pam_unix.so
session         required                pam_unix.so

# Fin /etc/pam.d/imap
EOF
cat > /etc/pam.d/webmail << "EOF
# Début /etc/pam.d/webmail

auth            required                pam_unix.so try_first_pass
account         required                pam_unix.so
session         required                pam_unix.so

# Fin /etc/pam.d/webmail
EOF

Cette commande crée la base de données mysql d'authentication:

mysqladmin -uroot -p[password] create courier-mail

Cette commande initialise la table users pour la base de données courier-mail:

mysql -uroot -p[password] courier-mail

        CREATE TABLE users (
        id                    char(128) DEFAULT '' NOT NULL,
        crypt                 char(128) DEFAULT '' NOT NULL,
        clear                 char(128) DEFAULT '' NOT NULL,
        name                  char(128) DEFAULT '' NOT NULL,
        uid                   int(10) unsigned DEFAULT '65534' NOT NULL,
        gid                   int(10) unsigned DEFAULT '65534' NOT NULL,
        home                  char(255) DEFAULT '' NOT NULL,
        quota                 char(255) DEFAULT '' NOT NULL,
        KEY id (id(128))
        );

Ceci ajoutera l'utilisateur courier que nous avons spécifié précédemment dans le fichier authmysql:

mysql -uroot -p[password] mysql

grant all privileges on *.* to courier@localhost identified by '[password]' with grant option;

Configuration générale pour le courrier

Vous aurez besoin de créer les fichiers suivants avec le contenu spécifié.

/etc/courier/defaultdomain

cat > /etc/courier/defaultdomain << "EOF"
[votre_domaine]
EOF

/etc/courier/me

cat > /etc/courier/me << "EOF"
[servername.votre_domaine]
EOF

/etc/courier/locals

cat > /etc/courier/locals << "EOF"
localhost
[votre_domaine]
EOF

/etc/courier/esmtpacceptmailfor.dir/system

cat >/etc/courier/esmtpacceptmailfor.dir/system << "EOF"
localhost
[votre_domaine]
EOF

Vous aurez besoin d'éditer le fichier aliases et de modifier l'entrée suivante.

/etc/courier/aliases/system

postmaster: [your administrator email]

Si vous voulez empêcher l'accès à quelques hôtes pour envoyer des courriers, vous devrez éditer /etc/courier/smtpaccess/default.

Après avoir terminé les étapes ci-dessus, vous devrez lancer les commandes suivantes:

makesmtpaccess
makehosteddomains
makealiases

Configuration SMTP/SMTMP-SSL

Cette section activera le serveur SMTP de Courier

/etc/courier/esmtpd

ESMTPDSTART=YES

/etc/courier/esmtpd-ssl

ESMTPDSSLSTART=YES

ConfigurationPOP3/POP3-SSL

Cette section activera le serveur POP3 de Courier

/etc/courier/pop3d

POP3DSTART=YES

/etc/courier/pop3d-ssl

POP3DSLLSTART=YES

Configuration IMAP/IMAP-SSL

Cette section activera le serveur IMAP de Courier

/etc/courier/imapd

IMAPDSTART=YES

/etc/courierd/imapd-ssl

IMAPDSSLSTART=YES

Création des répertoires de courrier des utilisateurs système

Cette section expliquera comment créer les répertoires MailDirs de vos utilisateurs système.

cd /home/[username]
maildirmake Maildir
chown [username].[username] Maildir -R

Configuration pour les utilisateurs virtuels

Cette section expliquera comment configurer Maildir pour vos utilisateurs virtuels.

echo "vmailman:x:9000:9000:Virtual Mailman:/home/vmailman:/bin/bash" >> /etc/passwd
echo "vmailman:x:9000:" >> /etc/group

Maintenant, configurons maildir pour ces utilisateurs virtuels.

cd /home/vmailman
mkdir [virtual_user]
cd [virtual_user]
maildirmake Maildir
chown vmailman.vmailman Maildir -R

Ajoutez l'utilisateur virtuel dans la base de données MySQL. Vous devez entrer au moins une version du mot de passe soit en clair soit crypté.

mysql -ucourier -p[password] courier-mail

insert into users values('[virtual_users]@[domain.com],
'[encrypted password or blank]','[clear text password or blank]',
'[User's Name]',9000,9000,'[location of Maildir]','[Quota in Bytes']);

exemple

insert into users values ('blfsuser@linuxfromscratch.org','
','password','BLFS User',9000,9000,'/home/vmailman/blfsuser','');

Configuration pour le Webmail

Cette section expliquera comment configurer le système webmail de Courier.

Vous avez besoin de copier le fichier webmail de /usr/sbin/courier/webmail/webmail dans le répertoire cgi-bin de votre serveur Apache.

cp -a /usr/sbin/courier/webmail/webmail /var/www/cgi-bin

Vous aurez ensuite besoin de copier les images dans un sous-répertoire du répertoire htdocs de votre serveur Apache. Le répertoire nécessite d'être nommé webmail ou vous avez besoin de le spécifier lors de la phase du configure avec --enable-imageurl=/url.

cp -a /usr/share/courier/sqwebmail/images /var/www/htdocs/webmail

Configuration du webmail

Cette section expliquera comment installer le système d'administration web de Courier.

Vous avez besoin de copier le fichier webadmin de /usr/sbin/courier/webmail/webmin dans le répertoire cgi-bin de votre serveur Apache.

cp -a /usr/sbin/courier/webmail/webadmin /var/www/cgi-bin

/etc/courier/webadmin/password

cat > /etc/courier/webadmin/password << "EOF"
[password]
EOF

Si vous n'utilisez pas SSL sur votre serveur Apache, vous aurez besoin d'ajouter /etc/courier/webadmin/unsecureok, de façon à pouvoir utiliser l'outil d'administration web.

touch /etc/courier/webadmin/unsecureok

Script de démarrage Courier

Le script de démarrage de Courier est le plus facile à utiliser. Il créera automatiquement les fichiers de données manquants et les certificats SSL s'ils n'existent pas. Pour installer le fichier init.d pour Courier, vous aurez besoin d'utiliser les commandes suivantes:

cp /usr/src/courier-0.43.2/courier.sysvinit /etc/rc.d/init.d/courier &&
chmod 755 /etc/rc.d/init.d/courier

Créez les liens symboliques vers ce fichier dans les répertoires rc.d adéquats avec les commandes suivantes:

cd /etc/rc.d/init.d &&
ln -sf ../init.d/courier ../rc0.d/K25courier &&
ln -sf ../init.d/courier ../rc1.d/K25courier &&
ln -sf ../init.d/courier ../rc2.d/K25courier &&
ln -sf ../init.d/courier ../rc3.d/S35courier &&
ln -sf ../init.d/courier ../rc4.d/S35courier &&
ln -sf ../init.d/courier ../rc5.d/S35courier &&
ln -sf ../init.d/courier ../rc6.d/K25courier

Contenu

Le package Courier contient cancelmsg, courier-config, couriermlm, couriertls, deliverquota, dotforward, imapd, lockmail, mailbot, maildirkw, maildrop, mailq, makedat, makemime, mimegpg, preline, reformail, reformime, rmail, sendmail, testmxlookup, courier, courierfilter, courierlogger, couriertcpd, esmtpd, esmtpd-msa, esmtp-ssl, filterctl, imapd, imapd-ssl, makeacceptmailfor, makealiases, makehosteddomains, makepercentrelay, makesmtpacces, makesmtpaccess-msa, makeuserdb, makeuucpneighbors, mksmtpcert, mkimapdcert, mkpop3cert, pop3d, pop3d-ssl, pw2userdb, showconfig, showmodules, userdb, userdbpw, webgpg, authdaemon, authdaemon.mysql, authdaemon.plain, aliascombine, aliascreate, aliasexp, courierd, courierpop3d, courierpop3login, imaplogin, makedatprog, pcpd, submit, submitmkdir, webadmin, webmail, courierdsn, addcr, authend, authstate, courieresmtp, courieresmtpd, courierfax, courierdeliver, courierlocal, courieruucp, perlfilter, dupfilter.

Description

cancelmsg

cancelmsg supprime un message de la queue des courriers.

couriermlm

couriermlm est le gestionnaire de listes de diffusion Courier.

lockmail

lockmail est un outil d'aide pour travailler avec des fichiers mailbox.

mailbot

mailbot lit un message électronique sur l'entrée standard et crée un message électronique en réponse.

maildirkw

maildirkw modifie les mots clés du message maildir compatible avec Courier-IMAP.

maildrop

maildrop est un MDA local de remplacement qui inclut un langage de filtres.

mailq

mailq affiche une liste de tous les messages n'ayant pas été encore apportés.

reformail

reformail lit un message sur l'entrée standard, le reformate d'une certaine façon et écrit le message sur la sortie standard.

reformime

reformime est un utilitaire pour reformatter les messages MIME.

sendmail

La commande sendmail lit un message et l'envoie à ses destinataires. Cette commande fait partie du serveur Courier bien qu'il essaie d'émuler le comportement du MTA sendmail original.

testmxlookup

testmxlookup liste les noms et adresses IP de relais de courrier qui reçoivent le mail pour ce domaine. C'est utile pour diagnostiquer des problèmes d'envoi/réception de courriers électroniques.

courier

courier est un agent de transport de courrier électronique multi-protocole. La commande courier est une commande administrative et la plupart de ces options est seulement disponible pour le super-utilisateur.

courierfilter

courierfilter installe ou désintalle des filtres globaux de mail, utilisés pour bloquer certains mails non désirés.

filterctl

filterctl installe ou désintalle des filtres globaux de mail, utilisés pour bloquer certains mails non désirés.

makeacceptmailfor

makeacceptmailfor construit une liste de domaines à partir desquels des courriers électroniques sont acceptés.

makealiases

makealiases construit une liste des alias à partir des répertoires /etc/courier/aliases ou /etc/courier/aliasdir directories.

makehosteddomains

makehostedomains construit une base de données de domaines compris à partir de hosteddomains .

makepercentrelay

makepercentrelay construit une liste de domaines "%-relayed" à partir du répertoire percentrelay.dir.

makesmtpaccess

makesmtpacces construit le fichier d'accès au serveur ESMTP à partir du répertoire /etc/courier/smtpaccess.

makesmtpaccess-msa

makesmtpaccess-msa construit le fichier d'accès au serveur à partir du répertoire ESMTP /etc/courier/smtpaccess. Cette liste est pour le protocole MSA.

makeuucpneighbors

makeuucpneighbors construit une liste de destinataires UUCP utilisant /etc/courier/uucpneighbors.

showconfig

showconfig affiche la configuration actuelle de Courier.

showmodules

showmodules affiche les modules actuelles de Courier.

authdaemon

authdaemon est la bibliothèque d'authentication de Courier.

.