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.
Téléchargement (HTTP): http://prdownloads.sourceforge.net/courier/courier-0.45.5.tar.bz2
Taille du téléchargement: 4,2 Mo
Estimation de l'espace disque requis: 114 Mo
Estimation du temps de construction: 3,00 SBU
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
Vous avez aussi besoin de créer un utilisateur bin. Si vous avez déjà cet utilisateur, cette étape peut être ignorée.
useradd -c 'bin' -d /dev/null -g bin -u 1 bin
Ceci crée un répertoire /var/run/courier où tous les fichiers pid du MTA Courier existeront. Ceci permettra la création de courierfilter.pid. Sans l'exécution de courierfilter, le MTA Courier ne fonctionnera pas. Lancez les commandes suivantes pour créer /var/run/courier :
mkdir /var/run/courier &&
chown courier:courier /var/run/courier
Installez courier en lançant les commandes suivantes :
./configure --prefix=/usr --libexecdir=/usr/lib/courier \
--datadir=/usr/share/courier --sysconfdir=/etc/courier \
--localstatedir=/var/lib/courier --with-piddir=/var/run/courier \
--disable-root-check --with-mailuser=courier --with-mailgroup=courier \
--with-paranoid-smtpext --disable-autorenamesent \
--enable-workarounds-for-imap-client-bugs --with-db=gdbm &&
make &&
make install &&
make install-configure
--libexecdir=/usr/lib/courier : spécifie le répertoire contenant les programmes et bibliothèques qui ne pouvent pas être exécutés directement à partir de la ligne de commande.
--datadir=/usr/share/courier : spécifie le répertoire où différents scripts shell, scripts Perl et fichiers de données seront installés.
--localstatedir=/var/spool/courier : spécifie le répertoire qui contiendra la liste des mails et d'autres données temporaires.
--with-piddir=/var/run/courier : spécifie le répertoire où les fichiers PID de Courier sont stockés lorsque Courier est actif.
--disable-root-check : permet la construction de Courier en tant qu'utilisateur root.
--with-mailuser=courier : tous les démons Courier, sauf deux, sont exécutés en tant qu'utilisateur non privilégiés. Cette option spécifie l'identifiant utilisateur que Courier installera et utilisera pour s'exécuter.
--with-mailgroup=courier : identique à --with-mailuser mais pour l'identifiant du groupe.
--with-paranoid-smtpext : soyez paranoïaque sur les extensions spécifiques à Courier pour ESMTP avec les serveurs distants. Le serveur de mails Courier définit et implémente certaines extensions expérimentales d'ESMTP : XVERP et XEXDATA. Des problèmes pourraient résulter dans le fait qu'une autre personne utilise le même nom pour implémenter d'autres extensions. Si cette option est spécifiée, le serveur ESMTP de Courier avertira aussi d'une capacité ESMTP appelée XCOURIEREXTENSIONS et ne reconnaîtra pas toutes les extensions spécifiques à Courier sauf si le serveur de courriers distants avertit aussi de cette capacité ESMTP.
--disable-autorenamesent : ne pas renomme le répertoire Sent tous les mois. Cette option peut aussi être contrôlée par la variable d'environnement SQWEBMAIL_AUTORENAMESENT.
--enable-workarounds-for-imap-client-bugs : il existe plusieurs bogues confirmés dans quelques clients IMAP qui n'implémentent pas proprement le protocole IMAP4rev1. Cette option active des contournements pour ces clients IMAP bogués. Note : make check échouera si cette option est utilisée. Vous devez commencer par configure sans cette option puis, dans le cas où tous les tests de post-configuration ont réussi, relancer configure avec cette option et recompiler.
--with-db=gdbm : Courier requiert soit la bibliothèque de base de données GDBM soit DB. GDBM est utilisé si les deux sont présents. Cette option force la sélection de la bibliothèque de base de données GDBM car le support de DB est actuellement cassé.
--with-ispell=/usr/bin/aspell : le serveur webmail de Courier peut utiliser un vérificateur d'orthographe si configure trouve ispell ou si vous indiquez explicitement l'emplacement d'aspell.
--enable-mimetypes=[emplacement des fichiers mime.types] : utilisez cette option si vous recevez une erreur disant que le fichier mime.types est introuvable.
Faites les modifications suivantes dans le fichier /etc/courier/authmysqlrc si vous utilisez MySQL :
MYSQL_SERVER localhost MYSQL_USERNAME courier MYSQL_PASSWORD [votre choix] MYSQL_SOCKET /tmp/mysql.sock MYSQL_PORT 3306 MYSQL_DATABASE courier_mail MYSQL_USER_TABLE users MYSQL_CLEAR_PWFIELD clear DEFAULT DOMAIN [votre domaine] 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
Connectez-vous à la base de données MySQL :
mysql -p
Cette commande créera la base de données pour l'authentication :
CREATE DATABASE courier_mail;
USE courier_mail
Cette commande initialisera la table des utilisateurs (users) pour la base de données 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 avions spécifié un peu plus tôt dans le fichier /etc/courier/authmysqlrc :
GRANT ALL PRIVILEGES ON *.* TO courier@localhost IDENTIFIED BY '[mot_de_passe]' WITH GRANT OPTION;
QUIT
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
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.45.5/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
Le package Courier contient addcr, authenumerate, cancelmsg, courier, courier-config, courieresmtpd, courierfilter, courierldapaliasd, courierlogger, couriermlm, couriertcpd, couriertls, deliverquota, dotforward, esmtpd, esmtpd-msa, esmtpd-ssl, filterctl, imapd, imapd, imapd-ssl, lockmail, mailbot, maildiracl, maildirkw, maildirmake, maildrop, makeacceptmailfor, makealiases, makedat, makehosteddomains, makemime, makepercentrelay, makesmtpaccess, makesmtpaccess-msa, makeuserdb, makeuucpneighbors, mimegpg, mkesmtpdcert, mkimapdcert, mkpop3dcert, pop3d, pop3d-ssl, preline, pw2userdb, reformail, reformime, rmail, sendmail, sharedindexinstall, sharedindexsplit, showconfig, showmodules, testmxlookup, userdb, userdbpw, vchkpw2userdb et webgpg.
courier est un agent de transport de courriers électroniques modulaires et multi-protocoles. La commande courier est une commande administrative et la plupart de ces options sont seulement disponibles pour le superutilisateur.
La commande courierfilter installe et désinstalle les filtres globaux. Ils sont utilisés pour sélectionner des blocs de courriers non sollicités.
La commande filterctl installe et désinstalle les filtres globaux. Ils sont utilisés pour sélectionner des blocs de courriers non sollicités.
mailbot lit un message électronique sur l'entrée standard et crée un message électronique en réponse.
makeacceptmailfor construit une liste de domaines à partir desquels des courriers électroniques sont acceptés.
makealiases construit une liste des alias à partir des répertoires /etc/courier/aliases ou /etc/courier/aliasdir directories.
makehostedomains construit une base de données de domaines compris à partir de hosteddomains .
makepercentrelay construit une liste de domaines "%-relayed" à partir du répertoire percentrelay.dir.
makesmtpacces construit le fichier d'accès au serveur ESMTP à partir du répertoire /etc/courier/smtpaccess.
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 construit une liste de destinataires UUCP utilisant /etc/courier/uucpneighbors.
Le programme reformail lit un message sur l'entrée standard, la reformatte d'une autre façon et écrit le message sur la sortie standard.
La commande sendmail lit un message et le donne à ses destinataires. Cette commande sendmail fait partie du serveur de courriers électroniques Courier bien qu'il essaie d'émuler le comportement du MTA sendmail.