Il est conseillé d'installer votre serveur web manuellement afin de l'optimiser au maximum et de ne pas le surcharger avec des extensions inutiles ..

D'autant plus qu'il est assez rapide d'effectuer l'installation .

APACHE2

Commençons par apache ,

Commençons par télécharger les derniéres sources disponibles sur le site d'apache

cd /usr/local/src/
wget http://mirror.mkhelif.fr/apache/httpd/httpd-2.2.10.tar.gz
tar xzf httpd-2.2.10.tar.gz
rm -f httpd-2.2.10.tar.gz
cd httpd-2.2.10/

La question à se poser , faut il installer tous les modules d'apache en static ? La réponse est non , car celà augmenterai la charge d'apache ... Il faut donc choisir les modules à usage intense

Pour plus d'infos entrez cette commande :

./configure --help | less

Ici nous allons commencer par creer un fichier de configuration , qui permettra de refaire l'installation à l'identique en cas de changement de version.

vim conf_install

Voici le contenu :

#!/bin/sh

#Optimisation pour la compilation
export CC="gcc"
export CFLAGS="-02"

#Config des sources pour l'env
./configure --prefix=/usr/local \
	--enable-dav \
	--enable-rewrite \
	--enable-so \
	--enable-proxy \
	--enable-proxy-http \
	--enable-cache \
	--enable-mem-cache \

Nous avons donc précisé le lieu de l'installation /usr/local Activé quelques modules en statique ( dav rewrite ect... ) Et mis en place le systéme de gestion de modules dynamiques --enable.so

Une fois créé , il faut changer le mode du fichier de configuration

chmod 700 conf_install

Vous pouvez alors lancer la configuration d'apache2

./conf_install

En cas d'erreur , il vous faudra peut être installer des librairies supplémentaires , celles-ci seront spécifiés dans le message d'erreur .

Si tout se passe bien , on lance la compilation :

make
make install

Une fois installé , apache se trouve à l'endroit spécifié par la ligne prefix dans le fichier de configuration . Le fichier de configuration d'apache se trouve donc dans :

/usr/local/conf/httpd.conf

Effectuez les premières configurations standard avant de lancer le serveur .

Puis lancez le :

/usr/local/bin/apachectl start

Allez dans votre navigateur et entrez l'adresse suivante :

http://localhost/

Celui-ci doit vous retourner le message suivant :

It Works !

Félicitation , apache est installé et fonctionnel ..

PHP5

Il y a ici deux méthodes pour installer php .. Encore une fois , il y a la méthode statique et dynamique

La plus simple étant la dynamique nous allons donc effectuer celle-ci ... bien que la méthode statique avec apache soit un peut plus performante , elle nécessite une re-compilation d'apache en cas de changement de version de php.

Récupération des sources:

cd /usr/local/src/
wget http://fr.php.net/distributions/php-5.2.6.tar.gz
tar zxf php-5.2.6.tar.gz
rm -f php-5.2.6.tar.gz
cd php-5.2.6/

Ici nous allons effectuer l'installation de la même façon qu'apache Commençons par creer notre fichier de configuration

vim conf_install

Cette fois-ci , voici le contenu :

#!/bin/sh

export OPTIM=-02
./configure --prefix=/usr/local \
	--with-apxs2=/usr/local/bin/apxs \
	--with-inifile=/usr/local/etc/php.ini \
	--with-xsl \
	--enable-soap \
	--with-gettext \
	--with-mysql \
	--enable-mbstring --with-mbstring=all \
	--disable-debug \
	--enable-memory-limit \

Encore une fois pour avoir toutes les infos concernant les options à la configuration , vous pouvez entrer cette commande :

./configure --help | less

Dans ce fichier de configuration , le plus important , est cette ligne :

--with-apxs2=/usr/local/bin/apxs qui correspond au gestionnaire de modules dynamique d'apache . Disponible uniquement si vous avez installé apache avec l'option --enable-so

Comme pour apache la suite est standard :

chmod 700 conf_install
./conf_install

Si tout se passe correctement :

make
make install

Vous voulà maintenant avec php5 d'installé ...

Normalement , l'installation à rajouté pour vous la ligne suivante dans le fichier de configuration d'apache :

LoadModule php5_module modules/libphp5.so

Mais vérifiez quand même ...

vim /usr/local/conf/httpd.conf

Ensuite , ajouter ces parseurs afin qu'apache puisse gérer les fichier php :

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

Ici les extentions .php et .phtml sont gérés de la meme façon et .phps affiche une source php coloré

Il vous faut ensuite récupérer php.ini et le mettre à l'endroit spécifié à la configuration de php5

dans notre cas c'est ici : /usr/local/etc/php.ini

Les sources de php vous proposent deux type de fichier php.ini

  • php.ini-dist
  • php.ini-recommended

Nous allons prendre php.ini-dist , car php.ini-recommended change quelques paramétres importants , à étudier donc s'il vous convient .

cp /usr/local/src/php-5.2.6/php.ini-dist /usr/local/etc/php.ini

Voilà nous avons terminé notre installation de base .

Il ne reste plus qu'à relancer apache

/usr/local/bin/apachectl stop
/usr/local/bin/apachectl start

Editez un fichier php dans /usr/local/htdocs afin de vérifier le bon fonctionnement :

exemple :

vim /usr/local/htdocs/phpinfo.php

Avec ce contenu :

<?php

echo phpinfo();

?>

Vous devriez voir apparaître les infos de votre serveur ... comme ci dessous .

Php5 en mode statique

Si nous avions installé php5 en mode statique , voici la procédure :

  • Compilation d'apache avec notre fichier de configuration similaire
  • Compilation de PHP avec aussi notre fichier de configuration en ayant pris soin de retirer la ligne qui contient --with-apxs et en ayant ajouté la ligne suivante :

--with-apache=../apache-2.2.10

  • Recompilation dapache avec le module statique de php ligne suivante dans le fichier de conf de compilation :

--activate-module=src/modules/php5/libphp5.a

En espérant que cet article vous a aidé ...

Nous verrons dans un prochain article quelques notions sur la sécurité à adopter pour ce genre de serveur web .. A bientôt donc ..

Edit 21-sept 2009 ;

A la configuration de php ( V5.3 ) , le module imap , génère une erreur , error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing .
Solution : installer le paquet libc-client-dev

apt-get install libc-client-dev

Edit 4-feb-2010 ;
Si au make de php , un problème concernant une librairie lltdl survient , la solution est la suivante :

apt-get install libtool libtool-ltdl