30 oct. 2008
Installation Apache2 Et PHP5 manuellement
Par Christophe de saint leger le jeudi, octobre 30 2008, 19:12 - PHP - Lien permanent
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 :
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
