<!doctype linuxdoc system>

<!--  Traduction du Mini-HOWTO installation du serveur IMAP Cyrus
 -->

<article>

<!-- Title information -->

<title>Mini HOWTO installation du serveur IMAP Cyrus
<author>Kevin Mitchell <tt/kevin@iserv.net/
v0.9 
<date> 21.01.98
<abstract>
Adaptation française par Gacquer Frédéric <tt/gacquer@neuronnexion.fr/
Jeudi 25 mai 1998
V 1.0. Relecture par Jean Charles Delepine <tt/delepine@lan.univ-lyon1.fr/
</abstract>

<!-- Table of contents -->
<toc>

<!-- Begin the document -->


<sect>Introduction

<p> 

Ce document a pour but d'apporter un peu d'aide pour l'installation
du serveur IMAP de Cyrus, sur une machine Linux.

<p>
Je voudrais remercier Bob Anderson <htmlurl url="mailto://boba@iserv.net"
name="boba@iserv.net"> et Jorge Paramo <htmlurl url="mailto://jorge@iserv.net"
name="jorge@iserv.net"> pour leur aide dans mes aventures avec Linux.

<sect>Qu'est-ce qu'IMAP et pourquoi devrais-je l'utiliser ?
<p>
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.
<p>
Une explication plus approfondie à :
<url url="http://www.imap.org/whatisIMAP.html">
Une comparaison entre IMAP et POP à :
<url url="http://www.imap.org/imap.vs.pop.brief.html">

<p>
Pourquoi utiliser le serveur Cyrus ?
<p>
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. 
<url url="ftp://ftp.cac.washington.edu/imap/imap.tar.Z">

<sect> Les caractéristiques de mon système
<p>
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.

<sect> Installation de Tcl
<p>
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 (<tt>cyradm</tt>).
<p>
Les derniers sources de Tcl sont disponibles sur 
<url url="ftp://ftp.sunlabs.com/pub/tcl/"
<p>
Après l'installation, assurez vous que le fichier <tt>libtcl.a</tt> se
trouve dans le répertoire <tt>/usr/local/lib/</tt>. Tcl 8.0 génère un 
fichier <tt>libtcl8.0.a</tt> sur lequel vous devez créer un lien symbolique
en utilisant la commande :

<tscreen><verb>
# ln -s libtcl8.0.a libtcl.a
</verb></tscreen>

<sect> Installation de la commande makedepend
<p>
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).
<p>
Pour installer makedepend, extraire la distribution Cyrus, se mettre dans
le répertoire makedepend, et taper les commandes suivantes :

<tscreen><verb>
        ./configure
        make
        cp ./makedepend /usr/local/bin/makedepend
</verb></tscreen>
       
       
<sect> Installation de Cyrus
<p>
Suivre prudemment les conseils fournis avec la distribution Cyrus.
Vous pouvez en trouver une copie en ligne à :
<url url="http://andrew2.andrew.cmu.edu/cyrus/imapd/install.html">
<p>
Quelques astuces pour quelques-unes des étapes:
<p>
Si vous utilisez la Slackware 3.4 (avec les Shadow Passwords), 
assurez vous que vous utilisez <tt>configure</tt> comme suit:

<tscreen><verb>
./configure --with-login=unix_pwcheck
</verb></tscreen>

Avec make c'est plus direct:

<tscreen><verb>
        make depend
        make all CFLAGS=-O
</verb></tscreen>

<itemize>

<item> Etape 1: lorsque vous ajoutez l'utilisateur cyrus, ce dernier
est vérouillé pour améliorer la sécurité.

<item> Etape 3: j'édite le fichier <tt>/etc/syslog.conf</tt> plutôt que de
les copier.

<item> Etape 9: Avec Linux, assurez vous de lancer <tt>pwcheck</tt>
de cette manière sinon le serveur ne fonctionnera pas correctement:
<tscreen><verb>
        umask 0;/usr/cyrus/bin/pwcheck &
        umask 022
</verb></tscreen>
Puis ajoutez ces dernières à un script de démarrage comme celui-là:
<tscreen><verb>
        if [ -f /usr/cyrus/bin/pwcheck ]; then
        echo -n "Starting pwcheck for imap"
        umask 0;/usr/cyrus/bin/pwcheck &
        umask 022
        fi
</verb></tscreen>
J'ai mis le mien dans <tt>/etc/rc.d/rc.local</tt> et cela marche bien.

<item> Etape 12: Lorsque vous éditez <tt>/etc/inetd.conf</tt>, 
assurez vous d'include les TCP Wrappers dans la ligne, comme suit:
<tscreen><verb>
 imap    stream  tcp     nowait  cyrus   /usr/sbin/tcpd  /usr/cyrus/bin/imapd imap
</verb></tscreen>

</itemize>

Et n'oubliez pas de <tt>kill -HUP inetd</tt> après avoir terminé cet
ajout:
<tscreen><verb>
        # ps ax | grep inetd
           61  ?  S    0:00 /usr/sbin/inetd
        # kill -HUP 61
</verb></tscreen>
<sect> Configuration de sendmail
<p>
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.
<p>
Voici mon fichier mc. Il délivrera le mail à IMAP sauf s'il y a une 
entrée de l'utilisateur dans le fichier <tt>/etc/sendmail.cN</tt>. 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:

<tscreen><verb>
 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
</verb></tscreen>

Arpès avoir configuré le fichier <tt>/etc/sendmail.cf</tt>, créer le
fichier <tt>/etc/sendmail.cN</tt> et ajouter les comptes utilisateurs
qui ne souhaitent pas utiliser IMAP:

<tscreen><verb>
        root
        majordom
        stan
        mothra
</verb></tscreen>

Après avoir installé Sendmail 8.8.8 j'ai aussi installé <tt>mail.local</tt>
comme programme de livraison du courrier local pour ces autres comptes.
Il y a une astuce pour configurer <tt>mail.local</tt>. Aller dans le 
répertoire de <tt>mail.local</tt>, dans le source de sendmail et faire:

<tscreen><verb>
        cp Makefile Makefile.orig
        cp Makefile.dist Makefile
        make
        cp mail.local /bin/mail.local
        chmod 4555 /bin/mail.local
</verb></tscreen>
Après cela, redémarrer sendmail.
<p>
Ne pas oublier de terminer les instructions de l'installation de Cyrus.

<sect> Configurer les boites aux lettres
<p>
Assurez vous de suivre les tests du serveur IMAP. Si tout semble correct,
continuez et créez des boites au lettres.

<sect> Mise en garde
<p>
Aucune garantie, pas de remboursement, utilisation à vos propres risques.

<sect> Sources
<P>
Les logiciels requis

<itemize>

<item> La page d'accueil de Cyrus est 
<url url="http://andrew2.andrew.cmu.edu/cyrus/imapd/">

<item> Vous pouvez télécharger la dernière version à:
<url url="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/">

<item> La page d'accueil de Tcl est :
<url url="http://sunscript.sun.com/">

<item> Vous pouvez télécharger le dernier source Tcl à:
<url url="ftp://ftp.sunlabs.com/pub/tcl/">

<item> La page d'accueil de Sendmail est :
<url url="http://www.sendmail.org/">

<item> Vous pouvez télécharger la dernière version à:
<url url="ftp://ftp.sendmail.org/ucb/src/sendmail/">

</itemize>


</article>
