HTTPD, PERL, CGI, JAVA
C:\applicazione. In altri casi bisognerà sostituire il path con quello reale. Per quanto riguarda i file zippati, è sempre il caso di unzipparli mantenendo la struttura delle directory [PKUNZIP NomeFile -d]
È possibile scaricare la versione con l'Install Shield e il Wizard di Installazione, o quella semplicemente da unzippare in una directory di destinazione.
Si trovano due eseguibili: il Server Daemon ohttpd.exe e il programma di amministrazione del server admin.exe. Utilizzando quest'ultimo, bisogna dare all'host il nome localhost e disabilitare il Domain Name Server Lookup.
Con admin.exe si possono impostare più profili di startup per il server. Per far partire il server con un determinato startup bisogna specificarne il nome nel comando di partenza di ohttpd.exe.
admin.exe serve anche per 'mappare' il nostro Web, far vedere cioè certe directory con certi nomi e con un certo path rispetto al server.
Il server è preimpostato per utilizzare la configurazione di startup denominata Primary, che vede il path C:\HTTPD\HTDOCS come root directory del server. Se si ha già un Web o se si è installato Omni in un'altra directory bisogna modificare questo valore o creare un'altro profilo di startup.
La struttura del Web si mappa con la funzione Priprietà/Alias. La funzione Proprietà/Advanced servirà in seguiro per specificare il path di richiamo del Perl.
Le nuove impostazioni effettuate con admin.exe sono attive dal prossimo startup, ma OMNI permette di far girare anche più Server contemporaneamente. Probabilmente si può simulare anche una configurazione con più host sotto il dominio .localhost.
Dopo aver fatto partire il server ohttpd.exe sarà possibile con il browser aprire i propri documenti attraverso la URL 'http://localhost/
Anche qui tutto piuttosto semplice. Si unzippa direttamente ntperlb.zip nella directory di destinazione. Poi ci si unzippa sopra win95upd.zip, l'update per farlo girare su Windows 95 scritta da Robert Denny per il Server della O'Reilly 'Website'.
Si può mettere il path di perl.exe nell'autoexec.bat per non doverselo ricordare sempre. Si può associare l'estensione .pl con l'eseguibile perl.exe. Se si vuole usare il Perl per i CGI bisogna specificarne il path (es: C:\perl\bin\perl.exe) con la funzione Proprietà/Advanced del programma di amministrazione del server HTTP.
Anche qui si unzippa il package nella directory di destinazione. Probabilmente le versioni più recenti hanno anche l'Installation Wizard. I pezzi principali del package sono il compilatore javac.exe, l'interprete java.exe, un debugger, un appletviewer, decine di esempi, la documentazione, i source zippati.
Unzippare il package nella directory di destinazione
freeWAIS è costituito da due programmi principali:
waisindx.exe, il programma che costruisce l'indice.waisindx.exe è possibile specificare il nome e la locazione che si intende dare all'indice creato, (default index nella directory di waisindx.exe) È possibile perciò mantenere più indici.waisindx.exe può solo essere eseguito batch
waislook.exe, il programma di ricerca nell'indice.
Anche questo accetta parametri come il nome dell'indice da ricercare, il tipo di output ('-http' crea per i risultati un'output formattato HTML), il nome dell'host da appendere alla locazione del risultato ( '-h' nel nostro caso localhost).
waislook.exe può essere eseguito dal server HTTP, richiamato da un programma CGI. Bisogna però utilizzare un'escamotage per richiamare waislook.exe e impacchettarne l'output, preceduto da un record di identificazione MIME 'Content Type text/html'
A questo scopo è possibile utilizzare sia un programma Perl (.pl), se si ha installato NTPerl,
che una procedura batch dos
(.bat), che devono trovarsi nella directory vista dal server come /cgi-bin
Ecco due esempi: una procedura batch DOS
e un programma Perl
che wrappano l'output di waislook.exe.
Per poter essere utilizzati gli esempi vanno personalizzati modificando i vari path, spostati nella directory /cgi-bin e rinominati levando l'estensione .txt.
Dopo aver spostato il CGI che si intende utilizzare nella directory /cgi-bin sarà possibile interrogare freeWAIS aprendo sul nostro server, una delle seguenti locazioni:
http://localhost/cgi-bin/waisquery.bat (se si utilizza la procedura .bat)http://localhost/cgi-bin/waisquery.pl (se si utilizza lo script Perl)
Nota
Dato che il parametro -http della riga di comando di waislook.exe genera un output HTML con gli HREF obbligatoriamente prefissati da 'http://...', questo limita la possibilità di accesso dal browser ai soli file accessibili dal nostro http://localhost/...''.
Questo è una limitazione, a meno che non si voglia mappare tutti i propri dischi come Web (magari utilizzando uno startup del server apposito che li vede tutti).
waislook.exe può anche essere eseguito senza il parametro '-http'. In questo modo al browser arriverebbe però un semplice file di testo con l'elenco dei path completi dei file risultato della ricerca. È possibile scrivere un programmino Perl che rilegge questo file, lo wrappa di MIME e HTML e lo spedisce in output verso il browser. In questo caso l'HREF sarà del tipo 'file:///...'
MultiServer
MultiMouse
MultiBabble
AnnoyingChat
Le quattro applicazioni sono:
MultiServer (9K), un minimo programma server multithread. È un' applicazione Java (al contrario dei client che sono applet) Si tratta di un server daemon che bisogna far partire in una finestra DOS con il server HTTP già attivo. Le sue funzioni si limitano ad accettare connessioni dai client e ritrasmettere i dati ricevuti. Non effettua nessuna operazione di I/O sui dischi. Tutte le funzioni sono demandate ai client.MultiMouse, MultiBabble e AnnoyingChat sono degli applet di comunicazione.
MultiMouse permette ai visitatori di una stessa pagina Web di segnalarsi punti su un'immagine vista in comune, con una specie di 'puntatore laser' tipo quelli utilizzati negli slideshow.
MultiBabble è una specie di chat dove i messaggi vengono ruotati a tutti i partecipanti sotto forma di finestrelle Java.
AnnoyingChat è un chat tradizionale.
multi.zip contiene tutte le classi eseguibili (.class) e tutti i source (.java) delle 4 applicazioni. È sempre buona regola compilare gli applet e soprattutto le applicazioni Java, quando sono disponibili i source, anche per motivi di sicurezza.
Per compilare gli applet e il server bisogna, da una finestra DOS, spostarsi nella directory contenente i source ed con i seguenti comandi eseguire il compilatore javac.exe
C:\PATH\javac.exe MultiServer.java
C:\PATH\javac.exe MultiMouse.java
C:\PATH\javac.exe MultiBabble.java
C:\PATH\javac.exe AnnoyingChat.java
C:\PATH\java.exe MultiServer
A questo punto il chat Server è in ascolto sulla sua porta, e si possono utilizzare gli applet di comunicazione dalle pagine HTML.
L'esempio (multi.htm in multi.zip)
richiama tutti i tre applet MultiMouse + MultiBabble + AnnoyingChat contenuti in multi.zip, da cui devoni essere estratti ed eseguiti insieme al programma MultiServer.
All'interno di una rete locale è possibile utilizzare il server HTTP e MultiServer per mettere a disposizione un Web, comunicare con i collegi, scambiarsi commenti su un'immagine e altro.
I tre applet di comunicazione funzionano ovviamente solo se acceduti tramite il nostro server, aprendo cioè, da uno o più browser, la locazione 'http://localhost/...'. Non funzionano aprendo gli applet come 'file:///...'
Per chi fosse interessato l'applicazione Java MultiServer, di soli 9K, è un server multithread multiutente. Sia questo che le applicazioni sono tratti dagli ottimi esempi contenuti nel libro 'Java in a Nutshell' della O'Reilly.
Maggiori informazioni sull'utilizzo degli applet si trovano al sito originale di MultiMouse. Presso il sito in questione non è più attivo il server MultiServer, per cui non è più possibile provare gli applet di comunicazione se non facendolo girare sotto un nostro HTTPD o trovando qualche Webmaster generoso disposto a farlo girare sul suo host.
Se si è in rete locale si possono utilizzare i client per permettere a più utenti di scambiarsi informazioni e discutere su grafici tramite il proprio Web
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |