CGI-BIN
Abbiamo visto che CGI-BIN sono chiamati i programmi la cui esecuzione può
essere richiesta attraverso il WEB. In particolare il programma CGI-BIN può
essere scritto in Perl e tipicamente verrà attivato premendo il bottone di
submit di una form HTML. I dati della form sono quindi passati al
programma e oggi vedremo come il programma riceve questi dati e come
restituisce al browser una nuova pagina web da visualizzare
dati
form
HTTPD
BROWSER
client
Output:
pagina
web
Output
dati
cgi-bin
programma
server
BIOINFO3 - Lezione 30
programma
html
1
INSTALLAZIONE DI UN CGI-BIN
Abbiamo detto che il programma dovrà risiedere in una directory nota al
server WEB HTTPD, tipicamente in cgi-bin.
Ad esempio supponiamo di scrivere il programma da eseguire via WEB in un
editor e di salvarlo nella directory /www/cgi-bin/prove/nicola del server
cronos.cribi.unipd.it. In questo caso, se il programma si chiama pippo.pl viene
eseguito semplicemente scrivendo l’URL
http://cronos.cribi.unipd.it/cgi-bin/prova/nicola/pippo.pl
E’ nella configurazione del server WEB che gli viene detto il nome della
directory fisica della macchina (es. /www/) da far corrispondere alla directory
WEB cgi-bin del server (http://cronos.cribi.unipd.it/cgi-bin)
Indirizzo reale del programma
BIOINFO3 - Lezione 30
Indirizzo web del programma
2
INSTALLAZIONE DI UN CGI-BIN
Sarà il system manager che gestisce il server web in cui volete installare il
programma a dirvi dove dovete effettivamente salvare i vostri programmi cgibin.
Ad esempio nelle esercitazioni useremo il server sibilla.cribi.unipd.it
I programmi dovranno essere salvati nella directory locale del vostro
computer (che viene vista automaticamente dal server)
/home/btbm-xx/public_html/cgi-bin/ (dove btbm-xx è la vostra login)
Analogamente le pagine HTML dovranno essere salvate su
/home/btbm-xx/public_html/ (dove btbm-xx è la vostra login)
Per eseguire un cgi-bin attraverso il WEB dovrete quindi scrivere
http://sibilla.cribi.unipd.it/~btbm-xx/cgi-bin
E per vedere una pagina
http://sibilla.cribi.unipd.it/~btbm-xx/nomepagina
BIOINFO3 - Lezione 30
3
INSTALLAZIONE DI UN CGI-BIN
Proviamo a scrivere il seguente programma e a salvarlo come “pippo.pl” nella
directory assegnata (come si può verificare sotto)
Osservate bene e
se notate qualche
stranezza
tenetela a mente!
BIOINFO3 - Lezione 30
4
PRIMI PROBLEMI…
Proviamo ad eseguire il programma via WEB digitando in un browser:
http://cronos.cribi.unipd.it/cgi-bin/prove/nicola/pippo.pl
Ma succede qualcosa di strano!
Un errore si è
verificato sul
server. Secondo
voi cosa è
successo?
BIOINFO3 - Lezione 30
5
PRIMI PROBLEMI
Il programma deve essere eseguibile dal server web. Dovrà essere quindi
settato il flag x in corrispondenza ai diritti del file relativamente agli altri
utenti. Di solito esiste una login (un utente) del sistema sotto cui viene fatto
“girare” il server httpd. Tale login è solitamente diversa dalla nostra e perciò
ricade nella categoria “altri”.
Il file non è eseguibile!
Rendiamolo
tale
(chmod 755) e proviamo
ad eseguirlo da linea di
comando per verificare
che non vi siano anche
degli errori di sintassi
all’interno!
BIOINFO3 - Lezione 30
6
ESECUZIONE
Vi consiglio sempre di provare ad eseguire prima il file da linea di comando
per essere sicuri che non contenga errori di sintassi.
Ora il file è eseguibile e non contiene errori di sintassi. Per cui dovremmo
riuscire finalmente ad eseguirlo via WEB!
BIOINFO3 - Lezione 30
7
Scarica

bioinfo3-30 - CRIBI Genomics group