Form in HTML e interfaccia CGI


3.1.1 Configurazione del server CERN

La sistemazione di default del server CERN prevede che il file di configurazione si chiami httpd.conf e che si trovi nella directory /etc (vedi [8]). Quindi, se si fa partire il server dalla riga di comando senza specificare opzioni di linea, come qui sotto è indicato:

>httpd

sarà letto il file di configurazione /etc/httpd.conf. Volendo, si può anche cambiare il nome al file di configurazione ed immetterlo in un'altra directory. Per far ciò, è necessario dare, dalla riga di comando, l'opzione -r seguita dai nuovi nomi del path e del file di configurazione:

>httpd -r /mio_path/mia_conf.con

Se il server è già stato installato, per riconfigurarlo è necessario farlo ripartire. Questo si può ottenere facilmente con l'opzione di linea -restart:

>httpd -r /mio_path/mia_conf.con -restart

Con il comando di sopra si fa ripartire il server con la configurazione specificata dal file /mio_path/mia_conf.con.

Il comando che specifica l'identificatore per l'esecuzione dei programmi CGI e il path sotto cui si trovano tali programmi è Exec. Si dovrà aggiungere la seguente riga nel file di configurazione (che di default è /etc/httpd.conf):

Exec / *identificatore* / / *path programmi CGI* /

Per esempio ponendo:

Exec /cgi-bin/ /disk3/usr/telemat/WWW_PUB/cgi-bin/

si farà in modo che il server tratti i file contenuti in /disk3/usr/telemat/WWW_PUB/cgi-bin/ come programmi eseguibili e non come documenti HTMl, o altro. Quando viene inviata una URL del tipo http://lisa.dfc.unifi.it/cgi-bin/post-query, il server provvede ad eseguire il comando di linea:

>/disk3/usr/telemat/WWW_PUB/cgi-bin/post-query

Se si intende usare il metodo POST, è necessario abilitare il server CERN a ricevere tale metodo. Infatti, non è vero che il metodo POST è abilitato di default come è scritto erroneamente nel manuale di configurazione del server (vedi [8]). Perciò si dovrà aggiungere la seguente riga al file httpd.conf:

Enable POST

Il metodo GET invece è effettivamente abilitato di default. Ciò, d'altra parte, è scontato: nel protocollo HTTP, GET è pure il metodo con cui si scambiano i normali documenti HTML.