Compiler PHP et MySQL pour Apache
Compiler php avec mysql pour le serveur Apache
Introduction
Aujourd'hui pour la création de sites web le langage php avec la possibilité de se baser sur une base de données SQL pour les forums, les contacts, des listes clients... est le langage très en vogue. Pourquoi faire un serveur Apache supportant php-mysql ?
- on aimerait bien avoir un petit serveur chez nous pour voir les modifications sans bloquer ou gêner le fonctionnement de notre site. En plus quand on a des problèmes a se connecter au serveur ftp pour uploader nos mises à jour (free par exemple) cela peut être très intéressant de faire tout d'un coup et de voir rapidement ses petites modifications chez nous ;
- vous maintenez un serveur avec votre connexion T3 et que le support php-mysql manque à votre serveur pour satisfaire vos clients ou vos amis ;
- vous êtes curieux et vous souhaitez apprendre le php sans s'inscrire chez un hébergeur.
Quelle installation faire ?
Il y a plusieurs manières de s'y prendre pour installer le support php sur le serveur apache :
- vous avez déjà Apache d'installé et il est compilé avec le support DSO ( Dynamic Shared Object ). Alors vous allez pourvoir tout de suite passer à la compilation de php. [#compildyn Cela s'appelle l'installation dynamique]. Si vous ne savez pas, faites un httpd -l et normalement le module mod_so doit être chargé (Compiled-in modules: http_core.c mod_so.c ); si ce n'est pas le cas sans conviction, décommentez la ligne AddModule mod_so.c après l'instruction ClearModuleList dans votre httpd.conf, relancez votre serveur et revérifiez. Si ça ne marche toujours pas vous allez devoir recompiler Apache. De toutes façons ne vous prenez pas la tête si votre apache ne supporte pas le DSO la configuration de php nous le dira.
- vous n'avez pas Apache d'installé ou votre ancienne compilation ne supporte pas le support DSO (par défault c'est le cas je crois), alors il va falloir compiler Apache. Ici 2 solutions s'offrent à vous : soit [#compilapache vous installez apache avec le support DSO] et vous faites ensuite [#compildyn l'installation de php dite dynamique](je vous le conseille) , soit vous faites [#compilstat l'installation dite statique].
Compiler ou recompiler Apache pour ensuite faire l'installation dynamique :
Détarrer les packages
cd /usr/local/src
tar zxvf /le/chemin/du/package/apache_1.3.19.tar.gz (telechargez le sur www.apache.org )
cd apache_1.3.19/
Configurer puis compiler
Ensuite vous faites, pour un apache compilé avec une grande souplesse d'utilisatoin par la suite faites :
./configure --prefix=/la/où/on/veut/installer/apache --enable-module=all --enable-shared=max
(si quelqu'un peut m'expliquer c'est quoi la différence entre --enable-module=all et --enable-module=most)
L'option --prefix spécifie où apache va s'installer. Vous pouvez spécifiez plein de chemins pour les différents éléments avec les options mais c'est pratique de tous avoir dans un seul répertoire donc je vous conseille de pas s'embrouiller et de spécifier /www pour cette option.
Si vous vous voulez juste activer le support DSO sans tous les autres modules tapez :
./configure --prefix=/la/où/on/veut/installer/apache --enable-module=so
Ensuite vous faites un make puis un make install qui va vous installer tous les fichiers dans le chemin spécifié précédemment. Vous pouvez désormais effectuez l'installation dynamique de php.
L'installation dynamique :
Détarrer les packages
Là vous faites ce que vous voulez du moment que vous savez ce que vous faites mais c'est pas bien important :
cd /usr/local/src/
tar zxvf /le/chemin/du/package/php-4.x.tar.gz (telechargez ce fichier sur www.php.net )
cd php-4.x/
Configurer puis compiler
Je pars du principe que vous avez mysql installé correctement, c'est à dire que vous avez toutes les librairies nécessaires à la compilation d'apache (notament la librairie libmysqlclient.so) si vous ne l'avez pas d'installé, teléchargez le sur http://www.mysql.com il ya même des rpms...
Là ca devient important, ce sont les options de compilation de php :
./configure --with-mysql --with-apxs
Vous pouvez bien entendu rajoutez toutes les options que vous voulez comme gd ou xml... A noter qu'il y a en une tres interessante --enable-versioning qui permet d'activez les supports php4 et php3 en même temps.
Si il ne trouve pas le support mysql ajoutez le chemin du fichier libmysqlclient.so dans /etc/ld.so.conf (par exemple /usr/lib/mysql ou /usr/local/lib/mysql ) et faites un ldconfig puis ensuite réessayez.
Si il ne trouve pas apxs, spécifiez le chemin de celui-ci comme dans la ligne si dessous :
./configure --with-mysql --with-apxs=/le/chemin/dapache/bin/apxs (par exemple /www/bin/apxs )
Si il ne le trouve toujours pas il est très probable que votre compilation de httpd ne supporte pas le DSO, recompilez apache comme spécifié ci-dessus.
Si vous rencontrez d'autres problèmes rectifiez vous-meme (moi il me manquait flex ).Une fois que la configuration s'est bien passée il n'y a probablement aucun problème pour la compilation :
make
Puis pour installer :
make install
Vérifier le httpd.conf.
Maintenant il suffit de vérifier si il a fait toutes les modifications nécessaires :
Dans le fichier httpd.conf qui se trouve logiquement dans le repertoire conf du repertoire où vous avez installé Apache (/www/conf/ si vous avez suivi mon exemple) vérifiez qu'il y a les lignes non-commentées quelque part dans le fichier :
LoadModule php4_module libexec/libphp4.so
et après l'instruction ClearModuleList :
AddModule mod_php4.c
[#common Passez à la partie commune aux deux installations.]
L'installation statique :
Détarrer les packages
cd /usr/local/src/
tar zxvf /le/chemin/du/package/apache_1.3.19.tar.gz (telechargez le sur www.apache.org )
tar zxvf /le/chemin/du/package/php-4.x.tar.gz (telechargez ce fichier sur www.php.net )
Configurer puis compiler
cd apache_1.3.19/
./configure --prefix=/www
cd /usr/local/src/php-4.x/
Je pars du principe que vous avez mysql installé correctement, c'est à dire que vous avez toutes les librairies nécessaires à la compilation d'apache (notament la librairie libmysqlclient.so) si vous ne l'avez pas d'installé, teléchargez le sur http://www.mysql.com il ya même des rpms...
./configure --with-mysql --with-apache=../apache_1.3.19 --enable-track-vars
ou
./configure --with-mysql --with-apache=/usr/local/src/apache_1.3.19 --enable-track-vars
Les problèmes relatifs à l'option mysql sont décrits et des solutions ont été données précédemment dans ce document.
Si vous avez des problèmes parce qu'il ne trouve pas apache vous avez du vous tromper dans le chemin spécifié après l'option --with-apache, rectifiez le.
make
make install
cd /usr/local/src/apache_1.3.19/
./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a
Les détails sur l'option --prefix ont deja été donné précédemment.
Un petit make pour la compilation puis un make install pour l'installation.
[#common Vous pouvez passez à la partie commune aux deux types d'installation.]
Voici la partie commune aux deux installations :
Modification du httpd.conf
Dans le fichier httpd.conf (qui se trouve dans le répertoire conf du répertoire /www/conf/ si vous avez fait la compilation d'apache [#compilapache comme décrite ci-dessus] ) vous devriez trouvez la ligne suivante, elle est probablement commentée si vous avez fait l'installation statique alors enlevez le # qui est devant. Si elle ne s'y trouve pas (vérifiez à deux fois car c'est étonnant) ajoutez la.
AddType application/x-httpd-php .php
et faites de même avec cette ligne si vous voulez voir vos sources en couleur dans votre navigateur (pour déboguer c'est pas mal...) :
AddType application/x-httpd-php-source .phps
Vous pouvez ajoutez toutes les extensions de fichier que vous voulez par exemple :
AddType application/x-httpd-php .php .php3 .html .moa
Copiez le php-dist.ini vers /usr/local/lib/php.ini ou /usr/lib/php.ini et modifiez les options à votre gout en l'éditant.
Vous pouvez lancer ou redémarrer le serveur apache. Si vous avez fait la compilation d'apache [#compilapache comme décrite ci-dessus :]
cd /www/bin
./apachectl start
Effectuer un test.
Et faites un petit test.
Voila le petit test conseillé par la doc d'installation de php. Mais je suis sur que vous avez envie de tester vos pages persos alors dépechez vous de copiez ou de liez vos pages dans le repertoire htdocs (par default).
Mettez <?phpinfo()?> entre des tags body d'une page html intitulée test.php ou cequetuveux.php ... Ensuite vous entrez dans votre navigateur préféré :
@ Retour à la rubrique Réseau et sécurité
Copyright
Copyright © 23/04/2001, Miloz
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |