|
Installer et configurer Linux (premiers pas)
| F. Installer Apache et Php |
 |
 |
F.1 Introduction
Configurer Apache peut s'avérer extremement complexe. Pour appronfondir le sujet, je vous conseille de
lire les documentations officielles httpd.apache.org,
ainsi que celles de www.developpez.com, ou encore,
acquerir l'un des nombreux pavés disponibles en librairie.
Procédure générale :
Pour ceux d'entre vous qui ont déjà installé des bundles Php/Apache sous Windows (Easy Php par exemple), l'installation qui va suivre
n'a rien de comparable. Tout se fait à la main, mais en contre partie, le résultat est entièrement
sur mesure.
Marche à suivre :
| |
1. |
installation de Apache sans paramètres |
| 2. |
installation de Php, en précisant que l'on utilise conjointement Apache et MySQL |
| 3. |
re-compilation de Apache, en intégrant Php dans son noyau et des modules dso. |
C'est d'une simplicité déconcertante 
F.2 Première installation de Apache
Apache se télécharge à l'url : http://httpd.apache.org.
Reportez vous aux consignes du guide de survie D.4 :
Téléchargez dans le répertoire /usr/local/, décompressez le tar.gz dans un répertoire que vous renommerez apache, ou bien créez un lien symbolique sur ce répertoire.
Dans un shell, placez-vous dans le repertoire de Apache. Je suppose que c'est /usr/local/apache.
Tapez successivement les trois lignes suivantes qui permettront l'installation :
$ cd /usr/local/apache
$ ./configure --prefix=/usr/local/apache
$ make
$ make install
Vous pouvez déjà lancer le démon Apache :
$ /usr/local/apache/bin/apachectl start
Et le tester. Ouvrez un navigateur internet, et connectez le sur l'IP local http://127.0.0.1/. Admirez fièrement
la page de démonstration de votre serveur Apache ! Cette page est visible depuis l'ensemble de votre réseau, en tapant
l'IP de la machine dans n'importe quel navigateur.
Si cela ne fonctionne pas, vérifiez que le firewall fourni en standard avec RedHat ne fait pas obstacle à des requêtes extérieures. N'hésitez pas à desactiver les règles
qui empêchent l'accès à Apache. Nous verrons plus tard qu'il est plus facile de gérer ces règles d'accès
directement sur Apache plutôt que par le firewall.
Pour poursuivre l'installation, arrêtez le démon :
$ /usr/local/apache/bin/apachectl stop
F.3 Installation de Php
Php se télécharge à l'url : http://www.phpinfo.net/. Retenez cette adresse.
C'est une mine d'informations concernant la programmation Php.
Téléchargez, décompressez, etc., le tout dans un répertoire /usr/local/php.
La procédure d'installation est la suivante :
$ cd /usr/local/php
$ ./configure --with-mysql --with-config-file=/usr/local/apache/conf --with-apache=/usr/local/apache --enable-track-vars
$ make
$ make install
Notez que l'on précise en dur le répertoire où est installé Apache.
F.4 Ré-installation de Apache
Nous recompilons Apache en lui indiquant qu'il doit intégrer Php dans son noyau, et qu'il doit être ouvert sur
les modules dso. Un module dso est l'équivalent d'une DLL ISAPI Windows, mais sous Linux.
De plus, je précise ici dans le paramètre --datadir le chemin où se trouvent mes sites internets. Dans l'exemple
qui suit, j'ai créé auparavant un utilisateur qui s'appelle webuser (commande adduser). RedHat lui a créé un répertoire utilisateur
/home/webuser/. J'ai ensuite créé le répertoire /home/webuser/html/ où je désire placer mes sites internets.
| |
Petite aparté : si vous avez créé les répertoires web sous l'utilisateur root, l'utilisateur internet nobody ne
pourra pas accéder en lecture au répertoire. Changer le propriétaire du répertoire ainsi que les droits en lecture à l'aide des commandes
chown et chmod.
$ chown -R webuser /home/webuser/html/
$ chmod 755 /home/webuser/html/
Notez le 755 traditionnel pour les répertoires internet.
|
$ cd /usr/local/apache
$ ./configure --sysconfdir=/usr/local/apache --datadir=/home/webuser/html --logfiledir=/var/log/httpd --activate-module=src/modules/php4/libphp4.a --enable-module=so
$ make
$ make install
F.5 Fichier de config Php
L'installation a généré un fichier de configuration qu'il faut copier ailleurs :
$ cd /usr/local/php
$ cp php.ini-dist /etc/httpd/php.ini
|