Compilation

De Wiki de Jordan LE NUFF
Sauter à la navigation Sauter à la recherche
Ligne 400 : Ligne 400 :
  
 
=== Configuration de la compilation ===
 
=== Configuration de la compilation ===
Pour lancer la compilation avec les options désirées, lancer la commande suivante :
+
La commande <code>./configure</code> lance la configuration de la compilation avec certaines options par défaut. Les valeurs par défaut de certaines de ces options sont indiquées dans la section <code>--help</code> de la commande.
 +
 
 +
Une configuration de compilation simple, sans ajout d'option, fournit les modules suivants :
 +
{{terminal|text=
 +
[root@myserver 2.4.41_test]# /local/httpd/2.4.41_test/bin/httpd -M
 +
Loaded Modules:
 +
core_module (static)
 +
so_module (static)
 +
http_module (static)
 +
mpm_event_module (static)
 +
authn_file_module (shared)
 +
authn_core_module (shared)
 +
authz_host_module (shared)
 +
authz_groupfile_module (shared)
 +
authz_user_module (shared)
 +
authz_core_module (shared)
 +
access_compat_module (shared)
 +
auth_basic_module (shared)
 +
reqtimeout_module (shared)
 +
filter_module (shared)
 +
mime_module (shared)
 +
log_config_module (shared)
 +
env_module (shared)
 +
headers_module (shared)
 +
setenvif_module (shared)
 +
version_module (shared)
 +
unixd_module (shared)
 +
status_module (shared)
 +
autoindex_module (shared)
 +
dir_module (shared)
 +
alias_module (shared)
 +
}}
 +
 
 +
On peut constater que les modules suivants sont ''"statiques"'', c'est-à-dire qu'ils sont intégrés dans le binaire <code>httpd</code> et seront, par conséquent, toujours chargés au démarrage d'Apache :
 +
*core_module
 +
**Fonctionnalités de base du serveur HTTP Apache toujours disponibles
 +
**La liste des fonctionnalités de base est accessible ici : http://httpd.apache.org/docs/current/mod/core.html
 +
*so_module
 +
**Module permettant de charger dynamiquement des modules non-statiques (partagés). Les modules partagés, à l'inverse de modules statiques, ne nécessitent pas de recompilation et peuvent être chargés lorsqu'Apache est en cours d'exécution. Les performances d'Apache sont meilleures avec des modules statiques qu'avec des modules partagés.
 +
*http_module
 +
**Comme indiqué dans l'option <code>--help</code> de la commande <code>./configure</code> :
 +
::''"Le module http est un module de base qui permet au serveur de fonctionner comme un serveur HTTP. Il n'est utile de le désactiver que si vous souhaitez utiliser un autre module de protocole à la place. Ne désactivez ce module que si vous êtes vraiment sûr de ce que vous faites. Remarque: Ce module sera toujours lié statiquement."''
 +
*mpm_event_module
 +
**Selon la [http://httpd.apache.org/docs/current/programs/configure.html#mpms documentation Apache], les Modules Multi-Processus, ou MPMs, constituent le coeur du serveur. Un seul MPM doit être actif pour que le serveur puisse fonctionner. Le MPM par défaut dépend du système d'exploitation. Pour savoir quel type de MPM est utilisé par défaut, se référer à [http://httpd.apache.org/docs/current/mpm.html#defaults la documentation Apache sur les MPMs].

Version du 26 janvier 2020 à 15:30

Présentation

Cette page a pour objet de décrire comment compiler le serveur web Apache.

Plus d'informations sur le site de l'éditeur :

Téléchargement des sources

Se rendre sur la page de téléchargement d'Apache et aller à la section de téléchargement de la "Stable Release - Latest Version". Copier le lien de téléchargement de la version en cours (2.4.41 à la rédaction de ce document).

Se connecter au serveur, se rendre dans le dossier de téléchargement et télécharger les sources Apache :

wget http://apache.crihan.fr/dist//httpd/httpd-2.4.41.tar.gz
Putty icon.png Console SSH

Décompression de l'archive

Décompresser l'archive dans le dossier cible de compilation :

tar -zxvf httpd-2.4.41.tar.gz -C /local/builds/

Compilation

Options de compilation disponibles

Se rendre dans le dossier de compilation et taper la commande suivante pour afficher les options de compilation disponibles :

./configure --help
Putty icon.png Console SSH

Configuration de la compilation

La commande ./configure lance la configuration de la compilation avec certaines options par défaut. Les valeurs par défaut de certaines de ces options sont indiquées dans la section --help de la commande.

Une configuration de compilation simple, sans ajout d'option, fournit les modules suivants :

Putty icon.png Console SSH

On peut constater que les modules suivants sont "statiques", c'est-à-dire qu'ils sont intégrés dans le binaire httpd et seront, par conséquent, toujours chargés au démarrage d'Apache :

  • core_module
  • so_module
    • Module permettant de charger dynamiquement des modules non-statiques (partagés). Les modules partagés, à l'inverse de modules statiques, ne nécessitent pas de recompilation et peuvent être chargés lorsqu'Apache est en cours d'exécution. Les performances d'Apache sont meilleures avec des modules statiques qu'avec des modules partagés.
  • http_module
    • Comme indiqué dans l'option --help de la commande ./configure :
"Le module http est un module de base qui permet au serveur de fonctionner comme un serveur HTTP. Il n'est utile de le désactiver que si vous souhaitez utiliser un autre module de protocole à la place. Ne désactivez ce module que si vous êtes vraiment sûr de ce que vous faites. Remarque: Ce module sera toujours lié statiquement."
  • mpm_event_module
    • Selon la documentation Apache, les Modules Multi-Processus, ou MPMs, constituent le coeur du serveur. Un seul MPM doit être actif pour que le serveur puisse fonctionner. Le MPM par défaut dépend du système d'exploitation. Pour savoir quel type de MPM est utilisé par défaut, se référer à la documentation Apache sur les MPMs.