Installation et configuration d'un serveur web apache.

C'est le week end, vous ouvrez un oeil, vous constatez amèrement que le ciel est gris, le deuxième oeil confirme l'intuition de départ : il pleut.
Deux solutions s'offrent alors à nos yeux ébahit:
- Aller visiter un musée, (jardin des plantes, la vilette, ou tout autre temple de la culture)
- Ou alors installer un serveur web apache sur la station Linuxienne.

Ici, c'est la deuxième solutions qui semblent prendre le dessus :
alors, le principe de base :

On prend le(s) cdrom(s), on regarde les rpm disponibles :

ls /mnt/cdrom/Redhat/RPMS/*

puis on récupère ce qui nous interesse :

cp /mnt/cdrom/RedHat/RPMS/apache* .
cp /mnt/cdrom/RedHat/RPMS/php* .

on installe tout ce beau monde binaire :

rpm -i -vv truc.version.cible.rpm

avec truc qui sera du style apache-1.3.23-11.i386.rpm
Il n'est pas indispensable (à moins que vous soyez joueur) d'installer
le rpm 'devel' : ce sont les sources.
puis on lit attentivement ce qui s'est passé dans la console (parce que l'on a
lancé rpm avec l'option -vv.)
On notera où se trouvent installés les manuels, les binaires...
chez moi, je constate pour le serveur apache :

/var/www/html/manual/*.html <- pour le manuel au format html.
/usr/sbin/httpd <- pour le processus père.
ls /usr/lib/apache/ <- pour les librairies.
find / -name httpd.conf -print <- vous donnera le répertoire des fichiers de config.
ls /etc/httpd/conf/ <- ce 'ls' nous donne le contenu du répertoire!
cat /etc/httpd/conf/httpd.conf <- bien sur, le contenu du fichier de config!

En ce qui concerne le répertoire du fichier de config,
on remarque bien sur, que ce n'est pas celui par défaut !
Il faudra le passer en paramètre lors de l'invocation du serveur apache;
Donc, lancement du serveur :

/usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <- je ne suis pas sur que ce soit judicieux
/usr/sbin/apachectl start <- je pense que c'est bien mieux ; (est-ce pareil ?)

Ou pour mon cas :

/usr/sbin/httpd -f /etc/httpd/conf/httpd.conf

Vous constaterez après un 'ps' les processus lancés, Vous invoquez alors le navigateur (galeon, konqueror ou autre) et entrez l'url de loopback dans la bar d'adresse : http://localhost/ Et que voyez vous : la page de test du serveur web apache... Pour arrêter le serveur apache :

find / -name httpd.pid -print

On repère le chemin trouvé (du moins espérons le) puis le numéro du processus père :

cat /var/run/httpd.pid

Sinon, un ps -guax donnera le numéro, c'est le premier lancé, en root, à priori.

kill -TERM 2155

Voilà, le ciel se dégage, le soleil commence à poindre, une promenade bien mérité s'impose.
Sinon, on passe à l'utilisation de php avec le serveur apache.

Deuxième round, la gestion du php !

rpm -i -vv php-4.1.2-7.i386.rpm

On observe à nouveau ou se passe quoi (après quelques rpm, ça va vite!)
on constate, le binaire, très utile, les librairies, un peu moins utiles,
du moins, espérons le.

D: fini      100644  1 (   0,   0)     27675 /etc/php.ini;3fc88e72
D: fini      100755  1 (   0,   0)   1634993 /usr/bin/php;3fc88e72
D: fini      100755  1 (   0,   0)   1561021 /usr/lib/apache/libphp4.so;3fc88e72
D: fini      040755  2 (   0,   0)         0 /usr/share/doc/php-4.1.2

cat /usr/bin/php-config
ls /usr/include/php/
ls -al /usr/bin/php*

Le binaire php est là ou on l'attend,
Pour vous convaincre que vous êtes sur la bonne route,
si vous avez un petit fichier de test en php vous pouvez l'utiliser,
sinon copiez li ligne qui suit dans un fichier test.php3

<html> <head><title>Exemple</title></head> <body> <?php echo "PHP fonctionne!"; ?> </body> </html>

Puis vous lancez l'interpréteur php, qui vous générera le code html
dans la console (c'est pas très clair, mais on voit que ça marche).
Et c'est pratique pour débugger un fichier php...

php test.php

Et vous voyez à l'écran ce qui apparaîtra dans le navigateur...

Pour résumer :
dans /usr/sbin, il y a apache (httpd & apachectl),
dans /usr/bin, il y a les binaires php & apacheconf.
dans /etc/httpd/conf, il y a le fichier de configuration httpd.conf
donc, on quitte php pour le moment, vous lancer 'apacheconf' depuis la console,
vous noterez l'endroit par défaut ou le serveur accède aux données /var/www/html
puis une fois la configuration effectuée, vous lancez apache :

/usr/sbin/apachectl start

Lancez un navigateur sur cette machine et entrez l'URL suivante:

    http://localhost/test.php3

Pour la culture (et pour terminer):
apache fonctionne, php aussi, les deux sont liés dans le fichier de configuration...
Pour cela, il faut dire au serveur Apache que les fichiers .php .php3 .php4 ect
devront être analysés par PHP, voici ce dont vous avez besoin.
(enfin, plutôt ce dont apache à besoin dans son fichier de config!)
#AddType application/x-httpd-php3 .php3
#AddType application/x-httpd-php3-source .phps
On complète le chemin d'accès aux documents :
#DocumentRoot "/var/www/html"

Apache
httpd Apache
Samba
Retour à la page d'acceuil