PHP 4.3.x on Cobalt RaQ 550

06/10/2005 0 di D.ian

This steps are based on Tao of Mac, i’ll do my english version soon (at least i’d like to do).

Questo articolo è qui principalmetne per ricoradare a me stesso come fare un altro upgrade nel caso ne avessi bisogno.

Salvare la vecchia versione e isolare il php per l’AdminServer
Copiare /usr/lib/apache in /usr/lib/apache.admserv e farne anche una copia in /usr/lib/apache.orig (nel caso le cose andassero male):
# cd /usr/lib
# cp -R apache apache.admserv
# cp -R apache apache.orig

Configurare apache dell’administration server in modo che usi la directoty appena salvata:
# vim /etc/admserv/conf/httpd.conf e cambiare la riga
LoadModule php4_module modules/libphp4.so in
LoadModule php4_module /usr/lib/apache.admserv/libphp4.so
e il relativo php.ini:
#vim /etc/admserv/php.ini cambiando la riga
extension_dir = /usr/lib/apache/php in
extension_dir = /usr/lib/apache.admserv/php
Far ripartire apache e verificare che la consolle dei amministrazione funzioni correttamente:
# /etc/rc.d/init.d/admserv restart

Compilazione ed installazione del nuovo php
Per prima cosa serve procurarsi i sorgenti del php
delle librerie png (libpng-1.2.8.tar.gz) e delle librerie jpeg (jpegsrc.v6b.tar.gz).
Spostare i 3 file appena scaricati un /usr/src e decomprimerli

# tar zxvf jpegsrc.v6b.tar.gz
# tar zxvf libpng-1.2.8.tar.gz
# tar zxvf php-4.3.11.tar.gz

Compilare per prima cosa le librerie grafiche

# cd libpng-1.2.5/
# cp scripts/makefile.linux Makefile
# make install
# cd ../jpeg-6b/
# ./configure --enable-shared --enable-static --prefix=/usr && make && make install
# make install-lib
# make install-headers
Le librerie jpeg, se non configurate come qui riportato, non saranno disponibili al php
(provare con un semplice ./configure && make && make install e verificare con phpinfo)

Configurare e compilare il php:

# cd ../php-4.3.11
# ./configure --prefix=/usr --with-apxs=/usr/sbin/apxs --enable-safe-mode --with-config-file-path=/etc/httpd/ --with-exec-dir=/usr/bin --with-zlib --enable-magic-quotes --with-regex=system --with-pear --enable-calendar --with-gd --with-iconv --disable-debug --with-gettext --with-ttf=/usr/lib/libttf.so --enable-mbstring --with-interbase=shared --with-mysql=shared --with-pgsql=shared --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib --enable-memory-limit
# make && make install
# cp modules/* /usr/lib/apache/php/
# /etc/init.d/httpd restart

Se nascono dei problemi controllare le configurazioni di Apache e di Php.
Infatti molto probabilmete sarà necessario in

/etc/httpd/conf/httpd.conf

sostituire
LoadModule php4_module modules/libphp4.2.3.so in
LoadModule php4_module modules/libphp4.so

Il php.ini originale si trova in /etc/httpd/4.2.3 mentre è stato specificato in fase di configurazione che il nuovo php.ini sarà in /etc/http, si può copiare il file originale e cambiare ciò che è necessario:
# vim /etc/httpd/php.ini
extension_dir = /usr/lib/apache/php/4.2.3
diventa
extension_dir = /usr/lib/apache/php