Apache-2.4.3

Introduction à Apache

Le paquet Apache 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.2.

Informations sur le paquet

Dépendances d'Apache

Requises

Apr-Util-1.5.1

Facultatives

OpenLDAP-2.4.33, Berkeley DB-5.3.21, expat-2.1.0, OpenSSL-1.0.1c, PCRE-8.31, rsync-3.0.9, Doxygen-1.8.2, Lynx-2.8.8dev.14 and distcache

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

Installation d'Apache

Pour des raisons de sécurité, l'exécution du serveur en tant q'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 /dev/null -g apache         -s /bin/false -u 25 apache
[Note]

Note

La commande ci-dessus redirige le répertoire Apache du home de l'utilisateur vers /dev/null. Il se peut que cela ne fonctionne pas pour certains suppléments tels que ViewVC, une interface de navigation pour les dépôts de contrôle de version CVS et Subversion. Voir les notes utilisateur pour des détails sur des applications spécifiques.

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

cat >> config.layout << "HERE_DOC" &&
# Présentation FHS BLFS
<Layout FHS>
    prefix:          /usr
    exec_prefix:     ${prefix}
    bindir:          ${exec_prefix}/bin
    sbindir:         ${exec_prefix}/sbin
    libdir:          ${exec_prefix}/lib
    libexecdir:      ${exec_prefix}/libexec/apache
    mandir:          ${prefix}/share/man
    sysconfdir:      /etc/apache
    datadir:         /srv/www
    installbuilddir: ${libexecdir}/build
    errordir:        ${datadir}/error
    iconsdir:        ${datadir}/icons
    htdocsdir:       ${datadir}/htdocs
    manualdir:       ${datadir}/manual
    cgidir:          ${datadir}/cgi-bin
    includedir:      ${prefix}/include/apache
    localstatedir:   ${datadir}
    runtimedir:      /var/run
    logfiledir:      /var/log/apache
    proxycachedir:   /var/cache/apache/proxy
</Layout>
HERE_DOC
./configure --enable-layout=FHS --enable-mods-shared=all &&
make

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

Maintenant, en tant qu'utilisateur root :

make install &&
chown -v root:root /usr/bin/{apxs,dbmmanage}   /usr/sbin/{apachectl,envvars{,-std}}   /usr/libexec/apache/httpd.exp   /usr/share/man/man1/{ab,apxs,dbmmanage,ht{dbm,digest,passwd,txt2dbm},logresolve}.1   /usr/share/man/man8/{apachectl,htcacheclean,httpd,rotatelogs,suexec}.8 &&
chown -v -R apache:apache /srv/www

Toujours en tant qu'utilisateur root, installez éventuellement les docs en html :

mkdir -p /usr/share/doc/httpd-2.4.3/style &&
for thing in docs/manual/*.html.en
do
  tmp=${thing%.en}
  cp ${thing} /usr/share/doc/httpd-2.4.3/${tmp##*/}
done
cp -rf docs/manual/images /usr/share/doc/httpd-2.4.3 &&
cp -rf docs/manual/style/css /usr/share/doc/httpd-2.4.3/style &&
for directory in developer faq howto misc mod platform programs rewrite ssl vhosts
do
  mkdir -p /usr/share/doc/httpd-2.4.3/${directory}
  for thing in docs/manual/${directory}/*.html.en
  do
    tmp=${thing%.en}
    cp ${thing} /usr/share/doc/httpd-2.4.3/${directory}/${tmp##*/}
  done
done
sed -i   '/developer|faq|misc|mod|programs|rewrite|ssl|vhosts/s#/"#/index.html"#'   /usr/share/doc/httpd-2.4.3/index.html

Explication des commandes

--enable-mods-shared=all : 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.

chown root:root ... : Cette commande modifie le propriétaire de certains fichiers installés, le résultat de la construction du paquet en tant qu'utilisateur différent de root.

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/apache/*

Informations de configuration

Le fichier de configuration principal se nomme /etc/apache/httpd.conf. Modifiez-le pour que le serveur HTTP se lance en tant qu'utilisateur et groupe dédiés :

sed -i "s/daemon$/apache/" /etc/apache/httpd.conf

Voir http://httpd.apache.org/docs-2.2/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 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-20120828.

make install-httpd

Contenu

Programmes installés: ab, apachectl, apxs, checkgid, dbmmanage, htcacheclean, htdbm, htdigest, htpasswd, httpd, httxt2dbm, logresolve et rotatelogs
Répertoires installés: /etc/apache, /srv/www, /usr/include/apache, /usr/libexec/apache, et /var/log/apache.

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 : 2012-05-26 22:57:45 +020