Installer imap sur une machine Linux

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

Résumé de la discussion

L’installation de imap-2004g sur CentOS 5.1 échoue lors de la compilation, notamment avec une erreur ln: ip_unix.c existant et des messages OSTYPE et lnp dans le répertoire c-client. Des solutions proposées incluent la configuration d’inetd/xinetd et PAM selon BUILD, l’étude de la doc imap-2007, et l’éventualité d’utiliser des paquets UW-IMAP ou yum pour simplifier l’installation. Certaines réponses recommandent aussi de vérifier les services et fichiers de configuration (/etc/xinetd.d, /etc/services, /etc/pam.d) et de tester le serveur avec un client IMAP ou Telnet. En parallèle, des échanges évoquent que l’approche la plus fiable consiste à partir d’une version UW-imap récente et à installer via un paquet prénoté, plutôt que d’assembler les sources obsolètes.

Bobot (l’IA à votre service)
  1. Merci pour tes explications et pour toute l'aide que tu m'apportes

    Je vais suivre tes instructions et si j'ai un problème je laisserai un post ici

    Dernière petite question qui n'a rien avoir avec Imap mais qui concerne le serveur Apache et phpinfo()
    J'ai laisse un post mais personne ne m'a répondu :( et vu que tu es le seul a me repondre :)
    Si tu peux jeter un œil la dessus : http://www.commentcamarche.net/forum/affich 5241817 configurer apache

    Merci d'avance
    1. Contributeur
      1.

      Assure toi que le serveur imap est désormais bien lancé par xinetd.

      Après avoir relancé xinitd, tu fais un test avec telnet localhost 143.

      Si tout va bien, tu devrais au moins voir le serveur imap te répondre.

      Sinon, vas voir dans les logs si tu vois des messages d'erreur.

      2.

      Si c'est comme RedHat, le MTA par défaut sur CentOS doit être sendmail, et je suppose qu'il est déjà installé et capable, au moins, d'envoyer des e-mails localement d'un user Linux à un autre.

      3.

      Après vérification, l'UW semble avoir cessé le développement de pine, remplacé désormais par alpine. Installe donc celui là, si tu veux. Je ne t'ai parlé de pine que pour te dire que le format de stockage des e-mails était le même (MBOX) et pouvait, éventuellement être accédé en local.

      Pine (ou alpine) gère aussi, d'ailleurs, les connexions à des serveurs imap. Tu pourras donc éventuellement aussi l'utiliser à cette fin sur le serveur lui même, pour tester le serveur imap sur le serveur en ligne de commande avec ce client de messagerie.

      Je ne sais pas ce que tu veux faire de ton serveur imap, mais l'intérêt d'un serveur imap est d'être utilisable à distance. Tu devrais donc, par exemple, essayer de paramétrer un client de messagerie Windows pour y accéder.

      Dal
      1. 1. Putty est deja installe sur ma machine windows, je n'ai pas eu l'idee de l'utiliser pour faire les copier/coller! Je testerai ca la prochaine fois que je dois faire un copier/coller.

        2. Mon fichier xinetd.conf contient bien la directive: includedir /etc/xinetd.d
        Elle etait tout a la fin de mon fichier, je ne l'avais pas vu :(

        Tout a l'air d'etre correct! Je fais quoi maintenant? J'installe pine?

        Merci pour tes explications
        1. Contributeur
          1.

          Si ta machine est dotée d'un serveur ssh, tu peux te connecter dessus à partir de Windows avec un client ssh comme putty (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) et faire des copier-collers très simplement (ce que tu sélectionnes à l'écran avec la souris dans la fenêtre de terminal est copié dans le presse papier de Windows).

          2.

          Ton fichier xinetd.conf, pour pouvoir lire les configurations présentes dans le répertoire /etc/xinetd.d (et notamment la configuration de imap que tu y as insérée) doit contenir une directive

          includedir /etc/xinetd.d

          (comme proposé là http://www.lea-linux.org/cached/index/Reseau-secu-xinetd.html)

          ou doit contenir les définitions des services à la suite du fichier, comme illustré là :

          http://www.lea-linux.org/cached/index/Reseau-secu-xinetd.html

          Rectifie le fichier, si besoin est, et relance xinetd.

          3.

          Tes logs xinetd vont à Syslog. Selon la configuration de son système, il y a des chances que les logs soient dans /var/log/daemon.log ou /var/log/messages

          4.

          En dehors du fait que ton xinetd.conf ne contient pas de directive includedir, pourquoi dis tu qu'il est "bizarre" ?

          Dal
          1. En faite je ne peux pas faire de copier/coller car je bosse sur 2 machines differentes Windows sur laquelle je laisse des posts sur ce forum et mon serveur Linux. Donc j'ai recopie a la main les lignes affiche sur l'ecran de mon serveur Linux

            Rectification :
            cat /etc/xinetd.d/imap
            service imap
            {
            disable = no
            socket_type = stream
            wait = no
            user = root
            server = /root/packages/imap-2007/imapd/imapd
            groups = yes
            flags = REUSE IPv6
            }

            car file /root/packages/imap-2007/imapd
            /root/packages/imap-2007/imapd/ : directory

            /root/packages/imap-2007/imapd contient plusieurs fichiers :
            imapd (executable), imapd.c, imapd.o, Makefile

            ls -l /root/packages/imap-2007/imapd

            -rwxr-xr-x 1 root root 1884916 Feb 27 11:18 /root/packages/imap-2007/imapd/imapd

            Donc tout semble correct maintenant non ?

            En revanche le fichier cat /etc/xinetd.conf est bizarre :
            defaults
            {
            # enabled =
            # disabled =

            #Define general logging characteristics
            log_type = SYSLOG daemon info
            log_on_failure = HOST
            log_on_success = PID HOST DURATION EXIT

            #Define access restriction defaults
            cps = 50 10
            instances = 50
            per_source = 10

            #Address and networking defaults
            v6only = no

            #setup environmental attributes
            groups = yes
            umask = 002
            }


            Je n'ai pas copier/coller les lignes de commentées

            Qu'en penses tu?

            Merci pour ton aide
            1. Contributeur
              Salut,

              Dans ta description de service imap dans /etc/xinetd.d/imap, la ligne "server = " devrait indiquer le chemin complet de l'exécutable lançant le démon imapd.

              Or, le résultat de

              ls -l /root/packages/imap-2007/imapd
              imapd
              imapd.c -> /root/packages/imap-2007/src/imapd/imapd.c
              imapd.o
              Makefile -> /root/packages/imap-2007/src/imapd/Makefile


              n'est pas cohérent, car il ne donne pas un fichier (comme dans le cas ls -l /etc/pam.d/imap), mais plusieurs. De plus, il y a un problème avec le résultat de la commande, car l'option -l devrait donner les permissions (je ne m'explique pas ce résultat, as-tu oublié le "-l" ?).

              fait

              file /root/packages/imap-2007/imapd

              et copie le résultat ici

              Sinon .. ton exécutable, il se trouverait pas plutôt là :

              /root/packages/imap-2007/imapd/imapd

              ?

              Dal
              1. Re,

                Ok pour le /etc/pam.d/imap avec les donnees que tu m'avais donnees mais ca metonnerait que ca marche car on n'a pas les memes distributions mais bon on peut toujours essayer

                ps aux | grep -i inetd
                root 2635 0.0 0.1 2684 844 ? Ss 08:52 0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid

                cat /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
                }

                ls -l /root/packages/imap-2007/imapd
                imapd
                imapd.c -> /root/packages/imap-2007/src/imapd/imapd.c
                imapd.o
                Makefile -> /root/packages/imap-2007/src/imapd/Makefile

                ls -l /etc/pam.d/imap
                -rw-r--r-- 1 root root 124 Feb 28 11:30 /etc/pam.d/imap

                cat /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
                1. Autre question :

                  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 Linux. L'autre etant le serveur IMAP de l'Université de Washington (UW-imap) que j'ai installe au debut!

                  Qu'en pensez vous? Cyrus ou UW-imap?
                  1. Contributeur
                    Re,

                    Mais qu'est ce que je fais pour le /etc/pam.d/imap ? car il n'existe pas!!

                    Tu m'as dit que tu l'avais créé avec les données d'exemple que je t'avais données. C'est donc qu'il existe bien dans ton système. Donc, on va essayer comme çà et voir si cela passe.

                    qu'est ce que je dois faire ou installer pour finir l'installation et la configuration de mon serveur IMAP

                    Tu devrais avoir fini, mais apparemment quelque chose ne va pas, alors on essaye de déterminer la cause.

                    ps aux | grep -i inetd

                    Tape cette commande et copie ici le résultat. Cela nous dira si xinetd (c'est volontairement que je n'ai pas mis de x devant, afin de capturer dans le résultat xinetd comme inetd) est bien lancé.

                    Ensuite, fait

                    cat /etc/xinetd.conf
                    cat /etc/xinetd.d/imap
                    ls -l /root/packages/imap-2007/imapd
                    ls -l /etc/pam.d/imap
                    cat /etc/pam.d/imap


                    et poste les résultats ici

                    On verra pour la suite.

                    Dal
                    1. Merci vil_coyote mais ce problème est résolu depuis hier (cf le post 6 et 8 en page 1) !!!
                      1. Dal,

                        J'ai respire un bon coup :-)

                        Je ne comprends pas ton post #19
                        Peux tu donner les étapes que je dois faire ...?

                        Pour résumer depuis le début, j'ai fait :
                        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


                        Ensuite je modifie le fichier /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
                        }


                        Mon fichier /etc/services est correct!

                        Mais qu'est ce que je fais pour le /etc/pam.d/imap ? car il n'existe pas!!


                        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.


                        J'ai bien compris mais qu'est ce que je dois faire ou installer pour finir l'installation et la configuration de mon serveur IMAP? Je dois installer pine en faisant yum install pine ?

                        Merci pour ton aide et encore désole :S
                        1. Salut,

                          Patrick y est arrivé ! je le cite :

                          consegui resolver.

                          wget ftp://ftp.cac.washington.edu/imap/imap-2007.tar.Z
                          tar zxvf imap-2007.tar.Z
                          cd imap-2007
                          make slx SSLTYPE=none

                          cd ../php-5.2.5
                          ./configure --with-imap=/root/imap-2007
                          make && make install


                          Patrick avait le même message d'erreur :
                          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'


                          source : https://under-linux.org/showthread.php?t=102153

                          bip ! bip !
                          1. Je ne comprends pu rien du tout!

                            Je suis complètement perdu!

                            Qu'est ce que je dois faire ?
                            1. Contributeur
                              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
                              1. Contributeur
                                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
                                1. 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
                                  1. 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
                                    1. Contributeur
                                      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. Contributeur
                                        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/
                                    2. 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
                                      • 1
                                      • 2