Protocoles et services Internet - TP 2

Sujet

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.

Valid XHTML 1.0!Valid CSS!