Old:Installazione e configurazione di Apache, PHP e Oracle: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Riga 8: Riga 8:
==Installazione==
==Installazione==
Sul sito di Oracle Corp., previa procedura di registrazione, sono disponibili i pacchetti per Debian, Ubuntu, Suse e Red Hat/Fedora di Oracle Server 10g XE con una serie di limitazioni rispetto alla versione a pagamento:
Sul sito di Oracle Corp., previa procedura di registrazione, sono disponibili i pacchetti per Debian, Ubuntu, Suse e Red Hat/Fedora di Oracle Server 10g XE con una serie di limitazioni rispetto alla versione a pagamento:
* se Oracle Server 10g XE viene installato su un computer con pi� di una CPU (incluse anche le CPU dual core), esso utilizzer� esclusivamente le risorse di una sola CPU
* se Oracle Server 10g XE viene installato su un computer con pi� di una CPU (incluse anche le CPU dual core), esso utilizzer� esclusivamente le risorse di una sola CPU
* su un singolo computer pu� essere effettuata l�installazione di una sola copia di Oracle 10g XE; in aggiunta, gli utenti possono far girare una sola istanza del database Oracle su ciascun computer. Quest�ultima limitazione pu� comunque essere aggirata in quanto, anche sulla stessa installazione di Oracle 10g XE possono convivere pi� schemi, ciascuno dei quali contenente le proprie tabelle. Di fatto, � come se sulla stessa macchina fossero presenti pi� database simultaneamente
* su un singolo computer pu� essere effettuata l�installazione di una sola copia di Oracle 10g XE; in aggiunta, gli utenti possono far girare una sola istanza del database Oracle su ciascun computer. Quest�ultima limitazione pu� comunque essere aggirata in quanto, anche sulla stessa installazione di Oracle 10g XE possono convivere pi� schemi, ciascuno dei quali contenente le proprie tabelle. Di fatto, � come se sulla stessa macchina fossero presenti pi� database simultaneamente
Riga 96: Riga 95:
$ wget -c http://apache.fis.uniroma2.it/httpd/httpd-2.2.3.tar.gz
$ wget -c http://apache.fis.uniroma2.it/httpd/httpd-2.2.3.tar.gz
# tar xzf httpd-2.2.3.tar.gz /usr/local/src/
# tar xzf httpd-2.2.3.tar.gz /usr/local/src/
# cd /usr/local/src/httpd-2.2.3/
# cd /usr/local/src/httpd-2.2.3/
# ./configure --prefix=/usr/local/apache2/
# ./configure --prefix=/usr/local/apache2/
# make && make install
# make && make install
</pre>
il parametro --prefix passato al comando configure richiede il path in cui verr installato il web server Apache. Dalla documentazione del web server si legge che il percorso di default da indicare /usr/local/apache2/.
Le impostazioni del server web Apache risiedono nel file httpd.conf (che si trova nella directory /usr/local/apache2/conf/ nel caso sia stata effettuata l'installazione da sorgenti); tale file pu essere modificato, disponendo dei privilegi di root, con un qualsasi editor di testi. In particolare, all'interno di tale file, necessario impostare le seguenti direttive:
* Listen: consente ad Apache di porsi in ascolto su un determinato indirizzo IP e/o porta
* ServerName: il nome del server, o l'indirizzo IP e il numero di porta che il server utilizza per identificare se stesso
* DocumentRoot: la directory contenente le pagine web delle proprie applicazioni. &Egrave anche possibile indicare un alias, o un link simbolico per puntare ad altre locazioni del filesystem.
Una volta salvate le modifiche apportate al file httpd.conf, possibile far partire Apache con il comando:
<pre>
# /usr/local/apache2/bin/apachectl start
</pre>
quindi, puntanto il proprio browser web all'indirizzo specificato anche con la direttiva '''ServerName''' precedentemente citata, si dovrebbe poter visualizzare la pagina di benvenuto di Apache.
==Installazione e configurazione di PHP==
PHP un linguaggio di scripting serverside che consente di integrare il codice HTML al fine di realizzare pagine web dinamiche, ossia il cui contenuto varia in base alle azioni intraprese dagli utenti. Poich lo scopo di questa guida quello di realizzare un server web in grado di interagire con una base di dati Oracle, necessario che PHP disponga del supporto per tale DBMS. Ancora una volta, per poter abilitare esclusivamente le funzionalit richieste di PHP, si optato per la compilazione dei sorgenti di questo software.
<pre>
$ wget -c http://it2.php.net/get/php5.1.6.tar.gz/from/it.php.net/mirror
# tar xzf php-5.1.6.tar.gz /usr/local/src/
# cd /usr/local/src/php5.1.6/
# ./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/apache2/conf \
--with-oci8=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server \
--enable-sigchild \
--without-mysql
# make && make install
</pre>
Come si pu notare dal codice precedente, il comando '''configure''' seguito da una serie di opzioni da attivare nella successiva fase di compilazione:
* --prefix: permette di indicare in quale directory installare PHP
* --with-apxs2: indica che si vuole compilare PHP come un moulo condiviso di Apache
* --with-config-file-path: indica il percorso dei file di configurazione di Apache
* '''--with-oci8''': si occupa di abilitare il supporto per il DBMS Oracle. Nel caso precedente, stato indicato il percorso dell'installazione di Oracle Server, supponendo che Apache, PHP ed Oracle siano stati installati sulla stessa macchina.
Diverso il caso in cui si decide di suddividere web e db server, in quanto sulla macchina che funge da web server necessario installare l''''Oracle Instant Client''', un software, fornito dalla stessa Oracle che fornisce strumenti per la connessione con una base di dati residente su un db server remoto, ma anche strumenti per interagire con un database come SQL*Plus. Effettuata l'installazione e la configurazione dell'Oracle Instant Client, trattate nel paragrafo successivo, necessario fornire il percorso di tale installazione al comando configure precedente che diventa:
<pre>
# ./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/apache2/conf \
--with-oci8=instantclient,[path_installazione_oracle_instant_client] \
--enable-sigchild \
--without-mysql
</pre>
</pre>