Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Apache 2.4
  3. Les outils d'Apache
Extrait - Apache 2.4 Installation et configuration
Extraits du livre
Apache 2.4 Installation et configuration
1 avis
Revenir à la page d'achat du livre

Les outils d'Apache

Introduction

Apache met à disposition plusieurs utilitaires pour des usages divers et variés.

Ces fichiers exécutables sont localisés dans le répertoire bin de l’installation d’Apache.

Ce répertoire est dans la plupart des cas référencé dans le path système, permettant d’exécuter ces commandes sans avoir à spécifier le chemin complet.


marty@vm-compilation-eni:~$ echo $PATH  
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
opt/prod/apache2.4/bin
 

Dans notre cas, pour une installation depuis les sources dans le répertoire /opt/prod/apache2.4 :


marty@vm-compilation-eni:~$ sudo tree /opt/prod/apache2.4/bin/  
/opt/prod/apache2.4/bin/  
├── ab  
├── apachectl  
├── apr-1-config  
├── apu-1-config  
├── apxs  
├── checkgid  
├── dbmmanage  
├── envvars  
├── envvars-std  
├── fcgistarter  
├── htcacheclean  
├── htdbm  
├── htdigest  
├── htpasswd  
├── httpd  
├── httxt2dbm  
├── logresolve  
└── rotatelogs  
 
0 directories...

apachectl

Cet utilitaire permet de contrôler le fonctionnement du démon Apache httpd.

Syntaxe d’utilisation : apachectl [ argument-httpd ]

start

Permet de démarrer le service Apache httpd.

Équivalent à apachectl -k start.


marty@vm-compilation-eni:~$ sudo apachectl start 
 

stop

Permet d’arrêter le service Apache httpd.

Équivalent à apachectl -k stop.


marty@vm-compilation-eni:~$ sudo apachectl stop
 

restart

Permet de redémarrer le service Apache httpd.

Cette option vérifie automatiquement les fichiers de configuration avant de relancer le service.

Équivalent à apachectl -k restart.

Si le service n’est pas démarré, un message d’information le précisera avant de lancer le service.


marty@vm-compilation-eni:~$ sudo apachectl restart  
httpd not running, trying to start
 

fullstatus

Permet d’afficher le rapport d’état complet du module mod_status.

Il est donc nécessaire que mod_status soit activé et accessible depuis l’adresse locale (localhost).


marty@vm-compilation-eni:~$ sudo apachectl fullstatus  
               Apache Server Status for localhost (via 127.0.0.1) 
 
   Server Version: Apache/2.4.12 (Unix)  
   Server MPM: event  
   Server Built: Mar 3 2015 15:32:58  
 
   ________________________________________________________________...

ab

ab est un utilitaire permettant d’effectuer des tests de performance et de montée en charge sur un serveur web.

Son but est notamment de déterminer le nombre de requêtes par seconde que le serveur peut prendre en charge sous diverses conditions.


marty@vm-compilation-eni:~$ sudo /opt/prod/apache2.4/bin/ab -k -n  
100 -c 50 http://www.eni.labs/  
This is ApacheBench, Version 2.3 <$Revision: 1638069 $>  
Copyright 1996 Adam Twiss, Zeus Technology Ltd,  
http://www.zeustech.net/  
Licensed to The Apache Software Foundation, http://www.apache.org/  
 
Benchmarking www.eni.labs (be patient).....done  
 
 
Server Software:        Apache/2.4  
Server Hostname:        www.eni.labs  
Server Port:            80  
 
Document Path:          /  
Document Length:        814 bytes  
 
Concurrency Level:      50  
Time taken for tests:   0.018 seconds  
Complete requests:      100  
Failed requests:        0  
Keep-Alive requests:    100  
Total transferred:      108700 bytes  
HTML transferred:       81400 bytes  
Requests per second:    5467.77 [#/sec] (mean)  
Time per request:       9.144 [ms] (mean)...

apxs

apxs est un outil de gestion des extensions Apache, permettant de compiler et d’installer des modules du serveur HTTP Apache.

Des fichiers DSO (objet dynamique partagé) sont ainsi générés, qui pourront par la suite être chargés dans la configuration d’Apache grâce à la directive LoadModule.

Il est nécessaire que le module mod_so soit présent dans le binaire httpd, et donc lors de sa compilation.


marty@vm-compilation-eni:~$ sudo httpd -l  
Compiled in modules:  
  core.c  
  mod_so.c  
  http_core.c  
  event.c
 

dbmmanage

Cet utilitaire permet de créer et de mettre à jour les fichiers d’authentification d’utilisateurs au format DBM avec le module mod_authn_dbm.

Son utilisation est semblable à celle de l’utilitaire htpasswd, générant des comptes utilisateurs dans un fichier texte.


marty@vm-compilation-eni:~$ sudo dbmmanage  
Usage: dbmmanage [enc] dbname command [username [pw [group[,group] 
[comment]]]]  
 
    where enc is  -d for crypt encryption (default except on  
Win32, Netware)  
                  -m for MD5 encryption (default on Win32,  
Netware)  
                  -s for SHA1 encryption  
                  -p for plaintext  
 
    command is one of: add|adduser|check|delete|import|update|view  
 
    pw of . for update command retains the old password    
    pw of - (or blank) for update command prompts for the password  
 
    groups or comment of . (or blank) for update command retains  
old values  
    groups or comment of - for update command clears the existing  
value  
    groups or comment of - for add and adduser commands is the  
empty value
 

Exemple pour la création d’un compte « eni »...

fcgistarter

Cet utilitaire permet de lancer un programme FastCGI.

La syntaxe est la suivante :


fcgistarter -c commande -p port [ -i interface ] -N nombre
 

Les options disponibles sont :

  • -c commande : le programme FastCGI.

  • -p port : port sur lequel le programme va se mettre en écoute.

  • -i interface : interface sur laquelle le programme va se mettre en écoute.

  • -N nombre : nombre d’instances du programme.

htcacheclean

Cet utilitaire permet de maintenir le cache disque généré par le module mod_disk_cache.

Il est possible de le lancer manuellement et en mode démon pour qu’il effectue des purges à des intervalles de temps définis.

Les options disponibles sont :

-dintervalle_temps

Active le mode démon avec le nettoyage du cache à chaque intervalle de temps spécifié (en minutes).

-D

Le programme est lancé « dry run » mais ne supprime aucun contenu.

-v

Demande une exécution verbeuse et l’affichage de statistiques.

-r

Effectue un nettoyage complet du cache.

-t

Permet de supprimer tous les répertoires vides de l’arborescence du cache au lieu de ne supprimer que les fichiers de cache.

-pchemin

Permet de définir le chemin du répertoire racine du cache sur le disque indiqué par la directive CacheRoot du module mod_disk_cache.

-Pfichier_pid

Permet de spécifier le fichier pid du processus en mode démon.

-llimite

Permet de définir la taille maximale du cache sur disque. La valeur s’exprime par défaut en octets, en kilo-octets avec K, ou en mégaoctets avec M.

-Llimite

Permet de définir la limite totale en inodes du cache disque.

-a

Permet d’afficher la liste des URL stockées dans le cache.

-A

Permet d’afficher la liste des URL stockées dans le cache, avec leurs attributs :...

htdigest

Cet utilitaire permet de créer et de maintenir les fichiers d’authentification du module mod_auth_digest.

La syntaxe est la suivante :


htdigest [­c] passwordfile realm username 
 

marty@vm­compilation­eni:~$ sudo /opt/prod/apache2.4/bin/htdigest  
­c /opt/app1/digest "ENI PRIVATE" eni  
Adding password for eni in realm ENI PRIVATE.  
New password:  
Re­type new password: 
 

Pour ajouter un nouveau compte :


marty@vm­compilation­eni:~$ sudo  
/opt/prod/apache2.4/bin/htdigest /opt/app1/digest "ENI PRIVATE"  
nicolasm  
Adding user nicolasm in realm ENI PRIVATE  
New password:  
Re­type new password:
 

htdbm

Cet utilitaire permet de créer et de maintenir des bases de données DBM des mots de passe utilisées par le module mod_authn_dbm.


marty@vm-compilation-eni:~$ sudo htdbm  
htdbm -- program for manipulating DBM password databases.  
 
Usage: htdbm   [-cimBdpstvx] [-C cost] [-TDBTYPE] database username 
                -b[cmBdptsv] [-C cost] [-TDBTYPE] database username 
password  
                -n[imBdpst]  [-C cost] username  
                -nb[mBdpst]  [-C cost] username password  
                -v[imBdps]   [-C cost] [-TDBTYPE] database username 
                -vb[mBdps]   [-C cost] [-TDBTYPE] database username 
password  
                -x                     [-TDBTYPE] database username 
                -l                     [-TDBTYPE] database 
 

Les options sont :

  • -c : crée une nouvelle base de données.

  • -n : affiche les informations d’un utilisateur, et ne met pas à jour la base de données.

  • -b : utilise le mode batch pour indiquer le mot de passe sans le prompt....

htpasswd

Cet utilitaire permet de créer et de maintenir les fichiers d’authentification pour une authentification basique, avec le module mod_authn_file.


marty@vm-compilation-eni:~$ sudo htpasswd  
Usage:  
      htpasswd [-cimBdpsDv] [-C cost] passwordfile username  
      htpasswd -b[cmBdpsDv] [-C cost] passwordfile username  
password  
 
      htpasswd -n[imBdps] [-C cost] username  
      htpasswd -nb[mBdps] [-C cost] username password 
 
  • -c : crée un nouveau fichier de mots de passe.

  • -n : affiche le résultat du traitement sans modifier le fichier de mots de passe.

  • -b : utilise le mode batch pour indiquer le mot de passe sans le prompt.

  • -i : lit le mot de passe sans vérification.

  • -m : utilise le chiffrement MD5 pour les mots de passe.

  • -B : force le chiffrement BCRYPT pour les mots de passe.

  • -C : permet de définir la durée de traitement pour l’algorithme de chiffrement bcrypt (5 par défaut).

  • -d : force le chiffrement CRYPT pour les mots de passe.

  • -s : force le chiffrement SHA pour les mots de passe.

  • -p : n’utilise pas de chiffrement pour les mots de passe (non conseillé).

  • -D : supprime un utilisateur de la base de données.

  • -v : permet de vérifier le couple nom d’utilisateur/mot de passe pour un utilisateur donné.

httxt2dbm

Cet utilitaire permet de créer les fichiers dbm destinés à être utilisés avec RewriteMap.


marty@vm-compilation-eni:~$ httxt2dbm -i /opt/app1/rewritemap.txt  
-o /opt/app1/rewritemap.dbm
 

logresolve

Cet utilitaire permet la résolution des noms d’hôtes en adresses IP dans les fichiers de journalisation d’Apache.

rotatelogs

Cet utilitaire permet la rotation des fichiers journaux d’Apache sans devoir arrêter le serveur. Son utilisation est décrite dans le chapitre Gestion des logs sous Apache.