IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Soucis d'installation de WebDAV


Sujet :

Apache

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Soucis d'installation de WebDAV
    Bonjour.

    Je viens vers vous dans un long post comme j'ai l'habitude de les faire lorsque j'ai un problème; parce que ce n'est pas les habituelles deux lignes de sms qu'on ne voit que trop fréquemment qui aident les gens à comprendre le soucis.

    Donc comme indiqué dans le titre, j'ai des soucis pour faire fonctionner le mod_dav. A noter que je souhaite le faire fonctionner d'une certaine façon, le but n'étant pas que ça fonctionne à tout prix, mais que je réussisse à le faire aller de la façon dont je souhaite l'installer.

    Je vais donc partir de zéro.

    Pour un peu plus de détails, la "façon", donc, dont je souhaite tout faire fonctionner, c'est en installant tout avec le code source, et en intégrant le mod_dav en tant que .so.

    Petit aperçu de mon dossier dev (dans mon dossier personnel hein, aucun rapport avec le vrai /dev):
    - dev
    ---- apache
    -------- (les dossiers d'apache)
    -------- www
    ------------ dav
    ---- src
    -------- httpd-2.2.17
    -------- tar
    ------------ httpd-2.2.17.tar.gz
    Donc le répertoire src contient simplement les dossiers sources, permettant les installations...

    Pour installer Apache, je fais donc ceci (en occultant la partie décompression du dossier et les sudo)
    Dans dev/src/httpd-2.2.17 :
    ./configure --prefix=/home/.../dev/apache --enable-so
    make -j 2
    make install

    Puis dans dev/apache :
    ./bin/apxs -c -i -n dav -a /home/.../dev/src/httpd-2.2.17/modules/dav/main/mod_dav.c
    Je redémarre alors Apache pour voir si à partir d'ici il n'y a pas d'erreur, mais malheureusement si.

    httpd: Syntax error on line 53 of /home/chameau/dev/apache/apache-2.2.17/conf/httpd.conf: Cannot load /home/chameau/dev/apache/apache-2.2.17/modules/mod_dav.so into server: /home/chameau/dev/apache/apache-2.2.17/modules/mod_dav.so: undefined symbol: dav_core_find_liveprop
    Des idées?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Bizarre. Tu peux donner la sortie de la commande apxs ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Voila voila

    ~/dev/apache/apache-2.2.17$ sudo ./bin/apxs -c -i -n dav -a /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/mod_dav.c
    /home/chameau/dev/apache/apache-2.2.17/build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/home/chameau/dev/apache/apache-2.2.17/include -I/home/chameau/dev/apache/apache-2.2.17/include -I/home/chameau/dev/apache/apache-2.2.17/include -c -o /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/mod_dav.lo /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/mod_dav.c && touch /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/mod_dav.slo
    /home/chameau/dev/apache/apache-2.2.17/build/libtool --silent --mode=link gcc -o /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/mod_dav.la -rpath /home/chameau/dev/apache/apache-2.2.17/modules -module -avoid-version /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/mod_dav.lo
    /home/chameau/dev/apache/apache-2.2.17/build/instdso.sh SH_LIBTOOL='/home/chameau/dev/apache/apache-2.2.17/build/libtool' /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/mod_dav.la /home/chameau/dev/apache/apache-2.2.17/modules
    /home/chameau/dev/apache/apache-2.2.17/build/libtool --mode=install cp /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/mod_dav.la /home/chameau/dev/apache/apache-2.2.17/modules/
    cp /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/.libs/mod_dav.so /home/chameau/dev/apache/apache-2.2.17/modules/mod_dav.so
    cp /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/.libs/mod_dav.lai /home/chameau/dev/apache/apache-2.2.17/modules/mod_dav.la
    cp /home/chameau/dev/src/httpd-2.2.17/modules/dav/main/.libs/mod_dav.a /home/chameau/dev/apache/apache-2.2.17/modules/mod_dav.a
    chmod 644 /home/chameau/dev/apache/apache-2.2.17/modules/mod_dav.a
    ranlib /home/chameau/dev/apache/apache-2.2.17/modules/mod_dav.a
    PATH="$PATH:/sbin" ldconfig -n /home/chameau/dev/apache/apache-2.2.17/modules
    ----------------------------------------------------------------------
    Libraries have been installed in:
    /home/chameau/dev/apache/apache-2.2.17/modules

    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    during execution
    - add LIBDIR to the `LD_RUN_PATH' environment variable
    during linking
    - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
    - have your system administrator add LIBDIR to `/etc/ld.so.conf'

    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
    chmod 755 /home/chameau/dev/apache/apache-2.2.17/modules/mod_dav.so
    [activating module `dav' in /home/chameau/dev/apache/apache-2.2.17/conf/httpd.conf]

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Tu démarres Apache comment (quelle commande ?) ? As-tu essayé de faire ce qui es indiqué dans le commentaire à la fin de la commande apxs ? J'entends par là éditer le fichier /etc/ld.so.conf s'il existe pour y indiquer le chemin /home/chameau/dev/apache/apache-2.2.17/modules.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Je démarre Apache de cette façon : sudo [Dossier Apache]/bin/apachectl start

    Quand au fichier /etc/ld.so.conf, il ne contient que ceci : include /etc/ld.so.conf.d/*.conf

    J'ai donc suivi bêtement la logique et ajouté (testé aussi sans include) : include /home/chameau/dev/apache/apache-2.2.17/modules

    Après lecture rapide de l'utilité de ce fichier, j'ai lu qu'il fallait exécuter /sbin/ldconfig après chaque modification du fichier précédent, ce que j'ai fait.

    Puis j'ai redémarré Apache, mais rien n'y fait. Même erreur.

    Edit : J'ai ajouté les modules dav_fs et dav_lock au cas où le problème viendrait de là, et non...
    Par contre, je note que le soucis d'undefined symbol survient également sur les deux autres modules, l'erreur affichée n'étant pas la même en fonction de quel module se trouve en première position de chargement dans le httpd.conf.
    LoadModule mod_dav_fs_module modules/mod_dav_fs.so en premier : undefined symbol: dav_fs_gather_propsets
    LoadModule mod_dav_lock_module modules/mod_dav_lock.so : undefined symbol: dav_hooks_locks_generic

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    J'ai fait un test hier et c'est effectivement assez bizarre : le module généré par APXS est beaucoup plus petit que celui généré par un ./configure --with-... C'est un peu comme si APXS ne compilait pas tout le module.

    Tu es vraiment sur de vouloir compiler avec APXS et pas un --with ? Un --with te génèrera aussi un .so.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Quelle est la différence entre les deux méthodes?

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Honnêtement, aucune idée !! Mais y en a une qui marche

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Poussons la question un peu plus loin.

    J'installe Apache comme annoncé précédemment.

    Si je veux ajouter le mod_dav avec le --enable, est-ce que je dois :
    - désinstaller Apache et le réinstaller avec le enable
    - refaire un configure avec enable dav > make clean (c'est ça?) > make install
    - refaire un configure entier (--prefix, -- enable-so, --enable-dav....)

    Les solutions 2 et 3 ne risquent-elles pas de faire un reset, entre autres, du httpd.conf?

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    A mon avis, tu peux faire une compile quasi complète (make clean, configure et make) mais surtout pas le make install. Comme ça, tu as tout compilé mais pas écrasé l'existant. Il ne restera plus qu'à trouvé et copié le fichier mod_dav.so.

    Citation Envoyé par Alkaest Voir le message
    Les solutions 2 et 3 ne risquent-elles pas de faire un reset, entre autres, du httpd.conf?
    Un simple backup du fichier pour restauration ultérieure devrait faire l'affaire.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bonjour bonjour. Me revoilà pour une nouvelle question en repensant à tout ça...
    Quelle est la différence entre -with-dav (comme proposé), et --enable-dav?

  12. #12
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Euh... Faut lire dans le détail l'aide configure. Comme ça, à froid, je dirais que la différence se joue dans la prise en charge de mod_dav en tant que module DSO : avec --with... tu compiles Apache pour qu'il intègre directement le module en question dans l'exécutable. En gros, tu n'auras pas de fichier .so pour ce module. A l'inverse, avec --enable... tu compiles le module à part (tu as donc un .so) et tu peux le charger dans Apache avec la directive LoadModule.

    Mais je ne suis vraiment pas un pro de la compilation d'Apache, donc il ne faut surtout pas me croire sur parole

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Tu es vraiment sur de vouloir compiler avec APXS et pas un --with ? Un --with te génèrera aussi un .so.
    avec --with... tu compiles Apache pour qu'il intègre directement le module en question dans l'exécutable. En gros, tu n'auras pas de fichier .so pour ce module
    Euh...

    Sinon pas d'inquiétudes, je suis le premier à éplucher la doc

    Revenons à nos moutons. Je pose la question pour voir si j'ai bien compris.

    Le principe d'apxs est d'ajouter "à chaud" un module dans apache.

    Dans le cas contraire, pour faire la même, il faut utiliser le configure. Auquel cas il faut retaper la commande exacte tout en rajoutant le module requis...

    La commande install va écraser notre précédente version d'Apache pour ajouter la nouvelle. Mais cette commande n'est pas tout le temps utile pour cette même raison.

    Dans le cas de quelqu'un qui s'y connait un peu (ou pas) et sait exactement quel fichier il veut ajouter (un seul dans mon cas donc c'est suffisamment facile), il suffit comme conseillé précédemment d'aller le piocher, et le rajouter dans notre dossier actuel, et tout fonctionne.

    J'ai bon?

    En gros, apxs est une sorte de... pour imager, c'est un peu comme faire entrer une cheminée par une maison construite. Sans apxs, il faut déconstruire la maison, faire entrer la cheminée, puis la reconstruire.
    Avec apxs, la cheminée arrive en pièces détachées, et on la monte à l'intérieur...

    J'ai bon aussi?

    Dernière question affirmative : dans tous les cas, un redémarrage du serveur est requis.

  14. #14
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Par expérience, je dirais que ce n'est pas tout à fait ça. Le plus important c'est d'avoir compilé Apache avec le module DSO. C'est ce module qui apporte la directive LoadModule. Sans elle, tu ne peux rien faire.

    Après, APXS c'est juste un moyen simple de compiler et déclarer (= ajout du LoadModule dans la conf d'Apache) un module après avoir compilé Apache. Reste plus que le redémarrage. APXS va réexploiter les fichiers générés par configure pour retrouver les répertoires et les fichiers qui vont bien.

    Mais APXS est juste un moyen simple : tu peux toujours recompiler complètement Apache avec configure et t'arrêter au make (i.e. ne pas faire make install) : dans le répertoire des sources d'Apache, tu trouveras quelque part le .so qui va bien et il te suffit de le copier dans le bon répertoire et d'ajouter toi-même le LoadModule qui va bien.

    J'ai déjà voulu utilisé APXS mais ça n'a pas réussi : j'en suis revenu à la seconde méthode que j'évoque C'était pour compiler mod_dav d'ailleurs, je crois

Discussions similaires

  1. Installation de webdav
    Par cybernetique dans le forum Mandriva / Mageia
    Réponses: 20
    Dernier message: 04/04/2008, 10h32
  2. Souci d'installation tuto nicolas bauland
    Par kaygee dans le forum Ogre
    Réponses: 5
    Dernier message: 16/12/2006, 08h42
  3. [webdav]Recherche comment installer serveur webdav
    Par elitost dans le forum Windows XP
    Réponses: 4
    Dernier message: 04/12/2006, 10h18
  4. Souci d'installation XMLRAD2005 BuildSR1
    Par mchicoix dans le forum XMLRAD
    Réponses: 7
    Dernier message: 30/09/2005, 14h47
  5. [10g] Mes soucis d'installation sous XP pro
    Par Pythagore dans le forum Installation
    Réponses: 13
    Dernier message: 29/11/2004, 18h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo