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

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