mod_php et ses prérequis

Qu'est-ce que mod_php ?

Extrait du site www.php.net

PHP est un language de script côté serveur, orienté Web et multi plate-forme.

Au départ c'étais simplement un moteur de livre d'or, puis il s'est développé encore et encore jusqu'à la version 3 qui était vraiment un langage de développement Web puissant

Du point de vue des auteurs:

Depuis la version 4, il est assez robuste pour des applications web professionnelles. Il est très puissant et supporte nativement toutes les principales bases de données, et les autres via ODBC. Il est un poil plus rapide que ASP sur systèmes M$.

Il existe d'autres extensions comme apc qui accélère les traitements de 50 à 400% (en fonction du code écrit)

Prérequis

En fonction de vos besoins, il faudra installer tout d'abord d'autres logiciels. Si vous suivez ce document, l'un de ces logiciels est MySQL car il est nécessaire à mod_auth_mysql.

IMAP client

Qu'est-ce qu'IMAP ?

IMAP signifie "Internet Mail Application Protocol". Il s'agit d'une alternative au protocole POP. Il permet de garder tous les mails dans des répertoires sur le serveur, évitant ainsi de perdre les mails en cas de crash de disque dur sur les postes clients

Compilation et installation


cd /usr/local

tar -xvfz imap.tar.Z

cd imap

make slx SSLTYPE=unix



N.B.:

imap.tar.Z est un lien vers la dernière version (aujourd'hui vers imap-2001a.tar.Z

Si vous n'avez pas besoin du support de SSL, enlevez "SSLTYPE=unix" dans la commande make

PostgreSQL

Qu'est-ce que PostgreSQL ?

PostgreSQL est une base de données puissante et rapide

Comme MySQL, c'est parfait pour les applications Web, mais de mon point de vue, n'est pas aussi aisée à gérer que MySQL. Si votre application Web écrit beaucoup de données ou que vous avez besoin de fonctionnalités robustes de transaction, PostgreSQL est pour vous

Télécharger les sources

Site d'origine: http://www.postgresql.org (Select a mirror close to you)

Compilation et installation


cd /usr/local

tar -xvzf postgresql-7.2.1.tar.gz

cd postgresql-7.2.1

./configure \
--with-perl \
--enable-odbc \
--with-unixodbc  \
--with-pam \
--with-openssl \


make
make install

echo /usr/local/pgsql/lib >> /etc/ld.so.conf

ldconfig

pdflib

Qu'est-ce que pdflib ?

Extrait du site www.pdflib.com

PDFlib est librairie pour générer à la volée des PDF sur le serveur, convertir des textes ou des graphiques, ou implémenter dans vos propres produits des sorties PDF.

Il s'agit d'un produit commercial! Lisez attentivement la licence pour savoir si vous avez besoin d'une licence commerciale ou pas!

Compilation et installation


cd /usr/local/
tar -xvzf pdflib-4.0.2.tar.gz

cd pdflib-4.0.2

./configure --enable-shared-pdflib --enable-cxx

make
make install

ldconfig

gettext

Qu'est-ce que gettext ?

gettext est une librairie pour i18n (Internationalisation, "I", 18 caractères et "n") des logiciels et est nécessaire pour php

Télécharger les sources

Site d'origine: ftp://ftp.gnu.org/gnu/gettext (choisissez un mirroir proche de chez vous)

Compilation et installation


cd /usr/local

tar -xvzf gettext-0.11.2.tar.gz

cd gettext-0.11.2

./configure

make
make check
make install

ldconfig

zlib

Qu'est-ce que zlib ?

zlib est une librairie de compression de donnée portable.

Télécharger les sources

Site d'origine: ftp://ftp.info-zip.org/pub/infozip/zlib/zlib.tar.gz (choisissez un mirroir près de chez vous)

Compilation et installation


cd /usr/local

tar -xvzf zlib-1.1.4.tar.gz

cd zlib-1.1.4/

./configure

make
make test
make install

ldconfig

Compilation et installation


cd /usr/local

tar -xvzf php-4.2.1.tar.gz

cd php-4.2.1


./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-pgsql=/usr/local/pgsql \
--enable-track-vars \
--with-openssl=/usr/local/ssl \
--with-imap=/usr/local/imap-2001a \
--with-gd --with-ldap \
--enable-ftp \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-pdflib=/usr/local \
--with-gettext \
--with-mm=/usr/local/mm-1.1.3 \
--with-jpeg-dir=/usr/lib \
--with-zlib-dir=/usr/local \

make
make install

Après l'installation, votre httpd.conf est modifié par axps. Il devrait maintenant avoir l'air de ça:


<IfDefine SSL>
LoadModule ssl_module         libexec/libssl.so
LoadModule php4_module        libexec/libphp4.so
</IfDefine>

Si vous avez installé Apache avec mod_ssl, alors le module PHP sera chargé seulement si vous lancez Apache avec SSL (apachectl startssl). Si vous comptez lancer Apache sans SSL (et si vous l'avez compilé comme c'est expliqué dans ce document), vous devrez changer ceci :


<IfDefine SSL>
LoadModule ssl_module         libexec/libssl.so
</IfDefine>
LoadModule php4_module        libexec/libphp4.so

Copiez l'exemple php.ini dans /usr/local/lib/php.ini


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

Décommentez (supprimer les # en début de ligne) les lignes suivantes dans le fichier /usr/local/apache/conf/httpd.conf

Le fichier httpd.conf de Apache 1.3.26 n'a pas ces lignes par défaut. Vous devez les ajouter au lieu de les décommenter


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

Relancer Apache avec la commande suivante:


/usr/local/apache/bin/apachectl restart