Redazione
a- a+

Compilare Apache e PHP come modulo dinamico su Linux

Compilare Apache e PHP come modulo dinamico su Linux

Per questo tutorial prenderemo in esame delle versionispecifiche di PHP e Apache. Del primo useremo la versione4.0.4pl1, mentre del secondo useremo la versione1.3.14 (l'ultima versione stabile).

Potete reperire questo software sui siti www.apache.org e www.php.net.

Ricordate che dovete essere root per poter eseguirecorrettamente tutte le operazioni illustrate!!!

A questo punto iniziamo il tutto creando una cartella chechiamereme temp nella root directory di Linux. Questacartella ci servirà per tenere separati i sorgenti diApache e del PHP dal resto dell'albero. Infatti una voltacompletato il tutto non ne avremo più bisogno (almenodi modifiche successive) e quindi potremo cancellarli!

Scarichiamo ipacchetti in considerazione per la versione di Linux a noipiù consona: per il PHP il pacchetto è unico,ma per Apache ce ne sono vari; io ho scelto una versioneottimizzata per le macchine i686 (ma il ragionamento èanalogo per altri tipi di macchine. Cambia solo il nome deifile, non le operazioni da eseguire!).

La configurazione del PHP come modulo dinamico richiede duefasi separate: quella dell'installazione di Apache equella dell'installazione del PHP. Iniziamo dallaprima

Compilare ed installare Apache 1.3.14

Ci siamo! Siamo alle prime vere operazioni. Entriamo nelladirectory temp con il comando:

cd /temp

...e decomprimiamo il pacchetto...

gunzip -dc apache_1.3.14-i686-whatever-linux2.tar.gz |tar xvf -

...ed entriamo nella directory...

cd apache_1.3.14

Iniziamo la compilazione di Apache configurando iltutto:

./configure --prefix=/usr/local/apache--enable-module=so

Notiamo la direttiva --enable-module=so. Questadirettiva installa il supporto per i moduli dinamici. E'importante metterla, altrimento la compilazione del PHPsuccessivamente non andrà a buon termine.
Compiliamo il tutto con i classici comandi

make

make install

A questo punto Apache dovrebbe essere installato sel'operazione di compilazione è andata per ilmeglio. Quindi proviamo se il tutto è ok con ilseguente comando da shell:

/usr/local/apache/bin/apachectl start

Si dovrebbe avere come risposta qualcosa del tipo:

/usr/local/apache/bin/apachectl start: httpdstarted

A questo punto proviamo fattivamente il tutto: aprimo ilbrowser e digitiamo http://127.0.0.1
Se appare la pagina di benvenuto ad Apache siamo a cavallo epossiamo procedere oltre installando il PHP.

Compilare ed installare PHP 4.0.4pl1

Prima di tutto dobbiamo controllare che Apache abbiacompilato correttamente il modulo mod_so. Per questodobbiamo lanciare il seguente comando:

/usr/local/apache/bin/httpd -l

Controlliamo adesso che nell'elenco dei moduli appaiamod_so.c. Se c'è possiamo proseguire,altrimenti abbiamo sbagliato qualcosa e dobbiamo ricompilareil tutto.
Eseguiamo le operazioni analoghe a quelle di Apachespacchettando prima il tutto:

gunzip -dc php-4.0.4pl1.tar.gz | tar xvf -

...entriamo nella directory...

cd php-4.0.4pl1

...ed iniziamo la configurazione:

./configure --with-apxs=/usr/local/apache/bin/apxs--with-mysql=/usr/local/mysql

Dando un'occhiata alle direttive ci rendiamo conto cheabbiamo attivato il modulo dinamico specificandoli la pathdell'apxs di Apache e che abbiamo attivato il modulo permySQL. Quest'ultima direttiva va lasciata così seavete seguito le mie istuzione del tutorial precedente edavete installato mySQL in quella directory, altrimenti vamodificata per la vostra distribuzione. Questo tocca avoi.
Se il configure è a posto (di solito, se cisono errori, gli da all'inizio) possiamo continuare con icomandi classici...

make

make install

Adesso il modulo del PHP è pronto, ma dobbiamoeseguire alcune opzioni prima di poter andare avanti eprovarlo. Quindi copiamo il file di config di PHP:

cp php.ini-dist /usr/local/lib/php.ini

...e modifichiamo il file httpd.conf inserendoqueste righe:

AddType application/x-httpd-php .php .php3 .php4
AddType application/x-httpd-php-source .phps


Di solito queste due righe sono già inserite nel filehttpd.conf e vanno solo decommentate cancellando il simbolo #che precede il rigo con quella sintassi.

Adesso ci siamo!!! Siamo veramente pronti!!! Dobbiamo solofar ripartire Apache ed incrociare le dita:

/usr/local/apache/bin/apachectl restart

Se tutto è ok riceviamo:

/usr/local/apache/bin/apachectl start: httpdrestarted

Adesso, per provare fattivamente la configurazione, dobbiamocreare un file .php3 con questa sintassi:



E salviamolo in /usr/local/apache/htdocs con il nomeinfo.php3
Apriamo il browser e digitiamohttp://127.0.0.1/info.php3
Se tutto è ok il PHP ci mostrerà il file conil riassunto di tutti i suoi parametri essenziali.
Adesso siete pronti!!! Buon lavoro.....

Note: 1) L'installazione del PHP su Apache 2.0è del tutto simile: cambiano le direttive diconfigurazione di Apache (al posto di --enable-module=sodovete inserire --enable-so) e del PHP (al posto di--with-apxs dovete inserire --with-apxs2)
2) Ciò che qualifica una compilazione tuttosommato semplice come questa è il grado dipersonalizzazione. Se volete inserire qualche configurazioneparticolare, riferitevi alla istruzione datevi dai comandi./configure --help sia per Apache che per il PHP.