LINUX:HTTP: Informations et activités

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu du serveur Web


But

Apache vient avec divers outils permettant de consulter sa configuration et son activité.


Mod_Info

C'est un module installé d'office qui permet de consulter tous le paramétrage d'Apache sous forme d'un interface Web.

En premier lieu, il faut vérifier que la librairie "mod_info.so" est bien activée. Dans le répertoire "/etc/httpd/conf.modules.d" reprenant la configuration des modules, le fichier "00-base.conf" doit contenir la ligne:


LoadModule info_module modules/mod_info.so


Ensuite on crée un fichier de configuration d'un site Web qui se trouvera par défaut dans le répertoire "/etc/httpd/conf.d" que l'on nommera "server-info.conf" par exemple. Voici un type de contenu:


<Location /apache/server-info>
 SetHandler server-info
 <IfModule mod_authz_core.c>
   Require all denied
   Require ip 192.168.1.2
 </IfModule>
</Location>

Il est important que les informations qui vont être affichées ne soient pas accessibles à partir d'Internet. Restreignez cet accès à votre réseau local. Dans l'exemple, seule la machine "192.168.1.2" y a accès. Le paramètre de "Location" peut être rempli selon vos désirs. C'est lui qui sera repris dans l'URL.


On relance le serveur Web:

systemctl restart httpd

Maintenant dans notre navigateur Internet, on lance l'URL suivante, par exemple vers le serveur "serverdb.home.dom":

http://serverdb.home.dom/apache/server-info


APACHETOP

Si on installe le logiciel:

dnf install apachetop

on peut exécuter en ligne de commande:

apachetop

Et nous aurons un équivalent de la commande "top" mais elle affiche l'activité du serveur Apache avec un rafraichissement régulier.


Mod_Status

C'est un module installé d'office qui permet de suivre l'activité d'Apache sous forme d'un interface Web.

En premier lieu, il faut vérifier que la librairie "mod_status.so" est bien activée. Dans le répertoire "/etc/httpd/conf.modules.d" reprenant la configuration des modules, le fichier "00-base.conf" doit contenir la ligne:


LoadModule status_module modules/mod_status.so

On vérifie ensuite que le paramètre 'ExtendedStatus" est bien activé dans le fichier de configuration général d'Apache "/etc/httpd/conf/conf.conf":


ExtendedStatus On


Son utilisation peut être faite de deux façon:

  • sous forme de texte brut
  • sous forme plus ludique, graphique à plusieurs onglets


Forme texte

On crée un fichier de configuration d'un site Web qui se trouvera par défaut dans le répertoire "/etc/httpd/conf.d" que l'on nommera "server-status-texte.conf" par exemple. Voici un type de contenu:


<Location "/apache/server-status-texte">
 SetHandler server-status
 <IfModule mod_authz_core.c>
   Require all denied
   Require ip 192.168.1.2
 </IfModule>
</Location>

Il est important que les informations qui vont être affichées ne soient pas accessibles à partir d'Internet. Restreignez cet accès à votre réseau local. Dans l'exemple, seule la machine "192.168.1.2" y a accès. Le paramètre de "Location" peut être rempli selon vos désirs. C'est lui qui sera repris dans l'URL.


On relance le serveur Web:

systemctl restart httpd

Maintenant dans notre navigateur Internet, on lance l'URL suivante, par exemple vers le serveur "serverdb.home.dom":

http://serverdb.home.dom/apache/server-status-texte


Forme graphique

On s'assure que le paquet suivant est installé:

dnf install mod_lua

car l'application Web est programmée en LUA.

En second lieu, il faut vérifier que la librairie "mod_lua.so" est bien activée. Dans le répertoire "/etc/httpd/conf.modules.d" reprenant la configuration des modules, le fichier "00-lua.conf" doit contenir la ligne:


LoadModule lua_module modules/mod_lua.so

On crée un fichier de configuration d'un site Web qui se trouvera par défaut dans le répertoire "/etc/httpd/conf.d" que l'on nommera "server-status-lua.conf" par exemple. Voici un type de contenu:


LuaMapHandler /apache/server-status$ /web/status/server-status.lua
Alias /apache "/web/status"
<Directory /web/status>
  AllowOverride None
  <IfModule mod_authz_core.c>
    Require all denied
    Require ip 192.168.1.2
  </IfModule>
</Directory>

Il est important que les informations qui vont être affichées ne soient pas accessibles à partir d'Internet. Restreignez cet accès à votre réseau local. Dans l'exemple, seule la machine "192.168.1.2" y a accès. Le paramètre de "Location" peut être rempli selon vos désirs. C'est lui qui sera repris dans l'URL.


Enfin on récupère le contenu du répertoire "/usr/share/httpd/server-status" que l'on place dans un répertoire de notre arborescence d'applications Web, dans l'exemple "/web/status". Le fichier "README.md" n'est pas nécessaire mais il explique les paramètres qui peuvent être adaptés.

Par exemple, nous avons modifié les variables suivantes:


local redact_ips = false
local show_warning = false
local show_modules = true

Ne pas oublier d'adapter les droits et la propriété à l'utilisateur "apache".


On relance le serveur Web:

systemctl restart httpd

Maintenant dans notre navigateur Internet, on lance l'URL suivante, par exemple vers le serveur "serverdb.home.dom":

http://serverdb.home.dom/apache/server-status

A gauche on peut accéder à divers onglets:

  • Un premier suit l'activité: thread, traffic, connexions, CPU,...
  • Le second donne quelques informations sur le serveur
  • Le troisième, le plus intéressant, affiche les différents threads par processeur avec, notamment, l'adresse IP du client et sa requête
  • Le quatrième donne la liste des modules actifs





retour au menu du serveur Web