Il est proposé de réaliser quelques expérimentations avec le
serveur httpd
du projet
Apache.
1. Installer en mode utilisateur un serveur Apache. Pour
cela il est recommandé de récupérer le fichier de configuration standard
installé sous la référence /etc/httpd/httpd.conf
sur MacOSX, d'en faire une copie et de la modifier jusqu'à obtenir
l'exécution d'un serveur HTTP.
On notera que l'exécution du serveur peut être obtenue par la
commande:/usr/sbin/httpd -f fichier_de_configuration
De plus toute modification de
la configuration nécessite soit d'arrêter le serveur puis de le relancer,
soit de lui demander de «relire» son fichier de configuration en
lui envoyant le signal SIGHUP.
2. Configurer le serveur de sortie qu'il puisse exécuter
des scripts CGI. Créer un script CGI minimal se contentant d'afficher un
messsage de type Bonjour tout le monde
.
2bis. Faire en sorte que le script affiche aussi l'ensemble de ses variables d'environnement (transmises par Apache).
3. Créer un formulaire HTML et faire en sorte qu'il
envoie ses données au script précédent. Expérimenter les
méthodes GET
et POST
. Faire en sorte que le
script réceptionne les données quelque soit la méthode et affiche
lisiblement (pour un être humain normal) le contenu des différents champs
du formulaire.
3bis. Faire en sorte que le script génère un autre formulaire dont les champs seront initialisés à l'aide des valeurs transmises par le formulaire précédent. Par exemple: le premier formulaire permet de saisir deux entiers, et le second formulaire (généré par le script) de saisir un entier dont la valeur par défaut est la somme des deux premiers.
4. Modifier le document HTML contenant le formulaire afin de valider les saisies avant envoi (ceci en utilisant Javascript). Par exemple, tester si un champ texte contient une valeur numérique comprise entre 2 valeurs (0 et 10).
5. Configurer le serveur de sorte que certains documents soient protégés par mot de passe en utilisant la méthode d'identification spécifiée par le protocole HTTP.
6. Réaliser un système d'identification non plus basé sur l'identification HTTP mais utilisant des formulaires et des scripts CGI.
7. Expérimenter les SSI (Server-Side Includes).
8. Écrire un script permettant d'obtenir en retour d'une requête (à définir, ex: réécriture d'URL, formulaire) le résultat du manuel en ligne d'Unix.