Apache-2.4.41
Installation de 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.41-blfs_layout-1.patch &&
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
:
Note
Ce paquet ne s'installe pas correctement avec la technique
DESTDIR en tant qu'utilisateur non privilégié.
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
'/dir.*CFG_PREFIX/s@^@#@'... : Force
l'utilitaire apxs à utiliser les
chemins absolus pour les modules quand les instructions le
demandent.
--enable-authnz-fcgi
:
construit les authentifications et les autorisations basées sur
FastCGI authorizer (module fast CGI mod_authnz_fcgi.so).
--enable-mods-shared="all
cgi"
: Les modules devraient être compilés et
utilisés comme objets partageables dynamiquement (Dynamic Shared
Objects, DSO) pour pouvoir être inclus et exclus du
serveur qui utilise les lignes de configuration au moment de
l'exécution
--enable-mpms-shared=all
: Ce
paramètre assure que tous les MPM (Multi Processing Modules) sont
constuit en tant qu'objets partagés dynamiques (DSO), pour que
l'utilisateur puisse choisir lequel utiliser à l'exé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 la
racine des documents par défaut, l'UID minimal pouvant être utilisé
pour lancer le script sous suEXEC. Veuillez remarquer qu'avec un
UID minimal de 100, vous ne pourrez pas lancer des scripts CGI ou
SSI sous 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 son
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 maintenant. 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 de Apache
Fichiers de
configuration
/etc/httpd/httpd.conf
et
/etc/httpd/extra/*
Unité Systemd
Si vous voulez que le serveur Apache démarre automatiquement quand le
système se lance, installez l'unité systemd
httpd.service
incluse dans
le paquet blfs-systemd-units-20191026.
make install-httpd
Contenu
Programmes installés:
ab, apachectl, apxs, checkgid, dbmmanage,
fcgistarter, htcacheclean, htdbm, htdigest, htpasswd, httpd,
httxt2dbm, logresolve, rotatelogs et suexec
Bibliothèques installées:
Plusieurs bibliothèques dans
/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 de 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'exé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'authentification de base des
utilisateurs HTTP.
|
fcgistarter
|
est un outil pour démarrer un programme FastCGI.
|
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 authentification
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 authentification 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.
|
suexec
|
permet aux utilisateurs de lancer des applications CGI et
SSI avec un utilisateur différent.
|
Last updated on 2020-02-19 17:47:37 +0100