![]() |
![]() |
![]() |
XI. MISE EN PLACE DU SERVICE HTTP
HTTP (Hypertext Transfert Protocol)
est un service qui permet d'héberger un ou plusieurs site(s) web.
Par convention, il utilise le port 80. Nous allons ici utiliser le plus
connu des démons HTTP, à savoir celui contenu dans le module
« Apache ».
Le package a installer est :
apache
Une fois Apache installé, il faut lancer le démon httpd. Ceci se fait en tapant la commande :
/etc/rc.d/init.d/httpd start
Apache n'est pas un démon lancé par l'intermédiaire d'inetd. Pour qu'Apache se lance automatiquement à chaque boot, il faut utiliser le programme setup pour la Red Hat 6.x, 7.x ou la Mandrake 6.x. Pour la Mandrake 7.0, il faut utiliser la commande drakxservices. Sélectionnez httpd et validez.
Les possibilités de configuration d'Apache sont nombreuses et sortent du cadre de ce document. Sachez cependant que dans la plupart des cas, la configuration par défaut convient.
Pour vérifier que votre serveur web fonctionne, tapez la commande :
telnet 127.0.0.1 80
Le serveur doit renvoyer un message du type :
Trying 192.168.0.1...
Connected to cirl3.esic.
Escape character is
'^]'.
Tapez ensuite un truc. Par exemple :
kdshkqsdhk
Le serveur doit répondre :
<!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>501 Method
Not Implemented</TITLE>
</HEAD><BODY>
<H1>Method Not
Implemented</H1>
kdshkqsdhk to /index.html
not supported.<P>
Invalid method in
request kdshkqsdhk<P>
</BODY></HTML>
Connection closed
by foreign host.
qui est en fait un message signalant
que le serveur n'a rien compris à ce que vous lui avez demandé.
Qu'importe, l'important est qu'il a répondu, donc ça marche.
REMARQUE
Si vous avez un serveur X correctement
installé sur votre machine, le plus simple pour vérifier
si cela fonctionne est d'utiliser un navigateur web (Netscape est gratuit)
et d'y taper l'url http://127.0.0.1
Voyons maintenant comment filtrer les accès HTTP par mot de passe sur un répertoire avec Apache.
Tout d'abord, créez un répertoire /home/httpd/html/Pswd contenant
a) Le fichier .htaccess avec juste une ligne :
deny from all
Ceci permet de refuser l'accès
à tout le monde à ce répertoire. Utile vu qu'il va
contenir la liste des logins et des mots de passe des
utilisateurs privilégiés.
b) Le fichier Pswd.txt qui renferme les utilisateurs et les mots de passe sous la forme
login:mot_de_passe
ATTENTION : les mots de passe doivent être cryptés. Le plus simple est de créer un compte shell avec le login sur la station et de récupérer le mot de passe crypté correspondant dans le fichier /etc/shadow (ou /etc/passwd) suivant votre configuration.
Créez ensuite le répertoire où l'accès est restreint. Il doit contenir un autre fichier .htaccess avec les lignes suivantes :
deny
from all
AuthType
Basic
AuthUserFile
"/home/httpd/html/Pswd/Pswd.txt"
require
valid-user
satisfy
any
Configurez maintenant Apache avec le fichier /etc/httpd/conf/access.conf pour que la présence d'un fichier .htaccess dans un répertoire du serveur supplante les options par défaut (directive AllowOverride). Repérez les lignes suivantes dans votre fichier et vérifiez qu'elles sont semblables à :
# Blah, blah, blah
...
Options Indexes Includes
FollowSymLinks
# Voici la ligne importante
AllowOverride All
Pour teminer, n'oubliez pas de relancer
httpd (/etc/rc.d/init.d/httpd restart).
C'est tout.
Il faut installer les packages freetype et mod_php (Apache doit évidement déjà être installé).
Modifiez le fichier /etc/httpd/conf/httpd.conf de la manière suivante :
Modifiez ensuite le fichier /etc/httpd/conf/srm.conf :
Relancez Apache.
Testez en créeant le fichier /home/httpd/html/phpinfo.php3 tel que :
<HTML>
<BODY>
<?php
phpinfo();
?>
</BODY>
</HTML>
![]() |
![]() |
![]() |