CONFIGURAZIONI PC E RETI
ovvero... come abbiamo fatto dalla A alla Z.
 
HOME DOCUMENTI PROGETTI RISORSE DOMANDE ARTICOLI

 APACHE-SSL + WEB SERVICES PHP-PERL + CONNESSIONE MSSQL7-2000: INSTALLAZIONE
 ultimo aggiornamento: 9 gennaio 2004 ore 10.50
 
 
PROBLEMATICA
Preparazione e installazione APACHE-SSL con incluso WebServices PHP,Perl e connessione MSSQL7 e MSSQL2000.
 
MOTIVAZIONI
Creare dei web services con Apache e PHP o Perl e' facilissimo e gratuito.
Attraverso l'utilizzo di OpenSSL le comunicazioni tra client e server sono criptate e sicure. Quindi, e' possibile utilizzare parametri tipo password senza il rischio di essere lette in chiaro mediante programmi che "sniffano" la rete.
L'installazione sia di PHP che Perl permette di scegliere il linguaggio piu' adatto per l'implementazione di un dato servizio.
La possibilita' di connettersi ai server database di Microsoft allarga l'utilizzo del sistema in ambienti Windows che si basano su MS-SQL7 e MS-SQL2000.
Mediante Microsoft Soap Toolkit e' poi possibile sviluppare applicazioni client in ambiente Windows (ad esempio con Visual Basic 6) che si inerfacciano con i web services attivati.

 
COSA SI INSTALLA: TUTTO GRATUITO
Tutti gli applicativi che vengono installati sono gratuiti.
Apache-SSL e' un progetto che deriva da Apache e che integra nel suo codice le funzionalita' SSL.
OpenSSL viene utilizzato per implementare SSL.
PHP e' un linguaggio di programmazione adatto al web e utilizzabile sia in ambiente Linux che Windows.
curl viene utilizzato da PHP per comunicare utilizzando SSL.
PERL e' un linguaggio di programmazione che comprende innumerievoli librerie per interfacciarsi con il Sistema Operativo e per svolgere le 'piu' disparate attivita'. Anche PERL puo' essere utilizzato su Windows.
mod_perl permette di utilizzare PERL in Apache.
FreeTDS fornisce le librerie per il collegamento a MS-SQL7 e MS-SQL200 sia per PHP che per PERL.
Nusoap viene utilizzato per creare i web services in PHP.
SOAP::Lite viene utilizzato per creare i web services in PERL.
DBD::Sybase viene utilizzato da PERL per il collegamento FreeTDS (tramite DBI) ai database MS-SQL7 e MS-SQL2000.

 
SORGENTI UTILIZZATI
Per l'installazione descritta in questo documento sono state utilizzate le seguenti versioni dei sorgenti:

Apache-SSL: apache_1.3.27
OpenSSL: 0.9.6
PHP4: php-4.3.2
curl: curl-7.10.5
PERL: perl-5.6.1
mod_perl: mod_perl-1.28
FreeTDS: freetds-0.61
Nusoap: nusoap-0.6.4
SOAP::Lite: SOAP::Lite 0.55
DBD::Sybase: DBD::Sybase 1.00

La distribuzione Linux utilizzata e' Linux Debian Woody 3.0.

 
FASI
1) download degli applicativi;
2) installazione di OpenSSL;
3) installazione di FreeTDS;
4) compilazione e installazione di curl;
5) compilazione e installazione di PHP;
6) installazione di PERL;
7) compilazione e installazione di mod_perl;
8) compilazione e installazione di Apache-SSL;
9) installazione di Nusoap;
10) installazione di SOAP::Lite;
11) installazione di DBD::Sybase;
12) configurazione di httpsd.conf per SSL;
13) configurazione di Apache per l'utilizzo di PHP;
14) configurazione di Apache per l'implementazione di un web service in PERL mediante Apache::Registry;
15) configurazione di Apache per l'implementazione di un web service in PERL mediante SOAP::Apache;
16) alcuni esempi.

 
FASE 1: DOWNLOAD DEGLI APPLICATIVI
Per quanto riguarda Perl 5.6.1 e OpenSSL utilizzeremo quelli inclusi nelle distribuzioni, senza dover ricompilare i sorgenti.
Durante la fase di compilazione degli altri pacchetti potrebbero verificarsi degli errori per la mancata installazione di alcuni pacchetti relativi ad alcune librerie in versione sviluppo. Leggendo le righe generate dalla compilazione si puo' capire quali sono le librerie mancanti e quindi si procede all'instllazione delle stesse mediante gli strumenti messi a disposizione dalla propria distribuzione.
Apache-SSL 1.3.27 puo' essere scaricato scegliendo un link da www.apache-ssl.org. Occorre scaricare la versione indicata.

FreeTDS puo' essere scaricato da www.freetds.org scegliendo freetds.tgz (ossia i sorgenti).

PHP4 puo' essere scaricato da www.php.net scegliendo la versione 4.3.2.

curl puo'essere scaricato da curl.haxx.se/download.html scegliendo l'ultima versione

mod_perl puo' essere scaricato da perl.apache.org.

Nusoap puo' essere scaricato da dietrich.ganx4.com/nusoap/.

SOAP::Lite e DBD::Sybase possono essere scaricati da search.cpan.org inserendo rispettivamente SOAP::Lite e DBD::Sybase come parole chiave. Questo discorso vale per tutte le librerie PERL che potrebbero essere necessarie. Si si ha configurato il modulo CPAN in PERL, allora e' possibile installare le librerie utilizzando il comando (ad esempio)

perl -MCPAN -e shell
> install SOAP::Lite
> quit

Per la libreria DBD::Sybase occorre anche specificare la variabile d'ambiente SYBASE facendola puntare alle librerie di freetds (come viene descritto di seguito nel documento).

Per semplicita' si suppone di scaricare tutti i programmi in /root/programmi, anche se sarebbe meglio - per questioni di sicurezza - eseguire la compilazione come utente diverso da root ed eseguire la fase di installazione come root.

 
FASE 2: INSTALLAZIONE DI OPENSSL
Visto che non occorre ricompilare OpenSSL, conviene utilizzare OpenSSL che solitamente e' gia' installato di default nel proprio sistema.
Nel caso non ci sia, conviene utilizzare i metodi relativi alla propria distribuzione per l'installazione di OpenSSL e dei pacchetti da cui dipende.

 
FASE 3: INSTALLAZIONE DI FREETDS
L'installazione di FreeTDS avviene nel seguente modo

cd /root/programmi tar -xvzf freetds-0.61.tgz
cd freetds-0.61
./configure --prefix=/usr/local/freetds --with-tdsver=7.0
make
make install

Con l'opzione --prefix si indica dove si vuole installare freetds.
Con l'opzione --with-tdsver=7.0 si indica quale e' la versioe di default di MS-SQL a cui ci si vuole collegare. Se si specifica 7.0 la versione di MS-SQL e' la 7.0. Se si specifica 8.0, la versione di MS-SQL e' la 2000.

Occorre poi configurare il file /usr/local/freetds/etc/freetds.conf specificando i vari tipi di connessione e il drive da utilizzare (il file e' ben commentato...).
Ad esempio, se il nostro server SQL7 ha come indiritto IP 192.168.0.10, occorrera' specificare le seguenti righe:

[MyServer70]
host = 192.168.0.10
port = 1433
tds version = 7.0

Per ultimo, occorre copiare le librerie generate anche in /usr/lib (cosi' vengono "trovate" facilmente da tutti i programmi)

cp -dp /usr/local/freetds/lib/lib* /usr/lib


 
FASE 4: COMPILAZIONE E INSTALLAZIONE DI CURL
Curl viene utilizzato da nusoap per connessioni di tipo SSL (con https). Quindi occorre compilare in PHP l'estensione curl.
La comipazione e installazione di curl avviene nelseguente modo:

cd /root/programmi
tar -xvzf curl-7.10.5.tar.gz
cd curl-7.10.5
./configure
make
make install

 
FASE 5: COMPILAZIONE E INSTALLAZIONE DI PHP
Il nostro scopo e' quello di compilare direttamente PHP4 in apache e con le funzionalita' di freetds.
Occorre quindi per prima cosa scompattare apache e php:

cd /root/programmi
tar -xvzf apache_1.3.27.tar.gz
tar -xvzf php-4.3.2.tar.gz

Prima di compilare PHP4 occorre eseguire il comando configure nella directory di Apache:

cd /root/programmi/apache_1.3.27
./configure --activate-module=src/modules/php4/libphp4.a --activate-module=src/modules/perl/libperl.a --disable-rule=EXPAT


La compilazione di PHP4 avviene in questo modo:

cd php-4.3.2
./configure --with-sybase=/usr/local/freetds --with-apache=../apache_1.3.27 --with-curl --enable-track-vars
make
make install

Attenzione: il file di configurazione php.ini si trovera' nella directory /usr/local/lib

 
FASE 6: INSTALLAZIONE DI PERL
Visto che non occorre ricompilare PERL 5.6.1, conviene installarlo con i metodi classici dipendenti dalla propria distribuzione.
 
FASE 7: COMPILAZIONE E INSTALLAZIONE DI MOD_PERL
Mod_perl viene installato nel seguente modo:

cd /root/programmi
tar -xvzf mod_perl-1.28.tar.gz
cd mod_perl-1.28
perl Makefile.PL APACHE_SRC=../apache_1.3.27/src DO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1
make
make install

 
FASE 8: COMPILAZIONE E INSTALLAZIONE DI APACHE-SSL
A questo punto e' possibile inglobare PHP e mod_perl in apache-ssl. Per fare qusto occorre eseguire i seguenti comandi

cd /root/programmi/apache_1.3.27
./configure --activate-module=src/modules/php4/libphp4.a --activate-module=src/modules/perl/libperl.a --disable-rule=EXPAT
make
make install

In questo modo apache-ssl viene installato in /usr/local/apache.
I files di configurazione sono in /usr/local/apache/conf.
Gli eseguibili si trovano in /usr/local/apache/bin.
Il demone si chiama httpsd.
Il file per attivare il demone si chiama httpsdctl.
Naturalmente, prima di attivare apache-ssl, occorre configurarlo, come verra' visto in una fase successiva.

 
FASE 9: INSTALLAZIONE DI NUSOAP
L'installazione di nusoap e' banale, in quanto consiste unicamente nella copia del file nusoap.php in una directory scelta a piacere, ad esempio in /usr/local/apache/strumenti e nell'importazione del file stesso negli script PHP mediante l'istruzione

require_once('/usr/local/apache/strumenti/nusoap.php');

Quindi, le istruzioni da seguire sono le seguenti:

cd /root/programmi
mkdir nusoap
mv nusoap-0.6.4.zip nusoap
cd nusoap
unzip nusoap-0.6.4.zip
mkdir /usr/local/apache/strumenti
cp nusoap.php /usr/local/apache/strumenti

Per l'utilizzo con curl dalla versione 7.10 in su occorre disabilitare il controllo sul fatto che il certificato sia stato rilasciato da un'autorita' di certificazione. Quindi occorre modificare nusoap.php aggiungendo la seguente riga nella funzione function sendHTTPS($data, $timeout=0):

function sendHTTPS($data, $timeout=0) {
//global $t;
//$t->setMarker('inside sendHTTPS()');
$this->debug('entered sendHTTPS() with data of length: '.strlen($data));
// init CURL
$ch = curl_init();
//$t->setMarker('got curl handle');
// set proxy
if($this->proxyhost && $this->proxyport){
$host = $this->proxyhost;
$port = $this->proxyport;
} else {
$host = $this->host;
$port = $this->port;
}
// set url
$hostURL = ($port != '') ? "https://$host:$port" : "https://$host";
// add path
$hostURL .= $this->path;
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
...


 
FASE 10: INSTALLAZIONE DI SOAP::Lite
L'installazione di SOAP::Lite viene eeguita nel seguente modo:

cd /root/programmi
tar -xvzf SOAP-Lite-0.55.tar.gz
cd SOAP-Lite-0.55
perl Makefile.PL
make
make install

Visto che SOAP::Lite dipende da altre librerie PERL, se queste non sono gia' installate sul proprio sistema, dovranno essere scaricate da search.cpan.org, dovranno essere scompattate e installate sempre con la procedura standard (a meno che non sia specificato diversamente nel file INSTALL della libreria)

cd /root/programmi
tar -xvzf Nome-Libreria.tar.gz
cd Nome-Libreria
perl Makefile.PL
make
make install

Naturalmente, se sul sistema e' stato installato CPAN, bastera' eseguire

perl -MCPAN -e shell
> install SOAP::Lite
> quit

 
FASE 11: INSTALLAZIONE DI DBD::Sybase
L'installazione di DBD::Sybase viene eeguita nel seguente modo (specificando nella variabile d'ambiente SYBASE qual e' il percorso di freetds):

cd /root/programmi
tar -xvzf DBD-Sybase-1.00.tar.gz
cd DBD-Sybase-1.00
export SYBASE=/usr/local/freetds
perl Makefile.PL
make
make install

 
FASE 12: CONFIGURAZIONE DI HTTPSD.CONF PER SSL
Il file di configurazione di apache-ssl si chiama httpsd.conf e si trova in /usr/local/apache/conf.
Occorre che nel file siano presenti le seguenti righe (i commenti sono stati lasciati: riferirsi alle righe non commentate,ed eventualmente abilitare le altre se si ritengono necessarie):

# Disable SSL. Useful in combination with virtual hosts. Note that SSLEnable is
# now also supported.
SSLEnable

# Set the path for the global cache server executable.
# If this facility gives you trouble, you can disable it by setting
# CACHE_SESSIONS to FALSE in apache_ssl.c
SSLCacheServerPath /usr/local/apache/bin/gcache

# Set the global cache server port number, or path. If it is a path, a Unix
# domain socket is used. If a number, a TCP socket.
SSLCacheServerPort /var/run/gcache_port
#SSLCacheServerPort 1234

# Set the session cache timeout, in seconds (set to 15 for testing, use a
# higher value in real life)
SSLSessionCacheTimeout 3600

# Set the CA certificate verification path (must be PEM encoded).
# (in addition to getenv("SSL_CERT_DIR"), I think).
#SSLCACertificatePath /u/ben/apache/apache_1.2.5-ssl/SSLconf/conf
SSLCACertificatePath /usr/local/apache/conf

# Set the CA certificate verification file (must be PEM encoded).
# (in addition to getenv("SSL_CERT_FILE"), I think).
#SSLCACertificateFile /some/where/somefile
#SSLCACertificateFile /u/ben/apache/apache_1.2.5-ssl/SSLconf/conf/httpsd.pem

# Point SSLCertificateFile at a PEM encoded certificate.
# If the certificate is encrypted, then you will be prompted for a pass phrase.
# Note that a kill -1 will prompt again.
# A test certificate can be generated with "make certificate".
SSLCertificateFile /usr/local/apache/conf/apache.pem
#SSLCertificateFile /u/ben/apache/apache_1.2.6-ssl/SSLconf/conf/t1.pem


# If the key is not combined with the certificate, use this directive to
# point at the key file. If this starts with a '/' it specifies an absolute
# path, otherwise it is relative to the default certificate area. That is, it
# means "/private/".
#SSLCertificateKeyFile /some/place/with/your.key

# Set SSLVerifyClient to:
# 0 if no certicate is required
# 1 if the client may present a valid certificate

SSLVerifyClient 0
# How deeply to verify before deciding they don't have a valid certificate
SSLVerifyDepth 10

# Translate the client X509 into a Basic authorisation. This means that the
# standard Auth/DBMAuth methods can be used for access control. The user name
# is the "one line" version of the client's X509 certificate. Note that no
# password is obtained from the user. Every entry in the user file needs this
# password: xxj31ZMTZzkVA. See the code for further explanation.
SSLFakeBasicAuth

# List the ciphers that the client is permitted to negotiate. See the source
# for a definitive list. For example:
#SSLRequiredCiphers RC4-MD5:RC4-SHA:IDEA-CBC-MD5:DES-CBC3-SHA

# These two can be used per-directory to require or ban ciphers. Note that (at
# least in the current version) Apache-SSL will not attempt to renegotiate if a
# cipher is banned (or not required).
#SSLRequireCipher
#SSLBanCipher

# A home for miscellaneous rubbish generated by SSL. Much of it is duplicated
# in the error log file. Put this somewhere where it cannot be used for symlink
# attacks on a real server (i.e. somewhere where only root can write).
#SSLLogFile /var/log/ssl.log

La spiegazione dei parametri e' contenuta in www.apache-ssl.org/docs.html.

La linea SSLCertificateFile /usr/local/apache/conf/apache.pem indica qual e' e dove si trova il certificato che si vuole utilizzare per la connessione sicura. Un certificato valido un anno puo' essere creato in questo modo:

cd /root/programmi/apache_1.3.27/src
make certificate
>ps > /tmp/ssl-rand; date >> /tmp/ssl-rand; \
>RANDFILE=/tmp/ssl-rand /usr/bin/openssl req -config ../SSLconf/conf/ssleay.cnf \
>-new -x509 -nodes -out ../SSLconf/conf/httpsd.pem \
>-keyout ../SSLconf/conf/httpsd.pem; \
>ln -sf httpsd.pem ../SSLconf/conf/`/usr/bin/openssl \
>x509 -noout -hash < ../SSLconf/conf/httpsd.pem`.0; \
>rm /tmp/ssl-rand
>Using configuration from ../SSLconf/conf/ssleay.cnf
>Generating a 1024 bit RSA private key
>...................................................................++++++
>.++++++
>writing new private key to '../SSLconf/conf/httpsd.pem'
>-----
>You are about to be asked to enter information that will be incorporated
>into your certificate request.
>What you are about to enter is what is called a Distinguished Name or a DN.
>There are quite a few fields but you can leave some blank
>For some fields there will be a default value,
>If you enter '.', the field will be left blank.
>-----
>Country Name (2 letter code) [GB]:IT
>State or Province Name (full name) [Some-State]:LOMBARDIA
>Locality Name (eg, city) []:MILANO
>Organization Name (eg, company; recommended) []:
>Organizational Unit Name (eg, section) []:
>server name (eg. ssl.domain.tld; required!!!) []:172.16.13.14 (nota: inserire l'ip del server se richiamato ad es. come https://172.16.13.14 o il nome del dominio richiamato se il server e' pubblico)

>Email Address []:

cd ../SSLconf/conf
cp httpsd.pem /usr/local/apache/conf/apache.pem

Il certificato contiene sia chiave privata che chiave pubblica.
E' possibile ottenere due files distinti con chiave privata e chiave pubblica utilizzando la seguente procedura (attenzione: in sostituzione della procedura per generazione di una sola chiave):

openssl req -new -config /root/programmi/apache_1.3.27/SSLconf/conf/ssleay.cnf> new.cert.csr
>Using configuration from /root/programmi/apache_1.3.27/SSLconf/conf/ssleay.cnf
>Generating a 1024 bit RSA private key
>....................++++++
>........................++++++
>writing new private key to 'privkey.pem'
>Enter PEM pass phrase:
>Verifying password - Enter PEM pass phrase:
>-----
>You are about to be asked to enter information that will be incorporated
>into your certificate request.
>What you are about to enter is what is called a Distinguished Name or a DN.
>There are quite a few fields but you can leave some blank
>For some fields there will be a default value,
>If you enter '.', the field will be left blank.
>-----
>Country Name (2 letter code) [GB]:IT
>State or Province Name (full name) [Some-State]:LOMBARDIA
>Locality Name (eg, city) []:MILANO
>Organization Name (eg, company; recommended) []:.
>Organizational Unit Name (eg, section) []:
>server name (eg. ssl.domain.tld; required!!!) []:172.16.13.14 (nota: inserire l'ip del server se richiamato ad es. come https://172.16.13.14 o il nome del dominio richiamato se il server e' pubblico)
>Email Address []:

openssl rsa -in privkey.pem -out new.cert.key
>read RSA key
>Enter PEM pass phrase:
>writing RSA key

openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 1200
>Signature ok
>subject=/C=IT/ST=LOMBARDIA/L=MILANO/CN=172.16.13.14
>Getting Private key

chmod 0600 new.cert.key
cp new.cert.cert /usr/local/apache/conf
cp new.cert.key /usr/local/apache/conf

I files generati (new.cert.key e new.cert.cert) devono essere specificati in httpsd.conf in questo modo:

SSLCertificateFile /usr/local/apache/conf/new.cert.cert
SSLCertificateKeyFile /usr/local/apache/conf/new.cert.key

Quindi, oltre a SSLCertificateFile si deve specificare anche SSLCertificateKeyFile.

 
FASE 13: CONFIGURAZIONE DI APACHE PER L'UTILIZZO DI PHP
Per l'utilizzo di PHP in apache occorre inserire in httpsd.conf, nella sezione <IfModule mod_mime.c>, la seguente riga:

AddType application/x-httpd-php .php

 
FASE 14: CONFIGURAZIONE DI APACHE PER L'IMPLEMENTAZIONE DI UN WEB SERVICE IN PERL MEDIANTE APACHE::REGISTRY
Un primo modo di configurare un web service in PERL su Apache e' quello di utilizzare Apache::Registry.
Supponendo di voler mettere gli script PERL (che realizzano i web services) nella directory /usr/local/apache/perl, dopo averla creata con

mkdir /usr/local/apache/perl

nel file di configurazione httpsd.conf occorre inserire le seguenti righe enella sezione <IfModule mod_alias.c>:

Alias /perl/ "/usr/local/apache/perl/"

PerlModule Apache::Registry
<Location /perl/>
SetHandler perl-script
PerlSendHeader On
PerlHandler Apache::Registry
Options +ExecCGI
Allow from all
</Location>

Per il funzionamento con Apache::Registry il file PERL che realizza i web services deve essere contenuto nella directory specificata, e deve essere richiamato dai clients specificando anche il nome del file stesso.

Ad esempio, supponiamo di voler realizzare un web service con funzione ciao() che da' come risultato "salve".
Realizziamo il file PERL in questo modo, chiamandolo servizi.pl:

#!/usr/bin/perl
# servizi.pl use SOAP::Transport::HTTP;

SOAP::Transport::HTTP::CGI
-> dispatch_to('FUNZIONI')
-> handle;

package FUNZIONI;

sub ciao{
return "salve";
}

1;

Occorre assegnare l'utente di apache e i permessi di esecuzione al file creato. L'utente di apache e' quello specificato in httpsd.conf nella linea User. Nel nostro caso supponiamo che sia www-data:

chown www-data servizi.pl
chmod 0750 servizi.pl
mv servizi.pl /usr/local/apache/perl

Occorre a questo punto riavviare Apache con i comandi:

/usr/local/apache/bin/httpsdctl stop
/usr/local/apache/bin/httpsdctl start

Se non ci sono errori, il servizio si attiva e il web service e' disponibile. Il client lo dovra' richiamare specificando l'uri "urn:FUNZIONI" e il proxy "https://172.16.13.14/perl/servizi.pl".
Negli esempi contenuti in fasi successive vedremo come si potra' fare in PERL, PHP e Visual Basic 6.

 
FASE 15: CONFIGURAZIONE DI APACHE PER L'IMPLEMENTAZIONE DI UN WEB SERVICE IN PERL MEDIANTE SOAP::APACHE
Un secondo modo di configurare un web service in PERL su Apache e' quello di utilizzare SOAP::Apache.
Supponendo di voler mettere gli script PERL (che realizzano i web services) nella directory /usr/local/apache/perl/modules, dopo averla creata con

mkdir -p /usr/local/apache/perl/modules

nel file di configurazione httpsd.conf occorre inserire le seguenti righe enella sezione <IfModule mod_alias.c>:

Alias /perl/ "/usr/local/apache/perl/"

PerlModule SOAP::Apache
<Location /perl/>
SetHandler perl-script
PerlHandler SOAP::Apache
</Location>

Attenzione: non e' un errore specificare coem diectory /usr/local/apache/perl e non /usr/local/apache/perl/modules.
Per il funzionamento con SOAP::Apache occorre che nella directory contenente le librerie di PERL (nel caso di Debian Woody si trova in /usr/local/share/perl/5.6.1) , nella sottodirectory SOAP sia presente il file Apache.pm come specificato di seguito:

package SOAP::Apache;

# -- SOAP::Lite -- soaplite.com -- Copyright (C) 2001 Paul Kulchenko --

use SOAP::Transport::HTTP;

my $server = SOAP::Transport::HTTP::Apache->dispatch_to('/usr/local/apache/perl/modules/' )-> options({compress_threshold => 10000});

sub handler { $server->handler(@_) }

1;

Si noti come il file contenga in dispatch_to la directory dove si e' pianificato di mettre i files PERL.
I file, una volta salvato, va quindi copiato in /usr/local/share/perl/5.6.1/SOAP (o dove sono le proprie librerie)

cp Apache.pm /usr/local/share/perl/5.6.1/SOAP

Nel caso di SOAP::Apache occorre creare i files PERL con lo stesso nome che si specifichera' in uri. Riprendendo l'esempio della fase precedente, si dovra' creare il file FUNZIONI.pm nella directory /usr/local/apache/perl/modules.

package FUNZIONI;
#FUNZIONI.pm

sub ciao{
return "salve";
}

1;

Dopo averlo copiato nella directory /usr/local/apache/perl/modules con

mv FUNZIONI.pm /usr/local/apache/perl/modules

il servizio e' pronto (senza dover riavviare il server Apache).

Il client dovra' richiamare il servizio specificando l'uri "urn:FUNZIONI" e il proxy "https://172.16.13.14/perl/.
Negli esempi contenuti in fasi successive vedremo come si potra' fare in PERL, PHP e Visual Basic 6.

 
FASE 16: ALCUNI ESEMPI
Gli esempi verranno aggiunti di volta in volta.
 
DOCUMENTI CORRELATI
PHP & NUSOAP: INSTALLAZIONE ED ESEMPIO
PHP & NUSOAP: CLIENT VISUAL BASIC 6
RIFERIMENTI
www.apache-ssl.org
www.php.net
curl.haxx.se
www.perl.org
perl.apache.org
www.soaplite.com
search.cpan.org
www.freetds.org
dietrich.ganx4.com/nusoap/
www.openssl.org
CAMBIAMENTI
--. 9 gennaio 2004 10:50: correzione documento in fase 5 --. 11 luglio 2003 15:30: creazione documento
 
 
 redazione@retelinux.com