La première chose à faire est de récupérer
le programme et de mettre un bookmark sur
les
documentations du serveur.
Vous êtes donc dans les conditions réelles d'utilisation.
Voici le mode opératoire pour désarchiver et compiler
le programme :
-
Créez dans le /tmp de la machine locale, un répertoire
destiné à la compilation d'Apache. Par exemple
mkdir /tmp/distrib_apache
-
Copier la distribution source d'apache (le fichier httpd-2.2.25.tar.gz)
dans ce directory. Désarchivez-le :
tar -xvzf httpd-2.2.25.tar.gz
Ceci doit créer un répertoire httpd-2.2.25
-
Parcourez le fichier INSTALL
(more INSTALL) qui contient toutes les indications pour compiler et installer
apache. Ne faites rien pour le moment, pour éviter toute bêtises,
nous vous avons écrit les commandes qu'il faut lancer dans les points
suivants.
-
Sans changer de répertoire, créez (sur votre compte !) un répertoire
$HOME/installation_apache
-
Générez les makefiles : tapez la commande
./configure --prefix=$HOME/installation_apache --enable-modules=all -enable-ssl
L'option --prefix
permet
d'indiquer le répertoire d'installation. Le reste indique que l'on
souhaite utiliser autant de modules que possible.
-
Tapez make puis make
install pour compiler et installer les fichiers compilés
dans le repertoire d'installation ($HOME/installation_apache). Si tout s'est bien passé, vous avez l'arborescence suivante :
Notes importantes pour la suite :
-
ATTENTION : cette procédure est très classique.
En effet, il ne faut pas que les sources de votre serveur, c'est-à-dire
la distribution que vous venez de détarer et de compiler (le fichier
apachetar.Z décompressé) se trouve au même endroit
que les binaires du serveur, ses fichiers de configuration, etc... (le
répertoire $HOME/installation_apache). Le répertoire d'installation
classique pour Apache est /usr/local/apache, mais pour pouvoir écrire
dans ce répertoire il faudrait être root sur la machine (ce
que sont en général les webmasters).
-
Dans la suite du TP, vous travaillerez principalement sur les fichiers
de configuration se trouvant dans l'installation du serveur. Avant de poursuivre
ce TP, vérifiez bien le contenu du répertoire $HOME/installation_apache.
Rappel : les fichiers de configuration se trouvent dans
le repertoire
conf de l'installation ($HOME/installation_apache/conf).
Ce sont ces fichiers que vous aurez à modifier. Avant de les modifier,
recopiez-les
Au travail : votre nouvel employeur vous a demandé d'installer
un serveur qui vérifie les spécifications suivantes :
-
Le serveur devra tourner sur le port 8080. Pensez à le lancer SUR
VOTRE MACHINE LOCALE !
-
La base de toute l'arborescence des documents doit être $HOME/installation_apache/htdocs/.
Une requête sur votre serveur, sans préciser le nom d'un document
doit renvoyer la home page de votre serveur située dans ce dir.
La Home Page s'appelle par défaut index.html.
-
Les logs et les fichiers de configuration doivent être dans $HOME/installation_apache/logs/
et $HOME/installation_apache/conf.
-
Les accès seront dans $HOME/installation_apache/logs/acces.log,
les erreurs dans $HOME/installation_apache/logs/erreur.log,
les clients utilisés dans $HOME/installation_apache/logs/client.log.
-
Le sous-directory $HOME/installation_apache/htdocs/private/my-machine/
ne pourra être accédé que par votre propre machine
et aucune autre (voir "authentification", allow, deny, order, dans la doc)
. Vous pourrez soit créer un fichier .htaccess contenant les autorisations
(recommandé), soit mettre ces autorisations entre <DIRECTORY>...</DIRECTORY>
dans le fichier httpd.conf. Solution recommandée : avec le fichier
.htaccess.
regardez l'exemple ci-dessous.
-
Le sous-directory $HOME/installation_apache/htdocs/private/me/
ne pourra être accédé que par vous (avec mot de passe,
donc "authentification", voir AuthUserFile). Vous pourrez utiliser le programme
htpasswd pour
générer des mots de passe.
Exemple de fichier .htaccess :
AuthType Basic
AuthName "mot de passe"
AuthUserFile /chemin/vers/password.file
AuthGroupFile /chemin/vers/group.file
Require Group admins
<Limit GET POST>
require valid-user
</Limit>
ErrorDocument 403 http://www.iut-fbleau.fr/accesrefuse.php
AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
AuthGroupFile /dev/null
AuthName "Accès sécurisé au site"
AuthType Basic
<LIMIT GET POST>
order deny,allow
deny from all
allow from 193.48.172.2
require user toto
</LIMIT>
Aide
Pour créer un fichier d'utilisateurs avec leur mot de passe, vous devez utilisez la commande
htpasswd
qui se trouve dans le repertoire bin de l'installation. Pour le créer avec un utilisateur,
htpasswd -c passwordfile username
La commande vous demandera alors le mot de passe correspondant à l'utilisateur.
-
L'administrateur du serveur devra être vous-même, joignable
à une adresse e-mail valide.
-
Les requêtes pour les url http://votre-machine/iut-fbleau/*
devront être redirigées vers les pages correspondantes à
l'iut (http://www.arda/*).
-
Les images présentes dans le directory $HOME/installation_apache/images/
devront être accessibles par http://votre-machine/images/.
-
Les fichiers présents dans le sous-directory $HOME/installation_apache/images
devront avoir le type image/gif par défaut.
-
Les utilisateurs auront leur espace utilisateur accessible par http://votre-machine/~login/,
qui devra correspondre au directory Unix ~login/www/.
-
Une requête erronée (404) doit avoir une réponse en
francais du type
Ce fichier n'existe pas. Vous pouvez envoyer un mail à votre-login@iut-fbleau.fr
-
Une requête non autorisée (403) doit être redirigée
sur la page de garde de l'iut (http://www.arda/).
-
Les scripts CGI seront dans $HOME/installation_apache/htdocs/misc/cgi-bin et
accessibles de manière indifférenciée par :
http://votre-machine/cgi-bin/nom-du-script
ou http://votre-machine/htbin/nom-du-script.