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

Linux Discussion :

[Archlinux][apache2][userdir][cgi] script qui ne s'exécute pas


Sujet :

Linux

  1. #1
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut [Archlinux][apache2][userdir][cgi] script qui ne s'exécute pas
    Bonjour,

    je me retrouve comme un couillon à ne pas pouvoir faire fonctionner mes scripts CGI sur Archlinux dans les répertoires utilisateurs désignés
    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
    # cat /etc/httpd/conf/extra/httpd-userdir.conf
    UserDir public_html
            UserDir disabled root
    <Directory "/home/*/public_html">
        AllowOverride FileInfo AuthConfig Limit Indexes
        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        Require method GET POST OPTIONS
                    <Limit GET POST OPTIONS>
                            Order allow,deny
                            Allow from all
                    </Limit>
                    <LimitExcept GET POST OPTIONS>
                            Order deny,allow
                            Deny from all
                    </LimitExcept>
    </Directory>
     
    <Directory "/home/*/public_html/cgi-bin/">
            Options ExecCGI
            SetHandler cgi-script
    </Directory>
    par exemple, ce petit script tout bête fonctionne très bien sur Debian, mais sur Archlinux, c'est le code qui est affiché
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
     
    printf "Content-type: text/plain\n\n"
     
    printf "Hello\n"
    si je fais charger modules/mod_cgi.so, alors le serveur retourne une erreur :End of script output before headers; donc, ça avance un peu...
    alors que, depuis /src/http/cgi-bin/, le script fonctionne, et m'affiche Hello

    Edit: j'ai essayé avec ± le même script en perl, avec le même résultat.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Le script est-il exécutable pour www-data ? (j'obtiens bien l'erreur "End of script output before headers" sans le chmod +x, et tout rentre dans l'ordre une fois le script exécutable ). Il faut bien que mod_cgi soit activé cependant
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    oui, le script est en rwxr-xr-x.
    le répertoire aussi.
    ça fonctionne très bien sur Debian, mais pas sur Arch.

    mod_cgi est bien activé puisque le même script est exécuté depuis /srv/http/cgi-bin.

    'comprends pas.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bizarre, j'ai aussi ArchLinux et ça a fonctionné chez moi

    Y'aurait pas une option spéciale du genre "noexec" sur la partition /home par hasard ?
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    que nenni
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # mount | grep /home
    /dev/sda4 on /home type ext4 (rw,relatime,data=ordered)

    Edit:
    Citation Envoyé par supersnail
    Bizarre, j'ai aussi ArchLinux et ça a fonctionné chez moi
    "out of the box" ? ou tu as dû faire quelques manips ?

    ça, oui, c'est bizarre !
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    ah ! maintenant je me sens vraiment couillon !

    en recréant mon utilisateur j'ai mal configuré son groupe principal.
    ls -l affichait correctement le nom et le groupe, mais dans /etc/passwd, le groupe n'était pas le même.
    je pensais que ls -l aurait affiché le numéro du compte inscrit dans /etc/passwd

    merci pour tes efforts supersnail.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. [10gR2] Script qui ne s'exécute pas correctement
    Par hazzab dans le forum SQL
    Réponses: 2
    Dernier message: 19/11/2015, 10h10
  2. [Système] Script qui ne s'execute pas
    Par griese dans le forum Langage
    Réponses: 3
    Dernier message: 22/12/2006, 11h20
  3. [debutant] - Simple script qui plante IE.. comprend pas pourquoi..
    Par ShinJava dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/08/2006, 23h06
  4. Script qui ne s'exécute pas
    Par arizki dans le forum Administration système
    Réponses: 6
    Dernier message: 19/06/2006, 12h19
  5. [AJAX] Script qui plante IE mais pas Firefox
    Par Booyakha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/05/2006, 18h40

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