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

Web Perl Discussion :

Epineux problème CGI


Sujet :

Web Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Epineux problème CGI
    Bonjour à tous,


    Je suis à la fois content de retrouver le Forum Perl de developpez.net
    et assez anxieux, et pour cause, encore un problème lourdingue à régler!


    Je m'explique.
    Je suis en TAL et j'essaye de développer une application web dont la vocation
    serait de récupérer les emails des utilisateurs et d'en extraire
    les propositions de rendez-vous afin de les proposer au format hCard.

    Après avoir :
    -Installé Apache 2.2
    -Réglé diverses embûches telles que mon FAI qui bloque le port 80 pour éviter que ses utilisateurs n'achètent pas son service "Site Web", les topics qui proposent une aide qui ne convient QUE à Apache 1.3, les problèmes inhérents aux droits, etc.

    Après toutes ces embûches, je me retrouve face à un sacré problème.
    L'appel de monserveur.com/cgi-bin/index.pl m'apporte un HTTP 500 lorsque, et seulement, lorsque j'utilise CGI.
    D'ailleurs le code que j'ai utilisé pour le tester est archi-basique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/usr/local/bin/perl -w
    use CGI;                             
    $q = CGI->new;                        
    print("Hello");
    On peut donc éliminer un problème de syntaxe.

    Pourtant :
    - $chown -R www-data:www-data * à la racine
    - $chmod -R 0755 * à la racine
    - Installation complète du module CGI (vérfication faite à la main)
    - Serveur tout à fait connecté et accessible pour peu qu'on lui
    demande autre chose que du CGI.
    - RTFM jusqu'au bout
    - Google n'a jamais été autant mon ami.


    Pour les spécialistes :
    Ma configuration Apache
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <VirtualHost *:85>
    	ServerName monserveur.com
    	ServerAdmin SonyBlack@gmail.com
     
    	DocumentRoot /var/www/htdocs
    	<Directory /var/www/htdocs>
    		Options Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all
    		RedirectMatch ^/$ /index.pl
    	</Directory>
     
    	ScriptAlias /cgi-bin/ /var/www/htdocs/cgi-bin/
    	<Directory /var/www/htdocs/cgi-bin/>
    		Options ExecCGI Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all 
    		AddHandler cgi-script cgi pl py
    	</Directory>
     
     
    	ErrorLog /var/log/apache2/error.log
     
    	# Possible values include: debug, info, notice, warn, error, crit,
    	# alert, emerg.
    	LogLevel warn
     
    	CustomLog /var/log/apache2/access.log combined
     
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
    </VirtualHost>

    Besoin d'aide ?
    En effet, j'ai clairement besoin d'aide chère communauté Perl.
    Je suis assez patient et méticuleux. Mais, ce coup-ci, je sèche.
    Ca va faire plusieurs heures que je bloque sur ce problème.
    Je vois les heures défiler et mon travail qui n'avance pas.
    Bref, le stress de l'étudiant qui bloque et qui n'avance pas

    Si, déjà, je pouvais comprendre d'où vient le problème.
    Est-ce Apache et ses droits ?
    Est-ce Perl qui foire un peu ?
    Est-ce mod_perl qui n'est pas configuré correctement ?
    J'ai tout vérifié, changé, backuper, paramétriser, manualiser, etc.

    Et ... nada !
    Toujours ce bon vieux HTTP 500 qui est me raconte sa vie.

    Bon,
    Vais me prendre une bière et pieuter.


    Merci d'avance.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Au niveau du programme CGI, voici déjà ce que je te recommande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/local/bin/perl 
    use warnings;
    use strict;
     
    use CGI;                             
     
    my $cgi = CGI->new;    
    print $cgi->header();
    print $cgi->start_html(-title => 'page de test');
    print "Hello";
    print $cgi->end_html;
    Ensuite, niveau configuration apache, je constate ceci :
    <VirtualHost *:85>
    Donc uniquement le port 85 ???

    Qu'as tu dans ton fichier log ? Quelle est ta distribution Linux ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Pour être exact
    Hello,
    Merci pour la rapidité de réponse

    En fait, pour être exact, le VirtualHost * est à 80.
    Je l'ai mis à 85 pour les besoins de la présentation, mais en gros,
    tout tourne en port 80 sur mon serveur et mon routeur D-Link
    s'occupe de faire passer le 85 entrant vers le port 80 de ma machine serveur.
    Bref, de ce côté là pas de problème.

    Pour répondre à ton autre interrogation,
    je suis sur Ubuntu 10.04.

    Cependant, pour ce qui est de mon problème de hier soir,
    je pense l'avoir résolu. C'est vraiment bizarre. Je pensais
    pas à avoir dire ça un jour de l'informatique, mais ce coup-ci c'est vraiment strange.
    Quoi qu'il ne soit, cela fonctionne.

    Ton script était bon, j'ai juste changé le shebang et il fonctionne
    à merveille.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/usr/bin/perl -w
     
    use strict;
    use CGI;
     
    my $cgi = CGI->new;
    print $cgi->header();
    print $cgi->start_html(-title => 'Ma page');
    print "Hello";
    print $cgi->end_html;

    Si mon CGI repart en couille, je reviendrai vous dire bonjour.
    Merci encore djibril


    Longue Vie à Perl !!


    SonyBlack

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Essaye de faire un
    od -c script.cgi
    Si tu as des \r, tu as un souci de retour chariot. Dans ce cas, tu peux faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pi.bak -e "s/\r\n/\n/" script.cgi
    et normalement, ton programme devrait fonctionner avec au lieu du -w.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Hello,

    Je confirme.
    Tout fonctionne toujours bien.

    J'ai juste quelques ennuis au niveau de la gestion des fichiers
    dans mon dossier "cgi-bin".
    Mais cela ne concerne plus vraiment Perl.

    Merci encore.

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

Discussions similaires

  1. problème cgi sur mon serveur
    Par stero11 dans le forum Web
    Réponses: 1
    Dernier message: 16/07/2012, 12h58
  2. Problème CGI en C
    Par virus321 dans le forum C
    Réponses: 20
    Dernier message: 27/11/2010, 15h22
  3. [session cgi] problème d'expiration de session
    Par LE NEINDRE dans le forum Web
    Réponses: 2
    Dernier message: 15/05/2006, 19h50
  4. [CGI] Problème de " et ' '
    Par LE NEINDRE dans le forum Web
    Réponses: 1
    Dernier message: 20/10/2005, 12h38
  5. [CGI]problème update de variable de session
    Par LE NEINDRE dans le forum Web
    Réponses: 1
    Dernier message: 18/10/2005, 10h50

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