« LINUX:HTTP: Informations et activités » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Page créée avec « ---- ''→ retour au menu du serveur Web'' ---- __FORCETOC__ =But= Apache vient avec divers outils permettant de consulter sa configuration et son activité. ---- ''→ retour au menu du serveur Web'' ---- __NOEDITSECTION__ Category:LINUX »
 
Aucun résumé des modifications
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 5 : Ligne 5 :
=But=
=But=
Apache vient avec divers outils permettant de consulter sa configuration et son activité.  
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":
<nowiki>http://serverdb.home.dom/apache/server-info</nowiki>
=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":
<nowiki>http://serverdb.home.dom/apache/server-status-texte</nowiki>
==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":
<nowiki>http://serverdb.home.dom/apache/server-status</nowiki>
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





Dernière version du 24 avril 2025 à 10:42


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