Installer imap sur une machine Linux

BenJ -  
 BenJ -
Bonjour,

J'aimerais installer imap-2004g sur mon serveur Linux (CentOS 5.1)

J'ai essayé de suivre la procédure ci-dessous :
-> cd /root/install
-> wget -r -np -k 'http://www.ibiblio.org/pub/packages/solaris/freeware/SOURCES/imap-2004g.tar.gz'
-> tar -zxvf imap-2004g.tar.gz
-> cd imap-2004g
-> make slx SSLTYPE=none ou make ldb SSLTYPE=none


Mais voici l'erreur qu'il m'affiche :

ln -s crx_nfs.c crexcl.c
ln -s ip4_unix.c ip_unix.c
ln: `ip_unix.c': File exists
make[3]: *** [onceenv] Error 1
make[3]: Leaving directory `/home/.milton/essaymonster/source/imap-2004g/c-client'
->make[2]: *** [lnp] Error 2
make[2]: Leaving directory `/home/.milton/essaymonster/source/imap-2004g/c-client'
make[1]: *** [OSTYPE] Error 2
make[1]: Leaving directory `/home/.milton/essaymonster/source/imap-2004g'
make: *** [ldb] Error 2


Qu'est que je dois faire pour resoudre cete erreur ?

Normalement si je n'ai pas de bug, la suite de la procédure d'installation est :
-> mkdir /usr/local/imap-2004g
-> mkdir /usr/local/imap-2004g/include
-> mkdir /usr/local/imap-2004g/lib
-> cp c-client/*.h /usr/local/imap-2004g/include/
-> cp c-client/*.c /usr/local/imap-2004g/lib/
-> mv c-client/c-client.a /usr/local/imap-2004g/lib/libc-client.a


J'ai aussi essayé une autre méthode pour installer imap-2004g:

-> cd /root
-> mkdir packages
-> cd /root/packages
-> mkdir imap-2004g
-> wget http://files.directadmin.com/service...p-2004g.tar.gz
-> tar xvzf da_imap-2004g.tar.gz
-> cd imap-2004g.tar.gz
-> ./buildit
-> cd imapd
-> cp imapd /usr/sbin/imapd
-> chmod 755 /usr/sbin/imapd


Mais ça ne marche pas non plus

Avez vous deja installer imap sur votre machine Linux ? Ou savez vous comment on fait pour l'installer ?
Car c'est assez compliqué et il n'y a pas de documentation sur Internet

Merci de votre aide
Configuration: CentOS 5.1
Firefox 2.0.0.12

33 réponses

  • 1
  • 2
  1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut BenJ,

    L'installation n'est pas achevée.

    Vois les procédures dans imap-2007\docs\BUILD, pour l'utilisation de inetd ou xinetd afin que le serveur que tu as compilé soit à l'écoute. Le document traite aussi /etc/services et /etc/pam.d/

    Cela sera inetd ou xinetd qui se chargeront de solliciter le serveur imap s'ils reçoivent des requêtes. L'un ou l'autre doit donc tourner sur ton système.

    Pour tester le serveur imap, tu peux utiliser un client imap ou le tester avec telnet, comme cela :

    http://documents.made-it.com/imapcmd.html

    Dal
    1
  2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut,

    Ton xinetd a l'air correct (c'est une copie fidèle de la doc UW-IMAP). Pour le reste, c'est à tester :-)

    Pour pam, voilà ce que j'ai sur une Debian pas trop ancienne dans /etc/pam.d/imap :
    auth            required       pam_unix.so      nullok
    account         required       pam_unix.so
    password        required       pam_unix.so
    session         required       pam_unix.so

    En toute logique, cela devrait ressembler à cela,.. mais c'est un peu du bricolage, c'est pourquoi je te conseillais de voir la doc CentOS (où on voit cependant que le module semble porter le même nom, ce qui est déjà bien :P), sinon, tu pourrais attendre qu'un utilisateur de CentOS se manifeste sur le forum ou poser la question sur un forum CentOS.

    Dal
    1
    1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      Salut,

      Juste un petit mot sur xinetd.

      Pour tout te dire, le fait que UW-IMAP soit géré par inetd a été un motif additionnel pour lequel j'ai fui ce serveur IMAP, inetd n'ayant pas eu, par le passé, une bonne réputation de sécurité. xinetd est sensé être mieux sécurisé, mais c'est toujours la même idée à la base d'utiliser un démon en tant que super serveur. Donc, je ne suis pas une référence en xinietd (ni en rien d'autre d'ailleurs, mais en xinetd encore moins !), quand je vois inetd ou xinetd sur une machine, je préfère le désinstaller et faire autrement. Tu devrais peut être consulter une documentation, pour vérifier si tu n'a pas besoin de gérer des contrôles d'accès de générer des logs, etc. http://xinetd.org/
      0
  3. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Si j'ai bien compris, c'est le serveur IMAP de l'Université de Washington que tu essayes d'installer à partir de sources.

    Le site officiel est là http://www.washington.edu/imap/ et si tu dois récupérer des sources, fait le à partir de là et avec la dernière version.

    Sinon, un yum install uw-imap ne ferait pas l'affaire ?

    Il y a des années que je n'ai pas utilisé uw-imap, que j'avais trouvé très lent.

    J'utilise Courier IMAP, qui gère les boites au format Maildir.

    Dal
    0
  4. BenJ
     
    Merci d'avoir répondu :)

    Je suis obligé d'installer imap-2004g sur mon serveur Linux. Je ne peux pas installer une autre version :(
    Et il faut que je l'installe dans le repertoire /root/packages/imap-2004g
    Donc le yum install uw-imap ne fera pas l'affaire :s

    Mais j'ai quand meme essayer d'installer la derniere version d'imap, j'ai suivi la demarche de ces liens : http://www.directadmin.com/forum/showthread.php?s=&threadid=12430&highlight=imap2004g
    http://www.directadmin.com/forum/showthread.php?s=&postid=9992#post9992

    yum install pam
    yum install pam-devel
    yum install map-devel
    yum install pcre-devel
    yum install aspell-devel
    yum install libtool
    yum install libtool-devel
    yum install libc-client-devel.i386
    yum install libc-client.i386

    wget ftp://ftp.cac.washington.edu/imap/c-client.tar.Z
    tar -zxvf c-client.tar.Z

    cd imap-2007
    nano Makefile (read inside which format you need to use, pour Centos c'est "lrh")
    make lrh EXTRACFLAGS=-I/usr/kerberos/include EXTRALDFLAGS=-I/usr/kerberos/lib
    mkdir /root/packages/imap-2004g
    mkdir /root/packages/imap-2004g/lib
    mkdir/root/packages/imap-2004g/include

    cd c-client/
    cp *.h /usr/local/imap-2004d/include/
    cp *.c /usr/local/imap-2004d/lib/
    cp c-client.a /usr/local/imap-2004d/lib/libc-client.a


    Mais quand je fais la commande make lrh EXTRACFLAGS=-I/usr/kerberos/include EXTRALDFLAGS=-I/usr/kerberos/lib

    J'ai l'erreur ci dessous :
    make[3]: *** [osdep.o] Error 1
    make[3]: Leaving directory `/usr/local/imap-2004g/c-client'
    make[2]: *** [lnp] Error 2
    make[2]: Leaving directory `/usr/local/imap-2004g/c-client'
    make[1]: *** [OSTYPE] Error 2
    make[1]: Leaving directory `/usr/local/imap-2004g'
    make: *** [lrh] Error 2


    Qu'est ce qu'il faut que j'installe ou que je configure pour que l'installation d'Imap fonctionne ?

    Merci pour ton aide
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut,

    L'origine précise de l'erreur doit être indiquée par make dans l'output de make que tu n'as pas copié ci-dessus (tu n'as donné que les derniers messages d'erreur, pas celui/ceux qui les ont causés).

    Dal
    0
  7. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Re,

    Notre ami a précisé dans son message ci-dessus #2 qu'il a fait :

    yum install pam
    yum install pam-devel


    Le problème devrait se situer ailleurs, mais tant qu'on n'a pas les erreurs de compilation précises, on en est réduits aux suppositions.

    Dal
    0
  8. BenJ
     
    Salut,

    >Dal

    L'origine précise de l'erreur est :
    osdep.c:984: error: 'SSLSTREAM' has no member named 'iptr'
    osdep.c:984: error: 'SSLSTREAM' has no member named 'ibuf'
    osdep.c:985: error: 'SSLSTREAM' has no member named 'ictr'
    ...


    > vil_coyote

    Mes paquetages "pam" et "pam-devel" sont bien installés (cf mon post 2 ci dessus).

    J'ai essaye 36 facons pour intaller imap-20004g.tar et aucune ne marche j'ai pleins d'erreur quand je fait le buildit ou le make . Donc j'ai decide d'intaller la derniere version (imap-2007)

    Donc voila ce que j'ai fait :
    wget ftp://ftp.cac.washington.edu/imap/imap-2007.tar.Z
    tar zxvf imap-2007.tar.Z
    cd imap-2007
    make slx SSLTYPE=none
    mkdir /root/packages/imap-2004g
    mkdir /root/packages/imap-2004g/lib
    mkdir/root/packages/imap-2004g/include
    cd c-client/
    cp *.h /usr/local/imap-2004d/include/
    cp *.c /usr/local/imap-2004d/lib/
    cp c-client.a /usr/local/imap-2004d/lib/libc-client.a


    Et ca marche, je n'ai pu d'erreur!!

    Je vais reinstaller PHP 5.2 en le configurant avec imap :
    ./configure
    --prefix=/opt/apache2/php
    --with-apxs2=/opt/apache2/bin/apxs
    .................................................
    --with-imap=/root/packages/imap-2007


    Et je vous dirai si ca marche!!!

    Comment vérifier que imap est bien installé ?

    Merci pour votre aide
    0
  9. vil_coyote
     
    désolé pour "pam" j'avais pas vu !

    un truc étrange : tu as installé imap-2007 et pourtant tu créé un dossier /root/packages/imap-2004.
    Ensuite tu vas installer php avec l'option : --with-imap=/root/packages/imap-2007

    ...c'est logique ?
    0
  10. BenJ
     
    Non c'est pas logique!! J'ai fait un mauvais copier/coller :s

    Voici la bonne démarche:
    cd /root/ packages
    wget ftp://ftp.cac.washington.edu/imap/imap-2007.tar.Z
    tar zxvf imap-2007.tar.Z
    cd imap-2007
    make slx SSLTYPE=none
    mkdir /root/packages/imap-2007/lib
    mkdir/root/packages/imap-2007/include
    cd c-client/
    cp *.h /usr/local/imap-2007/include/
    cp *.c /usr/local/imap-2007/lib/
    cp c-client.a /usr/local/imap-2007/lib/libc-client.a


    C'est mieux la ?

    Y a t-il une commande pour vérifier que imap est bien installé ?

    Merci d'avance
    0
  11. BenJ
     
    Salut Dal,

    Je me disais aussi que c'était un peu trop facile!
    J'ai été voir le fichier imap-2007\docs\BUILD et j'ai plusieurs questions :

    Je configure que pour imap ou bien aussi pour pop et pop3 ?

    Comment savoir si mon système utilise inetd ou xinetd ?
    J'ai fait un find -name inetd.d mais j'ai rien trouve
    J'ai fait un find -name xinetd.d et j'ai un repertoire /etc/xinetd.d sur mon systeme donc a mon avis il faut que j'utilise
    xinetd.d pour que le serveur que j'ai compilé soit à l'écoute. C'est ca?

    Je n'ai pas de fichier /etc/services, est ce que je dois le créer et mettre dedans:
    imap 143/tcp

    Le repertoire /etc/pam.d/ exsite mais je n'ai pas de /etc/pam.d/imap :s
    Je dois le creer ? Qu'est ce que je dois mettre dedans ?


    Pour tester le serveur imap, tu peux utiliser un client imap ou le tester avec telnet, comme cela :
    http://documents.made-it.com/imapcmd.html


    Ok je testerai mon serveur imap a la fin

    Merci d'avance pour ton aide et tes explications
    0
  12. BenJ
     
    Voici ce que j'ai fait :
    -> cd /etc/xinetd.d
    -> echo > imap
    -> vi /etc/xinetd.d/imap

    service imap
    {
    disable = no
    socket_type = stream
    wait = no
    user = root
    server = /root/packages/imap-2007/imapd
    groups = yes
    flags = REUSE IPv6
    }


    J'ai bien un fichier /etc/services qui contient beaucoup de ligne dont :
    pop2 109/tcp
    pop2 109/udp
    pop3 110/tcp
    pop3 110/udp
    imap 143/tcp
    imap 143/udp


    Dans la documentation imap-2007\docs\BUILD, ils disent de mettre
    pop 109/tcp
    pop3 110/tcp
    imap 143/tcp


    Est ce que j'enleve tout ce qui concerne le protocole UDP ? Ou je laisse comme ça ?
    NB: Dans mon fichier /etc/services, c'est pop2 au lieu de pop ? Est ce que je change pop2 en pop?

    En revanche pour le PAM, je ne sais pas comment faire. Le repertoire /etc/pam.d/
    Est ce que je cree les 2 fichiers ci dessous ?
    /etc/pam.d/imap
    /etc/pam.d/pop


    Merci pour ton aide

    BenJ
    0
  13. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Je configure que pour imap ou bien aussi pour pop et pop3 ?

    C'est à toi de voir :-)

    Comment savoir si mon système utilise inetd ou xinetd ?
    J'ai fait un find -name inetd.d mais j'ai rien trouve
    J'ai fait un find -name xinetd.d et j'ai un repertoire /etc/xinetd.d sur mon systeme donc a mon avis il faut que j'utilise
    xinetd.d pour que le serveur que j'ai compilé soit à l'écoute. C'est ca?


    Oui, c'est probablement xinetd qui est sur ton système. Tu peux vérifier ce qui tourne

    ps aux | grep -i inetd

    Je n'ai pas de fichier /etc/services, est ce que je dois le créer et mettre dedans:
    imap 143/tcp


    C'est très étrange que tu n'aient pas déjà ce fichier. Ne connaissant pas CentOS, je ne sais pas s'ils utilisent une base de donnée alternative au lieu de ce fichier.. Tu devrais peut être te renseigner.

    Un fichier /etc/services fait habituellement environ 2000 lignes, peut-être devrait tu en récupérer un pour ta version de CentOS, s'il est anormal qu'il n'y soit pas.

    Pour information, chez moi (sur FreeBSD) pour imap, j'ai cela :

    imap 143/tcp imap2 imap4 #Interim Mail Access Protocol v2
    imap 143/udp imap2 imap4 #Interim Mail Access Protocol v2
    ...
    imaps 993/tcp # imap4 protocol over TLS/SSL
    imaps 993/udp


    Le fichier est possédé par root et a des permissions 644.

    Le repertoire /etc/pam.d/ exsite mais je n'ai pas de /etc/pam.d/imap :s
    Je dois le creer ? Qu'est ce que je dois mettre dedans ?


    Dans la doc (que je n'ai plus à portée de la main), ils disent que tu peux faire une copie d'un fichier existant (ftpd, je crois), le nommer "imap", et que cela devrait suffire.

    Tu pourrais aussi jeter un oeil à la documentation CentOS pour pam :

    http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-pam.html

    Dal
    0
  14. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Désolé, je n'ai pas vu ton post précédent.

    Non, garde ton /etc/services, il est parfait (y compris les lignes udp).

    Dal
    0
  15. BenJ
     
    Ok pour mon fichier /etc/services, je l'ai laisse comme il était

    Est ce que mon fichier /etc/xinetd.d/imap est bien configure ? (cf ci-dessous):
    service imap
    {
    disable = no
    socket_type = stream
    wait = no
    user = root
    server = /root/packages/imap-2007/imapd
    groups = yes
    flags = REUSE IPv6
    }


    Oui dans la doc /imap-2007/docs/BUILD, ils disent qu'on peut faire une copie d'un fichier "ftpd" et le nommer "imap".Le problème c'est que ce fichier est vide dans le répertoire /etc/pam.d/

    As tu le fichier /etc/pam.d/imap ou /etc/pam.d/ftpd sur ta machine Linux ?

    Merci pour ton aide

    BenJ
    0
  16. BenJ
     
    Salut Dal,

    Merci quand même pour ton aide et tes explications. Je pense que je vais galérer pour configurer imap!!

    Je cherche sur internet des tutoriels ou des explications pour installer et surtout configurer imap mais je ne trouve pas grand chose :(

    J'ai juste la documentation du /imap-2007/docs/BUILD

    Est ce que tu connais des liens qui explique comment configurer imap sous Linux ?

    Merci d'avance
    0
  17. BenJ
     
    Bon comme on dit "qui ne tente rien n'a rien"

    Alors je vais tenter!! J'ai mis un post sur le forum CentOS mais personne ne répond :(

    J'ai aussi fait un copier/coller de ton fichier /etc/pam.d/imap:
    auth required pam_unix.so nullok
    account required pam_unix.so
    password required pam_unix.so
    session required pam_unix.so


    Mais apres je ne sais pas trop quoi faire...

    J'ai fait un /etc/init.d/xinetd start

    Puis j'ai tente de tester mon serveur imap :
    telnet localhost 143

    Mais j'ai le message :
    Trying 127.0.0.1.....
    telnet: connect to address 127.0.0.1: Connection refused
    telnet: Unable to connect to remote host Connection refused

    Alors que par exemple telnet localhost 80 fonctionne !!1

    Merci pour votre aide
    0
  18. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut,

    Ce n'est pas "imap" sous Linux, c'est le serveur UW-IMAP que tu veux configurer.

    Désolé, je n'ai pas de liens.

    Ce n'est pas la "mer à boire" si tu veux faire des choses simples. UW-IMAP va utiliser les MBOX créées et gérées par défaut par UNIX dans les répertoires .Mail du /home de chaque user, les users sont ceux du système Unix, avec les mêmes mots de passe,...

    Vu que c'est un format MBOX standard sur Unix, Tu pourras accéder localement aux MBOX sur le serveur avec des clients de messagerie comme pine en ligne de commande pour accéder à la MBOX sans passer par le serveur IMAP (tu installes "pine", tu le lances et çà marche), ou utiliser des clients IMAP distants pour accéder aux mêmes boites.

    Lances toi, tu verras :-)

    Sinon, tu as çà https://www.oreilly.com/library/view/managing-imap/059600012X/ qui est cité par la FAQ. C'est en anglais, et on dirait qu'il n'est pas traduit en français par l'éditeur, mais il traite UW-IMAP et Cyrus et ses lecteurs ont l'air contents (d'après les commentaires, je n'ai pas cet ouvrage). Si je devais acheter cet ouvrage, cela serait plus pour Cyrus, qui m'a vraiment donné du fil à retordre. UW est très simple, en comparaison.

    Lis la FAQ aussi.

    Dal
    0
  19. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Vérifie si xinetd est bien lancé :

    ps aux | grep -i inetd

    Vérifie les logs de xinetd (à l'emplacement indiqué dans /etc/xinetd.conf)

    Dal
    0
  20. BenJ
     
    Je ne comprends pu rien du tout!

    Je suis complètement perdu!

    Qu'est ce que je dois faire ?
    0
  • 1
  • 2