modifié le

Construction & installation d’Apache

1. Construction

1.1. Pourquoi construire Apache ?

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

1.2. Récupération des sources

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Exercice 1

Récupérer l’archive des sources de la dernière version stable (sur http://httpd.apache.org), la dépaqueter, lire le fichier README (il contient la suite des opérations).

Indications : gunzip, tar

1.3. Choix du répertoire de déploiement

Il existe communément deux stratégies de déploiement des logiciels.

La première consiste à le déployer sous /. Les fichiers sont donc installés sur tout le filesystem, c’est-à-dire dans /etc, /usr/sbin, /usr/bin, /var, etc. Cette opération nécessite des droits particuliers, et n’est pas sans danger, puisqu’elle peut écraser des fichiers systèmes. Les logiciels fournis par la distribution sont installés suivant cette stratégie. Vous ne l’utiliserez pas, pour éviter tout conflit avec elle.

La seconde consiste à tout déployer sous un répertoire donné (nommé par la suite instdir). Cette stratégie évite tout conflit avec l’existant. Vous utiliserez cette stratégie, en suivant la convention communément répandue consistant à prendre pour répertoire instdir /usr/local/nom_du_logiciel/version, où version est le numéro de version du logiciel.

Exercice 2

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

1.4. Vérification des pré-requis et génération du Makefile

La première étape consiste à récolter des informations sur la machine (logiciels et bibliothèques présents) pour vérifier que les pré-requis sont vérifiés. C’est le rôle du script configure présent dans l’archive. Les informations récoltées vont servir à générer un Makefile personnalisé.

Exercice 3

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

1.5. Compilation

Exercice 4

Sous l’identité d’un utilisateur sans privilège particulier, compiler le logiciel en exécutant la commande make.

2. Installation

La commande make install installe le logiciel dans le répertoire qui a été spécifié via l’option --prefix à l’appel précédent de ./configure.

Exercice 5

Lancer l’installation. Explorer instdir, et repérer les binaires et le fichier de configuration principal d’Apache.

Attention : cette opération est irréversible et peut détériorer le système (par exemple si prefix a été mal positionné, et si l’opération est réalisée par root) ! C’est pourquoi mieux vaut la réaliser sous l’identité d’un utilisateur sans privilège, après avoir créer instdir et positionné correctement son propriétaire.
l’option -n de make lui demande d’indiquer ce qu’il compte faire, sans le faire. Cette option est intéressante lors du déploiement, pour s’assurer que les fichiers n’iront pas s’installer n’importe où. Il suffit pour cela de lancer make -n install.

L’installation étant faite, les sources ne sont plus utiles et pourraient très bien être supprimées.

3. Configuration

3.1. ServerRoot, DocumentRoot, Listen

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Exercice 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

ServerRoot doit normalement avoir pour valeur instdir.

3.2. User et Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Exercice 7

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

4. Exécution

Un seul serveur au plus peut écouter sur un port donné. Par conséquent, pour exécuter simultanément le serveur apache de la distribution et celui construit, il est nécessaire de différencier les ports d’écoute.

Exercice 8

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Exercice 9

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Indications : ps, netstat, lsof

4.1. Test : mise en ligne de la documentation

La documentation du serveur apache a été installée avec le reste.

Exercice 10

Créer un virtual host destiné à consulter cette documentation.

Exercice 11

Créer un autre virtual host pour publier la documentation présente sur le serveur (par exemple dans /usr/share/doc).