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 :

Apache plus Nagios problème d’exécution CGI


Sujet :

Apache

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut Apache plus Nagios problème d’exécution CGI
    Bonjour,

    Je viens d'installer les pacages Nagios sur un SOLARIS10 depuis le code source en m’inspirant de la page suivante :
    http://www.daemonforums.org/showthread.php?t=1445

    Mon processus Nagios tourne et l'URL http://localhost/nagios/ fonctionne.
    Mon problème survient quand je je clique sur les liens qui appellent les programme CGI. par exemple :
    http://localhost/nagios/cgi-bin/stat...yle=hostdetail
    Me donne l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Internal Server Error
     
    The server encountered an internal error or misconfiguration and was unable to complete your request.
     
    Please contact the server administrator, you@yourhost.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
     
    More information about this error may be available in the server error log.
    Dans la log je trouve ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Thu Jul 11 16:14:22 2013] [error] [client 192.168.0.1] Premature end of script headers: status.cgi
    Je suis convaincu que cela vient d'un problème de configuration dans le fichier httpd.conf d'Apache2

    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
    ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
    <Directory "/usr/local/nagios/sbin">
        AllowOverride None
        Order allow,deny
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        Require valid-user
    </Directory>
     
    Alias /nagios "/usr/local/nagios/share"
    <Directory "/usr/local/nagios/share">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        Require valid-user
    </Directory>
    Tous les fichiers du répertoire /usr/local/nagios/sbin sont en mode exécutables. D'ailleurs si je les teste en mode commande comme ceci ça foncitonne :
    $ cd ~nagios/sbin
    $ export REQUEST_METHOD="GET"
    $ ./status.cgi
    J’obtiens le code html qui aurait du être générer pour mon navigateur.....

    Merci de votre aide....

  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
    J'imagine que tu as consulté la doc Apache : http://httpd.apache.org/docs/2.2/how...l#troubleshoot

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    J'ai trouvé la même en français :
    http://httpd.apache.org/docs/2.4/fr/howto/cgi.html

    Et effectivement les scripts perl et php fonctionnent.
    J'ai donc fait le petit script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/usr/bin/perl
    print "Content-type: text/html\n\n";
    print "Hello, World.\n\n";
    Celui ci fonctionne dans le répertoire "/usr/local/nagios/sbin" avec l'alias suivant : http://192.168.0.2/nagios/cgi-bin/premier.pl
    Par contre status.cgi ne fonctionne toujours pas. Si je fais un cat sur les scripts cgi de nagio, j'obtiens des meta caractères ....

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    J'ai trouvé le script test.cgi dans la configuration d'origine d'Apache 2 qui contient les ligne suivante :
    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
    #!/bin/sh
     
    # disable filename globbing
    set -f
     
    echo "Content-type: text/plain; charset=iso-8859-1"
    echo
     
    echo CGI/1.0 test script report:
    echo
     
    echo argc is $#. argv is "$*".
    echo
     
    echo SERVER_SOFTWARE = $SERVER_SOFTWARE
    echo SERVER_NAME = $SERVER_NAME
    echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE
    echo SERVER_PROTOCOL = $SERVER_PROTOCOL
    echo SERVER_PORT = $SERVER_PORT
    echo REQUEST_METHOD = $REQUEST_METHOD
    echo HTTP_ACCEPT = "$HTTP_ACCEPT"
    echo PATH_INFO = "$PATH_INFO"
    echo PATH_TRANSLATED = "$PATH_TRANSLATED"
    echo SCRIPT_NAME = "$SCRIPT_NAME"
    echo QUERY_STRING = "$QUERY_STRING"
    echo REMOTE_HOST = $REMOTE_HOST
    echo REMOTE_ADDR = $REMOTE_ADDR
    echo REMOTE_USER = $REMOTE_USER
    echo AUTH_TYPE = $AUTH_TYPE
    echo CONTENT_TYPE = $CONTENT_TYPE
    echo CONTENT_LENGTH = $CONTENT_LENGTH
    Quand je teste l'URL http://192.168.0.2/cgi-bin/test.cgi
    Tout fonctionne aussi .... J'ai le retour des commandes echo de variable d’environnement...
    Je ne comprend plus rien là.......

  5. #5
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Il te manque pas le dans ton directory /usr/local/nagios/sbin ?
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    Merci mais dans quel fichier ...?
    Je l'ai rajouté dans httpd.conf cela ne marche toujours pas :
    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
    ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
    <Directory "/usr/local/nagios/sbin">
        AllowOverride AuthConfig
        Options +ExecCGI 
        Order allow,deny
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        Require valid-user
    </Directory>
     
    Alias /nagios "/usr/local/nagios/share"
    <Directory "/usr/local/nagios/share">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        Require valid-user
    </Directory>

  7. #7
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Enlève le +ExecCGI, après verif, c'est redondant avec le ScriptAlias.

    J'ai trouvé plein de post relatifs à des problèmes sur Solaris avec ce message dans les logs.... Le soucis c'est que c'est relativement générique et que ça suffit pas pour trouver la source du problème....

    T'aurais pas un autre message d'erreur avec ?
    Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

    Linus Torvalds

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    Non ... mais j'ai contourné le problème ....

    Puisque que je n'arrivai pas avec les paquet près-compilé d'OpenCSW, je suis parti sur une installation avec compilation et j'ai pris expérience sur les problèmes rencontrés.
    Fort de cette expérience, j'ai créé une deuxième machine virtuelle avec SOLARIS10 et j'ai installé les paquets Nagios d'OpenCSW , et j'ai réussi à les faire fonctionner sans aucune modifications à part le httpd.conf et le cgi.cfg car je ne demande pas d'authentification pour l'instant.

    Pour moi la différence est sur apache puisque l'utilitaire d'installation d'OpenCSW installe son propre paquet apache2 en tant que dépendance de Nagios alors qu'avec l'installation en compilation j'essayais d'utiliser le service Apache2 d'origine du système....... Mais je ne saurais jamais le pourquoi du comment mais le problème est résolu pour moi ....

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

Discussions similaires

  1. Apache n'exécute plus mes scripts en CGI
    Par bagu dans le forum Apache
    Réponses: 4
    Dernier message: 02/12/2012, 13h37
  2. probléme dexécution
    Par etoile1506 dans le forum C
    Réponses: 3
    Dernier message: 22/11/2005, 13h29
  3. Réponses: 2
    Dernier message: 17/11/2004, 10h50
  4. [Apache] Erreur dans mes scripts CGI
    Par GLDavid dans le forum Apache
    Réponses: 2
    Dernier message: 28/08/2004, 06h14
  5. [Apache et RedHat] Problème avec les .htaccess
    Par Selpoivre dans le forum Apache
    Réponses: 15
    Dernier message: 01/04/2004, 14h24

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