Newsgroup: it.comp.lang.perl
Titolo: perl su apache

Ciao a  tutti.
Qualcuno saprebbe dirmi come far funzionare un file perl su server apache?
Grazie anicipatamente.

 Grazie anicipatamente.
Fare funzionare gli script Perl sul web server è abbastanza semplice,
abilitando l'interfaccia CGI.
Modifica il tuo httpd.conf assicurandoti che ci siano (non commentate) le
seguenti linee:
1) Options ExecCGI
Questa più probabilmente la troverai come Options All, che comunque
include ExecCGI; se tra le options non hai ne' All ne' ExecCGI aggiungi
l'una o l'altra. Io ad esempio ho:
	Options All MultiViews
2) AddHandler cgi-script .cgi .pl
Questa fa sì che tutti i documenti che terminano in .cgi o .pl siano
considerati script CGI, indipendentemente da dove si trovano (possono
cioè risiedere anche al di fuori della cgi-bin).
Se per te va bene mettere tutti gli script nella cgi-bin, allora puoi
evitare la modifica numero 2 ad httpd.conf.
Un'altra opzione, più interessante, per utilizzare Perl sotto Apache è
mod_perl, ma questa è un tantino più complessa. ;-)
	A presto, Michele.
-- 
Michele Beltrame
http://www.italpro.net/mb/
ICQ# 76660101 - e-mail: 
m...@italpro.net

 
ciao
se scrivi il file 
provaperl.pl
 e lo metti nella
directory
/....../cgi-bin/
provaperl.pl
il file per esempio potrebbe contenere queste righe
------------------------------------------------------
#! /usr/bin/perl
print "Content-type: text/plain\n\n";
print "ecco il mio script cgi\n";
print " ... \n";
------------------------------------------------------
poi in una pagina html del sito metti un collegamento del tipo:
<A HREF="/cgi-bin/
provaperl.pl
"> esegui lo script perl !!!!! </A>
dovrebbe funzionare
ciaociao
d.

>
ops ... scusa corrado, non avevo visto che ti avevano gia risposto
d.


scusate ragazzi ma non funziona mi spunta
Internal Server Error
The server encountered an internal error or misconfiguration and was unable
to complete your request.
Please contact the server administrator, webm...@linux.local 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.
----------------------------------------------------------------------------
----
Apache/1.3.27 Server at linux.local Port 80

 ha scritto nel messaggio
news:c65cvh$spf$2...@newsfeed.cineca.it...

Cari amici il file 
provaperl.pl
 non me lo esegue me lo apre come file di
testo.
inoltre ho settato quello che voi mi avevate detto. Gli OS su cui sto
lavorando sono XP e Linux suse 8.2 e 9.x  inoltre su windows come
compilatore sto utilizzando L'ActivePerl. Grazie anticipatamente

 testo.
Hai settato il bit di execute al file? Naturalmente se sei sotto linux.
-S.


 ha scritto nel messaggio
news:c65u60$f26$1...@le1.cs.unibo.it...

potresti aiutarmi prima riguardo win?

corrado wrote:

Mi spiace, non ho esperienza su apache e perl sotto windows.
Prova a RTFM.
-S.

 ha scritto nel messaggio
news:c65vbf$ijk$1...@le1.cs.unibo.it...


 ha scritto nel messaggio
news:c65vbf$ijk$1...@le1.cs.unibo.it...

comunque in linux il problema era che mi dava il seguente messaggio di
errore:


 log.
Prima di postare il messaggio di errore che ti compare sul browser hai
controllato i log di apache come lo stesso messaggio ti dice?
-S.


 lavorando sono XP 
per windows prova a dare un'occhiata a queste pagine web:
http://www.apache3000.net/tools/apache/guida.php3?lez=12
http://www.apache3000.net/tools/apache/guida.php3?lez=30
in particolare la prima delle due ti dà indicazioni valide anche per i 
sistemi linux, basta cambiare il path delle directory

 to complete your request.
Bisognerebbe vedere i log per capire di che errore si tratta. Se comunuqe
lo script ti fuziona se lanciato da console, è probabile tu abbia
dimenticato di inviare gli header al client. Come prima riga del tuo
output metti qualcosa tipo:
Content-type: text/html
seguito da una riga vuota. Dunque:
print "Content-type: text/html\n\n";
Tra i moduli che includi, aggiungi anche:
use CGI::Carp qw(fatalsToBrowser)
che fa sì che le informazioni sugli errori siano visibili direttamente
via browser anziché solamente spulciando il log di Apache.
