Apache-2.4.12

Introduction à Apache HTTPD

Le paquet Apache HTTPD contient un serveur HTTP open-source. C'est utile pour créer des sites Internet d'Intranet locaux ou lancer d'immenses opérations de service Internet.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.7.

Informations sur le paquet

  • Téléchargement (HTTP) : https://archive.apache.org/dist/httpd/httpd-2.4.12.tar.bz2

  • Somme de contrôle MD5 du téléchargement : b8dc8367a57a8d548a9b4ce16d264a13

  • Taille du téléchargement : 4.9 Mo

  • Estimation de l'espace disque requis : 93 Mo

  • Estimation du temps de construction : 0.8 SBU

Téléchargements supplémentaires

Dépendances d'Apache HTTPD

Requises

Apr-Util-1.5.4 et PCRE-8.36

Recommandées

Facultatives

Berkeley DB-6.1.19, Doxygen-1.8.9.1, libxml2-2.9.2, Lynx-2.8.8rel.2 ou Links-2.9 ou ELinks, OpenLDAP-2.4.40 (Apr-Util-1.5.4 doit être installé avec le support ldap), rsync-3.1.1, Distcache et Lua-5.3.0

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/apache

Installation d'Apache HTTPD

Pour des raisons de sécurité, l'exécution du serveur en tant qu'utilisateur et groupe non privilégiés est fortement conseillée. Créez le groupe et l'utilisateur suivant en utilisant les commandes suivantes (en tant qu'utilisateur root) :

groupadd -g 25 apache &&
useradd -c "Apache Server" -d /srv/www -g apache \
        -s /bin/false -u 25 apache

Construisez et installez Apache HTTPD en lançant les commandes suivantes :

patch -Np1 -i ../httpd-2.4.12-blfs_layout-1.patch           &&
sed 's/ldump_writer, &b/&, NULL/' -i modules/lua/mod_lua.c  &&
sed '/dir.*CFG_PREFIX/s@^@#@'     -i support/apxs.in        &&
./configure --enable-authnz-fcgi                            \
            --enable-layout=BLFS                            \
            --enable-mods-shared="all cgi"                  \
            --enable-mpms-shared=all                        \
            --enable-suexec=shared                          \
            --with-apr=/usr/bin/apr-1-config                \
            --with-apr-util=/usr/bin/apu-1-config           \
            --with-suexec-bin=/usr/lib/httpd/suexec         \
            --with-suexec-caller=apache                     \
            --with-suexec-docroot=/srv/www                  \
            --with-suexec-logfile=/var/log/httpd/suexec.log \
            --with-suexec-uidmin=100                        \
            --with-suexec-userdir=public_html               &&
make

Ce paquet n'est pas fourni avec une suite de tests.

Maintenant, en tant qu'utilisateur root  (notez que DESTDIR ne fonctionne pas correctement en tant qu'utilisateur sans privilège):

make install                                 &&
mv -v /usr/sbin/suexec /usr/lib/httpd/suexec &&
chgrp apache           /usr/lib/httpd/suexec &&
chmod 4754             /usr/lib/httpd/suexec &&
chown -v -R apache:apache /srv/www

Explication des commandes

sed 's/ldump_writer, &b/&, NULL/'...: Ce sed corrige la compilation avec lua 5.3.

sed '/dir.*CFG_PREFIX/s@^@#@'...: Force l'utilitaire apxs à utiliser les chemins absolus pour les modules quand les instructions le font.

--enable-authnz-fcgi: construit les authentifications basées sur FastCGI authorizer et les autorisations (module fast CGI mod_authnz_fcgi.so).

--enable-mods-shared="all cgi" : Les modules devraient être compilés et utilisés comme objets partageables dymamiquement (Dynamic Shared Objects, DSOs) pour pouvoir être inclus et exclus du serveur qui utilise les lignes de configuration au moment de l'exécution.

--enable-mpm-shared=all : CE paramètre assure que tous les MPM (Multi Processing Modules) sont constuit en tant que Dynamic Shared Objects (DSOs), pour que l'utilisateur puisse choisir lequel utiliser à l'éxécution.

--enable-suexec : Ce paramètre active la construction du module suEXEC de Apache qui peut être utilisé pour autoriser les utilisateurs à lancer des scripts CGI et SSI avec un ID différent de l'ID de l'utilisateur du serveur web appelant.

--with-suexec-* : Ces paramètres contrôlent le comportement du module suEXEC, comme le document racine par défaut, l'UID minimal qui peut être utilisé pour lancer des scripts dans le suEXEC. Merci de noter qu'avec un UID minimal de 100, vous ne pouvez pas lancer de scripts CGI ou SSI dans suEXEC en tant qu'utilisateur apache.

... /usr/lib/httpd/suexec : Ces commandes mettent l'enveloppe suexec au bon endroit, car il n'est pas destiné à être exécuté directement. Ils ajustent aussi les permissions pour le binaire, mettant sont segid à apache.

chown -R apache:apache /srv/www : Par défaut, le processus d'installation installe des fichiers (documentation, messages d'erreur, icônes par défaut, etc.) avec comme propriétaire l'utilisateur qui a extrait les fichiers de l'archive tar. Si vous voulez modifier la propriété au profit d'un autre utilisateur, vous devriez le faire à ce moment. La seule exigence est que les répertoires des documents soient accessibles par le processus httpd avec les droits (r-x) et il faut que les fichiers soient lisibles (r--) par l'utilisateur apache.

Configuration d'Apache

Fichiers de configuration

/etc/httpd/httpd.conf et /etc/httpd/extra/*

Informations de configuration

Voir file:///usr/share/httpd/manual/configuring.html pour des instructions détaillées sur la personnalisation de votre fichier configuration du servur HTTP Apache.

Script de démarrage

Si vous voulez que le serveur Apache HTTPD démarre automatiquement quand le système se lance, installez le script de démarrage /etc/rc.d/init.d/httpd inclu dans le paquet blfs-bootscripts-20150304.

make install-httpd

Contenu

Programmes installés: ab, apachectl, apxs, checkgid, dbmmanage, fcgistarter, htcacheclean, htdbm, htdigest, htpasswd, httpd, httxt2dbm, logresolve, rotatelogs, et suexec
Bibliothèque installée: Plusieurs bibliothèques sous /usr/lib/httpd/modules/
Répertoires installés: /etc/httpd, /srv/www, /usr/include/httpd, /usr/lib/httpd, /usr/share/httpd /var/log/httpd et /var/run/httpd

Descriptions courtes

ab

est un outil d'évaluation de votre serveur HTTP Apache.

apachectl

est une interface avec le serveur HTTP Apache conçue pour aider l'administrateur à contrôler le fonctionnement du démon httpd d'Apache.

apxs

est un outil pour construire et installer les modules pour le serveur HTTP Apache.

checkgid

est un programme qui vérifie s'il peut initialiser le gid du groupe spécifié. C'est pour voir si un groupe valide existe pour Apache2 afin de l'utiliser à l'éxécution. Si l'utilisateur (doit être lancé en superutilisateur) est dans ce groupe, ou peut être initialisé dans ce groupe, le programme retournera 0.

dbmmanage

est utilisé pour créer et mettre à jour les fichiers au format DBM utilisés pour stocker les noms d'utilisateur et les mots de passe pour l'authentication de base des utilisateurs HTTP.

htcacheclean

est utilisé pour nettoyer le cache disque.

htdbm

est utilisé pour manipuler la basse de données DBM des mots de passe.

htdigest

est utilisé pour créer et mettre à jour les fichiers plats utilisés pour stocker les noms d'utilisateur, les realms et les mots de passe pour une authentication digest des utilisateurs HTTP.

htpasswd

est utilisé pour créer et mettre à jour les fichiers plats utilisés pour stocker les noms d'utilisateur et les mots de passe pour une authentication des utilisateurs HTTP.

httpd

est le serveur HTTP Apache.

httxt2dbm

est utilisé pour générer les fichiers DBM depuis des entrées textes, qui seront utilisés dans RewriteMap.

logresolve

est un programme de post-traitement pour résoudre des adresses IP dans des fichiers journaux d'accès d'Apache.

rotatelogs

est un programme simple pour une utilisation conjointe avec la fonctionnalité de redirection du fichier journal d'Apache.

Last updated on : 2013-04-27 20:04:22 +020