Mini HOWTO installation du serveur IMAP Cyrus
Kevin Mitchell kevin@iserv.net
v0.9
21.01.98
Adaptation française par Gacquer Frédéric
gacquer@neuronnexion.fr
Jeudi 25 mai 1998
V 1.0. Relecture par Jean Charles Delepine delepine@lan.univ-lyon1.fr
1. Introduction
Ce document a pour but d'apporter un peu d'aide pour l'installation du serveur IMAP de Cyrus, sur une machine Linux.
Je voudrais remercier Bob Anderson boba@iserv.net et Jorge Paramo jorge@iserv.net pour leur aide dans mes aventures avec Linux.
2. Qu'est-ce qu'IMAP et pourquoi devrais-je l'utiliser ?
IMAP (Internet Message Access Protocol) est une manière d'accéder à son courrier électronique ou ses messages BBS stockés sur le serveur de courrier. IMAP est perçu par beaucoup comme le successeur de POP (Post Office Protocol). IMAP permets aux utilisateurs d'accéder à leur courrier à partir de n'importe quel ordinateur sans avoir à le rapatrier. Cette méthode d'accés au courrier est plus sûre et offre plusieurs avantages pour l'utilisateur final.
Une explication plus approfondie à : http://www.imap.org/whatisIMAP.html Une comparaison entre IMAP et POP à : http://www.imap.org/imap.vs.pop.brief.html
Pourquoi utiliser le serveur Cyrus ?
Cyrus est conçu pour être utilisé sur un serveur où les utilisateurs n'ont pas le droit de se connecter. Cyrus semble aussi être parmi les deux plus populaires serveurs IMAP pour Unix. L'autre est le serveur IMAP de l'Université de Washington. ftp://ftp.cac.washington.edu/imap/imap.tar.Z
3. Les caractéristiques de mon système
J'ai installé Cyrus avec succés sur des architectures 486DX66 et Pentium, utilisant respectivement le noyau Linux 2.1.79 et 2.0.33. L'installation initiale est basée sur la Slackware 3.4.
4. Installation de Tcl
Assurez vous que Tcl est installé sur votre machine avant de tenter d'installer
Cyrus - sinon vous n'aurez pas la possibilité d'utiliser l'Outil
d'Administration Cyrus (cyradm
).
Les derniers sources de Tcl sont disponibles sur ftp://ftp.sunlabs.com/pub/tcl/
Après l'installation, assurez vous que le fichier libtcl.a
se
trouve dans le répertoire /usr/local/lib/
. Tcl 8.0 génère un
fichier libtcl8.0.a
sur lequel vous devez créer un lien symbolique
en utilisant la commande :
# ln -s libtcl8.0.a libtcl.a
5. Installation de la commande makedepend
Vérifiez que votre système a la commande makedepend. Si vous ne l'avez pas, ne vous inquiétez pas - il est fourni avec le source de Cyrus. (Je ne l'avais pas avec l'installation Slackware 3.4).
Pour installer makedepend, extraire la distribution Cyrus, se mettre dans le répertoire makedepend, et taper les commandes suivantes :
./configure
make
cp ./makedepend /usr/local/bin/makedepend
6. Installation de Cyrus
Suivre prudemment les conseils fournis avec la distribution Cyrus. Vous pouvez en trouver une copie en ligne à : http://andrew2.andrew.cmu.edu/cyrus/imapd/install.html
Quelques astuces pour quelques-unes des étapes:
Si vous utilisez la Slackware 3.4 (avec les Shadow Passwords),
assurez vous que vous utilisez configure
comme suit:
./configure --with-login=unix_pwcheck
Avec make c'est plus direct:
make depend
make all CFLAGS=-O
- Etape 1: lorsque vous ajoutez l'utilisateur cyrus, ce dernier est vérouillé pour améliorer la sécurité.
- Etape 3: j'édite le fichier
/etc/syslog.conf
plutôt que de les copier. - Etape 9: Avec Linux, assurez vous de lancer
pwcheck
de cette manière sinon le serveur ne fonctionnera pas correctement:
Puis ajoutez ces dernières à un script de démarrage comme celui-là:umask 0;/usr/cyrus/bin/pwcheck & umask 022
J'ai mis le mien dansif [ -f /usr/cyrus/bin/pwcheck ]; then echo -n "Starting pwcheck for imap" umask 0;/usr/cyrus/bin/pwcheck & umask 022 fi
/etc/rc.d/rc.local
et cela marche bien. - Etape 12: Lorsque vous éditez
/etc/inetd.conf
, assurez vous d'include les TCP Wrappers dans la ligne, comme suit:imap stream tcp nowait cyrus /usr/sbin/tcpd /usr/cyrus/bin/imapd imap
Et n'oubliez pas de kill -HUP inetd
après avoir terminé cet
ajout:
# ps ax | grep inetd
61 ? S 0:00 /usr/sbin/inetd
# kill -HUP 61
7. Configuration de sendmail
Téléchargez le source de sendmail si vous ne l'avez pas déjà. Outre utiliser IMAP, vous pouvez faire des choses amusantes comme configurer l'anti-spam.
Voici mon fichier mc. Il délivrera le mail à IMAP sauf s'il y a une
entrée de l'utilisateur dans le fichier /etc/sendmail.cN
. Cela
permet aux comptes systèmes comme root de garder leur courrier dans le
spool; Cependant, les comptes utilisateurs utilisent IMAP par défaut.
Ne pas faire un simple copier/coller de ce code car sendmail n'appréciera
pas les espaces utilisés à la place des tabulations:
divert(-1)
#
# (C) Copyright 1995 by Carnegie Mellon University
#
# All Rights Reserved
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted,
# provided that the above copyright notice appear in all copies and that
# both that copyright notice and this permission notice appear in
# supporting documentation, and that the name of CMU not be
# used in advertising or publicity pertaining to distribution of the
# software without specific, written prior permission.
#
# CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
# ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
# CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
# ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
# ARISING OUT OF OR IN CONNECTION WITH THE USE OR P ERFORMANCE OF THIS
# SOFTWARE.
#
# Contributed to Berkeley by John Gardiner Myers .
#
# This sample mc file is for a site that uses the Cyrus IMAP server
# exclusively for local mail.
#
divert(0)dnl
VERSIONID(`@(#)cyrusproto.mc 8.3 (Carnegie Mellon) @(#)cyrusproto.mc 8.3')
OSTYPE(linux)
define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
FEATURE(nouucp)
FEATURE(nocanonify)
FEATURE(always_add_domain)
MAILER(smtp)
MAILER(local)
MAILER(cyrus)
define(`confLOCAL_MAILER',`cyrus')
LOCAL_RULE_0
R$=N $: $#local $: $1
R$=N $: $#local $: $1
Rbb + $+ $#cyrusbb $: $1
LOCAL_CONFIG
FN /etc/sendmail.cN
# end of mc file
Arpès avoir configuré le fichier /etc/sendmail.cf
, créer le
fichier /etc/sendmail.cN
et ajouter les comptes utilisateurs
qui ne souhaitent pas utiliser IMAP:
root
majordom
stan
mothra
Après avoir installé Sendmail 8.8.8 j'ai aussi installé mail.local
comme programme de livraison du courrier local pour ces autres comptes.
Il y a une astuce pour configurer mail.local
. Aller dans le
répertoire de mail.local
, dans le source de sendmail et faire:
cp Makefile Makefile.orig
cp Makefile.dist Makefile
make
cp mail.local /bin/mail.local
chmod 4555 /bin/mail.local
Après cela, redémarrer sendmail.
Ne pas oublier de terminer les instructions de l'installation de Cyrus.
8. Configurer les boites aux lettres
Assurez vous de suivre les tests du serveur IMAP. Si tout semble correct, continuez et créez des boites au lettres.
9. Mise en garde
Aucune garantie, pas de remboursement, utilisation à vos propres risques.
10. Sources
Les logiciels requis
- La page d'accueil de Cyrus est http://andrew2.andrew.cmu.edu/cyrus/imapd/
- Vous pouvez télécharger la dernière version à: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
- La page d'accueil de Tcl est : http://sunscript.sun.com/
- Vous pouvez télécharger le dernier source Tcl à: ftp://ftp.sunlabs.com/pub/tcl/
- La page d'accueil de Sendmail est : http://www.sendmail.org/
- Vous pouvez télécharger la dernière version à: ftp://ftp.sendmail.org/ucb/src/sendmail/