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@vmcompilationeni:~$ sudo /opt/prod/apache2.4/bin/htdigest
c /opt/app1/digest "ENI PRIVATE" eni
Adding password for eni in realm ENI PRIVATE.
New password:
Retype new password:
Pour ajouter un nouveau compte :
marty@vmcompilationeni:~$ sudo
/opt/prod/apache2.4/bin/htdigest /opt/app1/digest "ENI PRIVATE"
nicolasm
Adding user nicolasm in realm ENI PRIVATE
New password:
Retype 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.