Perché un server web?
Scrivere applicazioni CGI non è difficile. Ma vedere il risultato
di quello che abbiamo scritto può essere più complicato. Per questo,
cercheremo di rendere il nostro PC il più possibile simile al server
del sito dove poi andranno a finire i nostri CGI. Per far questo,
occorre installare un server web.
Non è obbligatorio. Se non volete installare un server web sul vostro
PC di casa, potete fare affidamento su chi vi dà lo spazio web,
e provare i programmi lì sopra, mandandoli ogni volta via FTP. Ma
è un modo di lavorare complicato e noioso.
Perché proprio Apache?
Apache è il server web più diffuso al mondo, usato dal 62% dei siti
Internet (fonte: Netcraft Survey, dicembre 2000). E gratuito,
potente e molto flessibile. Essendo stato sviluppato per i sistemi
Unix, forse allinizio vi spiazzerà un po. In particolare,
la sua configurazione non si realizza tramite delle finestre di
dialogo, ma editando un file di testo dove vanno scritte le opzioni
richieste.
Ma andiamo con ordine, e scarichiamo Apache. Useremo la versione
1.3.14, che possiamo trovare sul sito italiano http://www.volftp.it,
cercando la parola Apache. La versione per Windows è
quella .exe, che è autoinstallante. Sono disponibili anche varie
versioni per Linux.
Se per caso aveste dei problemi col volftp, il sito ufficiale Apache
è http://httpd.apache.org. Da
lì troverete anche i vari mirrors sparsi per il mondo (conviene
usarne uno vicino!).
Configurare il server
Dopo linstallazione, occorre configurare il server per i nostri
scopi. Occorre cioè modificare il file httpd.conf, che si trova
nella cartella conf dentro a quella in cui è stato installato
Apache.
Per prima cosa, occorre decidere in quali cartelle metteremo le
pagine html e i programmi CGI. Possiamo benissimo accettare i defaults
di Apache, secondo i quali le pagine html vanno nella sottocartella
htdocs, e i programmi CGI nella sottocartella cgi-bin.
Aprite il file httpd.conf con il Blocco Note o con un altro editor
di testo, e cercate lopzione ServerName. Datele
il valore localhost, cioè modificate la linea in modo
che appaia in questo modo:
ServerName localhost
(ricordatevi di togliere il cancelletto allinizio della linea,
se cè).
Questo è il nome che dovremo scrivere dopo http:// nel nostro browser
per accedere al sito locale, ed è tutto ciò che serve per far partire
correttamente il server web, compreso il protocollo CGI che è attivo
per default.
Manca unultima cosa. Se useremo gli script in Perl (avete
installato linterprete, vero?), ci farà molto comodo che Apache
sappia farli partire in modo autonomo. Cercate lopzione ScriptInterpreterSource,
e modificatela così:
ScriptInterpreterSource registry
Nel caso lopzione non fosse presente, scrivetela voi in una
parte qualunque del file. Questa opzione istruisce Apache ad eseguire
gli script CGI secondo le associazioni estensione-programma presenti
nel registry di Windows. Ad esempio, i files .exe verranno
eseguiti direttamente. I files .pl verranno eseguiti
tramite linterprete Perl, perché questo, al momento della
sua installazione, ha registrato il tipo di file .pl
come suo (nel caso abbiate modificato lassociazione dei files
.pl, non dovete scrivere questa opzione e dovrete comportarvi
come spiego nel caso di Linux).
Se state usando Linux, o comunque un sistema operativo non-Windows,
questa opzione è inutile, perché non avete nessun registry. In questo
caso, Apache cercherà il programma con cui eseguire il vostro script
guardando la sua prima linea, che deve contenere "#!"
seguito dal nome dell'interprete. Ad esempio: "#!/usr/bin/perl".
Troverete maggiori informazioni su questo nel corso di Perl, nelle
lezioni che riguardano Linux. Ciò che dovete ricordare qui è che,
se state usando Linux, tutti i vostri script Perl devono
cominciare con una linea fatta così:
#!/usr/bin/perl
mettendo al posto di /usr/bin/perl il percorso completo
per linterprete Perl (che potete trovare col comando which
perl). E inoltre, dovete rendere i vostri script eseguibili,
col comando chmod +x script.pl.
Una volta configurato Apache, possiamo passare alla prossima lezione
dove scriveremo il primo programma CGI.
Torna all'indice Generale del corso di Corso di CGI di Software Planet