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

Table des matières

1 Introduction 1 2 Qu’est-ce qu’IMAP et pourquoi devrais-je l’utiliser? 2 3 Les caractéristiques de mon système 2 4 Installation de Tcl 2 5 Installation de la commande makedepend 2 6 Installation de Cyrus 3 7 Configuration de sendmail 4 8 Configurer les boites aux lettres 5 9 Mise en garde 5 10 Sources 6

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:

                  umask 0;/usr/cyrus/bin/pwcheck &
                  umask 022

Puis ajoutez ces dernières à un script de démarrage comme celui-là:

                  if [ -f /usr/cyrus/bin/pwcheck ]; then
                  echo -n "Starting pwcheck for imap"
                  umask 0;/usr/cyrus/bin/pwcheck &
                  umask 022
                  fi

J’ai mis le mien dans /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 4

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/)