CGI-BIN

7
BIOINFO3 - Lezione 30 1 CGI-BIN 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 BROWSER client HTTPD server html cgi-bin programm a programm a dati form Output: pagina web dati Output

description

CGI-BIN. - PowerPoint PPT Presentation

Transcript of CGI-BIN

Page 1: CGI-BIN

BIOINFO3 - Lezione 30 11

CGI-BINCGI-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

BROWSER

client

HTTPD

server html

cgi-binprogramma programma

dati form

Output: pagina

web

datiOutput

Page 2: CGI-BIN

BIOINFO3 - Lezione 30 22

INSTALLAZIONE DI UN CGI-BININSTALLAZIONE 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 Indirizzo web del programma

Page 3: CGI-BIN

BIOINFO3 - Lezione 30 33

INSTALLAZIONE DI UN CGI-BININSTALLAZIONE 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 cgi-bin.

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

Page 4: CGI-BIN

BIOINFO3 - Lezione 30 44

INSTALLAZIONE DI UN CGI-BININSTALLAZIONE 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!

Page 6: CGI-BIN

BIOINFO3 - Lezione 30 66

PRIMI PROBLEMIPRIMI 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!

Page 7: CGI-BIN

BIOINFO3 - Lezione 30 77

ESECUZIONEESECUZIONE

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!