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

Programmation et administration système Perl Discussion :

[web] [debutant]perl sur apache & win32


Sujet :

Programmation et administration système Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut [web] [debutant]perl sur apache & win32
    Salut,

    Voici mon probleme:
    Je possede un serveur avec Apache/2.0.53 (Win32) mod_perl/2.0.2 Perl/v5.8.8
    le probleme etant que les scripts perl s executent parfaitement dans l explorateur mais dans une page web, il m affiche la source comme si c etait un fichier texte ( /cgi-bin/test.pl )
    pourtant, mon httpd.conf contient bien tout ce qui est necessaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LoadFile "c:/usr/bin/perl58.dll"
    LoadModule perl_module modules/mod_perl.so
    AddHandler cgi-script .cgi .pl
    AddHandler cgi-handler .cgi .pl
    des idees?
    PS: j utilise un clavier qwerty Japonais donc pas d accents ni d apostrophe :p

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    un peu d aide serai vraiment aprecie...

  3. #3
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut
    tu peut etre un peu plus precis, comment accedes tu au script perl???
    Est ce que tu les place dans le bon dossier???
    Comment fais tu appel a ton script???

    Un peu plus de detail serai bien venu!!!

  4. #4
    Membre habitué Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 170
    Points
    170
    Par défaut
    ton fichier perl au début c'est
    #!/usr/bin/perl
    qu'il faut mettre
    et pas #!\usr\bin\perl
    Si un ricard vaut un steak, j'ai bien bouffé une vache hier soir !
    L'art de poser les bonnes questions dans les forums afin de ne pas passer pour un

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    @rcageot: meme resultat.
    @crochepatte: le script est place dans le cgi-bin du root apache (c:\webapache\cgi-bin\test.pl), perl est quand a lui, dans c:\usr\bin\perl.exe
    j utilise mod_perl (le 3/4 de ces infos etaient dans /phpinfo.php ^_^; )

  6. #6
    Membre habitué Avatar de Leishmaniose
    Homme Profil pro
    Ingénieur Bio-industries
    Inscrit en
    Novembre 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Bio-industries
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 145
    Points : 141
    Points
    141
    Par défaut
    salut,

    Tout porte à croire que c'est un problème de shebang, essaye de mettre le chemin complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #!C:/usr/bin/perl.exe
    Sinon on trouvera une autre solution...

    Good luck

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    /cgi-bin/test.pl modifie, toujours pareil T_T
    j ai l impression que apache ne traite pas le shebang sur mon serv...

  8. #8
    Membre habitué Avatar de Leishmaniose
    Homme Profil pro
    Ingénieur Bio-industries
    Inscrit en
    Novembre 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Bio-industries
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 145
    Points : 141
    Points
    141
    Par défaut
    Dans ce cas essaye d'installé Perl sous :

    et d'utiliser le shebang suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #!C:/webapache/perl/bin/perl.exe
    Good luck again...

  9. #9
    Membre habitué Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 170
    Points
    170
    Par défaut
    de mon coté j'aurai plutot tendance à dire que c'est apache qui est mal configuré et qui ne comprend pas que les fichiers .cgi, .pl se trouvant dans le dossier cgi-bin doivent être executé et non pas affiché comme il le fait !

    sous unix, il faut le shebang et les droits d'execution
    parce que sous windows, shebang ou pas, il s'en cogne ! il ne regarde que l'extention
    Si un ricard vaut un steak, j'ai bien bouffé une vache hier soir !
    L'art de poser les bonnes questions dans les forums afin de ne pas passer pour un

  10. #10
    Membre habitué Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 170
    Points
    170
    Par défaut
    j'ai trouvé ça ici (http://www.alianwebserver.com/inform...nstall.htm#web)

    Dans le fichier httpd.conf: redéfinir la variable ScriptAlias qui définit les répertoires contenant les CGI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # ScriptAlias : 
    # Liste des repertoires contenant 
    # les scripts CGI autorisés à etre executer
    # Format: ScriptAlias URL chemin_complet
    ScriptAlias /cgi-bin/ /usr/local/httpd/cgi-bin/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    # Pour les scripts CGI
    # Seul les fichiers avec l'extension 
    # .pl sont autorisés
    AddHandler cgi-script .pl
    AddHandler cgi-script .cgi
    AddHandler cgi-script .exe
    # Pour PHP :
    AddType application/x-httpd-php3 .php3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <Directory /usr/local/www/cgi-bin>  
      <Limit GET POST>
        Option None 
        Order allow,deny
        Allow from all 
      </Limit> 
    </Directory>
    <Directory /usr/local/www/cgi-bin>  
       <Limit PUT DELETE>
         Option All 
         Deny from all 
       </Limit> 
    </Directory>
    tu remplaces les "/usr/local/www" par ton path perso et ça devrait rouler
    Si un ricard vaut un steak, j'ai bien bouffé une vache hier soir !
    L'art de poser les bonnes questions dans les forums afin de ne pas passer pour un

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    @Leishmaniose: c est comme si j avait rien fait
    @rcageot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <Directory /usr/local/www/cgi-bin>  
      <Limit GET POST>
        Option None 
        Order allow,deny
        Allow from all 
      </Limit> 
    </Directory>
    <Directory /usr/local/www/cgi-bin>  
       <Limit PUT DELETE>
         Option All 
         Deny from all 
       </Limit> 
    </Directory>
    apache aime pas le "option all & none" il me fait une erreur.
    j ai donc supprime les 2 "option" et fait le reste, meme resultat...

  12. #12
    Membre habitué Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 170
    Points
    170
    Par défaut
    tu ne voudrais pas nous poster ton httpd.conf qu'on regarde à quoi il ressemble ?

    sinon j'ai trouvé ça sur le site d'apache
    http://perl.apache.org/docs/1.0/guid..._the_Webserver

    My CGI/Perl Code Gets Returned as Plain Text Instead of Being Executed by the Webserver

    Check your configuration files and make sure that the ExecCGI is turned on in your configurations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      <Location /perl>
        SetHandler perl-script
        PerlHandler Apache::Registry
        Options ExecCGI
        allow from all
        PerlSendHeader On
      </Location>
    en passant, tu devrais poster ton pb dans un forum httpd apache, pour moi c'est plus un pb de config apache qu'un problème perl
    Tu aurais plus de chance de trouver quelqu'un qui a déjà eu ce pb avant toi !
    essaye de poster ici : http://www.developpez.net/forums/forumdisplay.php?f=315 dans le forum apache
    Si un ricard vaut un steak, j'ai bien bouffé une vache hier soir !
    L'art de poser les bonnes questions dans les forums afin de ne pas passer pour un

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    suite du thread ICI

    edit: j ai essaye
    <Location /perl>
    SetHandler perl-script
    PerlHandler Apache::Registry
    Options ExecCGI
    allow from all
    PerlSendHeader On
    </Location>
    mais c est comme une pierre dans l eau, ca fait "plouf"...

  14. #14
    Membre habitué Avatar de rcageot
    Profil pro
    rien
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 170
    Points
    170
    Par défaut
    attention Location /Perl indique que les fichiers concernés sont ceux qui se trouvent dans le dossier /Perl
    dans ton cas ça doit être /cgi-bin
    Si un ricard vaut un steak, j'ai bien bouffé une vache hier soir !
    L'art de poser les bonnes questions dans les forums afin de ne pas passer pour un

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    grumlm, j ai teste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <Location /cgi-bin>
    SetHandler perl-script
    PerlHandler Apache::Registry
    Options ExecCGI
    allow from all
    PerlSendHeader On
    </Location>
    l evolution, c est que le serveur me fait une erreur 500 maintenant mais bon, c est toujours mieux que de voir la source en plain text

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    j ai eu la bonne idee de rearder l erreur dans mon log et voila ce que j ai trouve:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Fri Nov 03 15:36:20 2006] [error] [client 127.0.0.1] failed to resolve handler `Apache::Registry': Can't locate Apache/Registry.pm in @INC (@INC contains: C:/usr/site/lib C:/usr/lib . C:/webapache) at (eval 3) line 3.\n
    une idee pour fixer ca?

    EDIT:
    j ai trouve sur un site http://www.math.utexas.edu/mz/fx/pip...ay/000640.html
    > Can't locate Apache/Registry.pm in a t INC
    >
    > My httpd is a follows:-
    >
    > Alias /y/ /www/webcal/bin/
    > PerlRequire "/www/webcal/bin/startup.pl"
    > <Location /y>
    > AllowOverride All
    > SetHandler perl-script
    > PerlHandler Apache::Registry
    > PerlSendHeader On
    > Options +ExecCGI
    > </Location>

    This snippet from your httpd.conf looks like it is setup for mod_perl1. With
    mod_perl2 you need to make a few changes. It should instead look something
    like this:

    Alias /y/ /www/webcal/bin/
    PerlRequire "/www/webcal/bin/startup/pl"
    <Location /y>
    AllowOverride All
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    Options +ExecCGI +FollowSymlinks
    </Location>

    The rest of your httpd.conf looks ok.
    j ai donc rempleca comme dit mais du coup, j ai cette erreur a la place...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Fri Nov 03 15:45:36 2006] [error] [client 127.0.0.1] failed to resolve handler `ModPerl::Registry': Can't locate ModPerl/Registry.pm in @INC (@INC contains: C:/usr/site/lib C:/usr/lib . C:/webapache) at (eval 3) line 3.\n

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    des idees?

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    bon, j'ai trouve tout seul comme un grand...
    g vire mod_perl et je l'ai reinstalle avec PPM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      C:\> ppm install http://theoryx5.uwinnipeg.ca/ppms/mod_perl-2.0.ppd

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant] Perl sur un forum
    Par ZeNoob dans le forum Web
    Réponses: 1
    Dernier message: 23/04/2015, 16h35
  2. Réponses: 3
    Dernier message: 11/05/2006, 18h47
  3. Réponses: 3
    Dernier message: 01/06/2004, 10h44
  4. Réponses: 2
    Dernier message: 13/05/2004, 22h53
  5. [web] Perl et apache
    Par Laurent M dans le forum Web
    Réponses: 7
    Dernier message: 13/02/2004, 11h46

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