Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema di permessi (credo) esecuzione CGI con apache UserDir

    Salve a tutti,

    Dopo qualche anno di inattività torno a chiedere il vs. aiuto.
    Allora il problema è questo,
    ho configurato nella mia rete locale un pc con linux Redhat 9, impostando Apache/2.0.40 con la direttiva UserDir.
    ogni utente ha nella sua home le seguenti dir:

    */www/cgi-bin
    */www/public_html

    Per quanto riguarda i documenti HTML, essi sono contenuti nella public_html e vengono visualizzati correttamente.

    Viceversa gli script CGI inseriti nella cgi-bin non vanno (errore 500).
    Se uno script viene creato/upload da un utente questo NON viene eseguito.
    Se lo stesso script viene creato dall'utente root questo VIENE eseguito.


    Per la configurazione ho seguito le istruzioni che ho preso da questo sito:
    http://www.astahost.com/apaches-user...bin-t3698.html


    Le dir hanno i permessi (chmod)
    user 711, www 711, cgi-bin 755, public_html 733 ... ma anche impostando tutto 777 non funziona lo stesso.
    La cosa strana è che l'errore che apache mi da (500) dice: Premature end of script headers: data.pl

    Qualcuno mi può spiegare il motivo ?
    ringrazio anticipatamente.

  2. #2

    Credo di aver risolto

    Credo di aver risolto il problema.

    Ho aggiunto un " -w " alla linea dell'interprete perl:

    #!/usr/bin/perl -w

    ed ora sembra che tutto funzioni.
    Dato che ho passato le ultime settimane a bestemmiare assicurandomi così un lungo infelice soggiorno in purgatorio, non voglio cantar vittoria, farò qualche altro esperimento e vi farò sapere.
    Ah, qualcuno sa per caso cosa serva il -w ?
    grazie.

  3. #3
    il -w avvia l'interprete Perl con l'opzione per i warning attiva, in altre parole si viene avvisati anche nel caso che lo script contenga dei passaggi dubbi o scorretti che non costituiscono errore.

    Effettivamente anche io più volte ho costatato che script CGI che vanno con l'opzione -w attivata non vanno senza e viceversa. Non sono mai riuscito a trovare una spiegazione convincente al fatto.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  4. #4
    Quindi trattasi di eventi sopranaturali ...
    L'avevo ipotizzato anche io.

    Grazie ... a presto !

  5. #5
    Ciao a tutti,

    Ho scoperto una cosa interessante.
    Se prendo uno script avviato senza il -w mi da errore,
    ma se tolgo tutte le tabulazioni o gli spazi vuoti che si usano per nidificare ad esempio i cicli, allora lo script funziona.
    ovvero le righe dello scipt devono iniziare sempre dalla colonna 0.

    es.

    $ciao = '1';

    while ecc ecc {
    ****print "$ciao";
    ****ecc ecc
    }

    questo mi da errore.


    se invece diventa così:

    $ciao = '1';

    while ecc ecc {
    print "$ciao";
    ecc ecc
    }

    allora funziona anche senza il -w..

    Di norma metterei anche il -w, solo che gli scipt avviati col -w creano di continuo degli errori nell'error.log.
    I programmi funzionano, però per ogni cosa si trova la riga di errore...
    per esempio se si dichiarano delle variabili e poi non vengono utilizzate ecc ecc.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.