PDA

Visualizza versione completa : apache e cgi-bin


Marko
27-07-2002, 22.38.43
Allora ho installato adesso sul mio portatile Linux Mandrake 8.2.
Ho installato anche durante l'installazione apache e volevo provare a mettere su ikonboard così per provare e per far pratica di apache in linux.
In ikonboard c'è un file cgi che si chiama perl_test.cgi.
Questo file mostra le informazioni sulla versione di cgi installata sendmail etc.....
L'ho messo nella directory /var/www/cgi-bin ma quando lo lancio mi da internal server error!!!!!
Il chmod l'ho impostato come diceva il readme ma niente da fare sempre quell'errore.
Io sto impazzendo nn riesco a far andare il cgi-bin su linux:(:(:(
Come devo fare???

Grazie


Marko

Ov3rKuNtZ
27-07-2002, 23.04.09
hai kontrollato i percorsi?
ke richiamono il cgi?

e poi non ricordo ma mi pare ci fossero dei pacchetti da installare per perl! sicuro daver messo tutto????

ciao

Marko
28-07-2002, 01.30.12
Originariamente inviato da overkuntz
hai kontrollato i percorsi?

Si il percorso è esatto infatti non mi da 404 ma mi dice internal server error.

e poi non ricordo ma mi pare ci fossero dei pacchetti da installare per perl! sicuro daver messo tutto????

Si c'è da installare mod_perl e mod_perl è installato.

Non so che fare:(:(:(

Ov3rKuNtZ
28-07-2002, 01.32.04
non saprei! anke perkè in linux non mi so muovere grankè!!! azz! :(

Capitano
01-08-2002, 02.43.47
Il fatto che dia un errore puo essere dovuto a molti fattori, i più banali e facilmente risolvibili sono :
1- Affinchè il browser sia in grado di interpretare i file cgi, che in realtà sono scritti in perl (*.pl e poi rinominati) dovresti avere installato anche l'interprete perl.
2- All'interno del file cgi occore come prima riga il percorso dell'interprete (es #! /usr/bin/perl)
3-Occore inserire una direttiva che indichi al browser che deve eseguirlo come html (es print "Content-Type:text/html\n\n")
che in pratica è la stessa riga che c'è in un qualsiasi file html con l'aggiunta del "print" che è tipico invece del perl.


CIao

Marko
01-08-2002, 13.54.00
L'interprete perl l'ho installato, nei cgi c'è la riga #!/usr/bin/perl che è la riga dove per è installato, l'ho trovata con which perl

La riga Content-Type etc... dove devo inserirla??? In quale sezione dell'httpd.conf???

DavideDave
01-08-2002, 15.59.10
hai letto i logs? cosa dicono?

Capitano
01-08-2002, 16.21.47
Scusa, non ho specificato bene, la riga "content-type " si trova sempre nel file cgi subito dopo la specifica di dove si trova l'interprete perl. Ti suggerisco inoltre (come gia detto da DavideDave) di dare un'occhiata ai logs per avere ulteriori informazioni su quello che accade.

Marko
01-08-2002, 17.04.29
Nei log dice tempo esaurito per connettersi o qualcosa del genere.

DavideDave
01-08-2002, 18.37.59
purtroppo io apache lo uso solo con jserver (e quindi java) e non con perl... il mio aiuto si può solo fermare ai logs :( :rolleyes:

Capitano
01-08-2002, 19.26.57
Ti conviene leggere qualcosa a riguardo cercando in internet,
(http://httpd.apache.org/docs/howto/cgi.html#butitsstillnotworking) ma ce ne sono molti altri.

Comunque provo lo stesso a darti un'altro suggerimento :
La chiamata allo script cgi deve essere effettuata da un link, in modo che il browser sappia come comportarsi. Non puoi come per le pagine html in windos cliccarci semplicemente sopra.
Dovresti costrurti un piccolo file html che abbia un link al tuo script cgi o in alternativa richiamarlo con \\localhost\script.cgi nella barra degli indirizzi.

CIao