Server-Apache 2.0

Questa sezione contiene note e suggerimenti specifici per l'installazione di PHP, con Apache 2.0, sia per sistemi Unix sia per sistemi Windows.

Avvertimento

Non utilizzare Apache 2.0 e PHP in ambienti di produzione sia con Unix sia con Windows.

Riteniamo sia opportuno dare uno sguardo alla Documentazione di Apache per avere le nozioni di base per comprendere Apache 2.0.

Note di compatibilità tra PHP e Apache 2.0

Se seguente versioni di PHP funzionano correttamente con le ultime versioni di Apache 2.0:

Queste versioni di PHP sono compatibili con Apache 2.0.40 e successive.

Nota: Il supporto tramite SAPI ad Apache 2.0 è cominciato da 4.2.0. PHP 4.2.3 funziona con Apache 2.0.39, non utilizzare nessuna altra versione di Apache con PHP 4.2.3. Tuttavia si raccomanda di utilizzare il PHP 4.3.0, o successivo, con la più recente versione di Apache2.

Tutte le versioni di PHP menzionate, lavorano con Apache 1.3.x.

PHP e Apache 2 su Linux

Scaricare la più recente versione di Apache 2.0 e la versione di PHP dai siti menzionati in precendenza. Questa guida rapida copre soltanto le basi per partire con Apache 2.0 e PHP. Per maggiori dettagli leggere la documentazione di Apache. In questo esempio è stata omesso il numero di versione per evitare problemi nelle istruzioni presentate. Nell'installazione reale occorre sostituire 'NN' con il corretto numero della versione installata.

Esempio 3-6. Istruzioni per l'installazione (Apache 2 con modulo condiviso)

1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure --enable-so
7.  make
8.  make install

    A questo punto si ha Apache 2.0 disponibile in /usr/local/apache2,
    configurato con il supporto dei moduli caricabili.
    Per testare l'installazione utilizzare la solita procedura per attivare il
    server Apache, es.:
    /usr/local/apache2/bin/apachectl start
    e quindi fermare il server per attivare la configurazione con PHP:
    /usr/local/apache2/bin/apachectl stop.

9.  cd ../php4-NN
10. ./configure --with-apxs2=/usr/local/apache2/bin/apxs
11. make
12. make install
13. cp php.ini-dist /usr/local/lib/php.ini

    Modificare il php.ini per impostare le opzioni di PHP.
    Se si desidera pozionare questo file in altra directory, utilizzare
    --with-config-file-path=/path al passo 10.

14. Modificare httpd.conf e verificare la presenza delle seguenti
    linee:
  
   LoadModule php4_module modules/libphp4.so
   AddType application/x-httpd-php .php

  Si può segliere qualsiasi estensione di desideri. Il nostro suggerimento
  è di utilizzare .php.

  Il percorso indicato nel lato destro della riga LoadModule deve puntare 
  al percorso in cui si trova il modulo PHP. L'esempio illustrato è coerente
  con i parametri sin qui impostati. 

15. Utilizzare la solita procedura per avviare Apache, es.:
   /usr/local/apache2/bin/apachectl start

Seguendo i passi illustrati si ottiene un server Apache 2.0 funzionante con il supporto PHP come modulo SAPI. Ovviamente esistono molte altre opzioni di configurazione sia per Apache sia per PHP. Per maggiori dettagli utilizzare ./configure --help nei sorgenti di ciascun prodotto. Nel caso si desideri compilare la versione multithread di Apache 2.0 occorre sovrascrivere il modulo MPM standard prefork con worker o con perchild. Per ottenere ciò accodare alla linea di configurazione indicata nel passo 6 l'opzione --with-mpm=worker o --with-mpm=perchild. Occorre essere consapevoli delle conseguenze di ciò che si sta facendo. Per maggiori dettagli leggere la documenatzione di Apache sul modulo MPM.

Nota: Per potere compilare la versione multithread di Apache occorre che il sistema supporti i thread. Questo implica la compila di PHP con il modulo sperimentale Zend Thread Safety (ZTS). Pertanto non tutte le estensioni potranno essere disponibili. Si raccomanda, quindi, di compilare Apache con il modulo MPM standard prefork.

PHP e Apache 2.0 su Windows

Si consideri di leggere le note specifiche per Windows di Apache 2.0.

Avvertimento

Apache 2.0 è concepito per essere eseguito su Windows NT 4.0, Windows 2000 oppure Windows XP. In questo momento il supporto per Windows 9x è incompleto. Al momento non ci si aspetta che Apache 2.0 funzioni su quest'ultime piattaforme.

Scaricare la più recente versione di Apache 2.0 e la versione di PHP dai siti menzionati in precendenza. Seguire i passi per l'installazione manuale e tornare a questo pagina per integrare il PHP con Apache.

Esistono due metodi per configurare PHP e Apache 2.0 su Windows. Uno consiste nell'uso dell'eseguibile CGI, l'altro consiste nell'utilizzo del modulo DLL per Apache. In entrambi i casi occorre fermare Apache, modificare il file httpd.conf per configurare Apache.

Occorre inserire queste tre linee nel file di configurazione httpd.conf di Apache per impostare l'eseguibile CGI:

Esempio 3-7. PHP con Apache 2.0 come CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"

Se si desidera utilizzare il PHP come modulo di Apache 2.0, occorre copiare php4ts.dll nella directory winnt/system32 (per Windows NT/2000) o windows/system32 (per Windows XP), sovrascrivendo gli eventuali vecchi file. Quindi occorre inserire queste due righe nel file di configurazione di Apache httpd.conf per impostare il modulo PHP

Esempio 3-8. PHP su Apache 2.0 come Modulo

LoadModule php4_module "c:/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php

Nota: Nei precedenti esempi ricordarsi di sostituire c:/php/ con il percorso alPHP. Prestare attenzione di avere impostato php4apache2.dll nella direttiva LoadModule e nonphp4apche.dll. Quest'ultimo è utilizzato per Apache 1.3.x.

Avvertimento

Non mischiare i file dll da differenti versioni di PHP. Si ha solo la possibilità di utilizzare le dll e le estensioni fornite con la versione scaricata.