| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Problématique
NagVis est présenté par défaut aux utilisateurs sur le port 80 via le protocole HTTP.
Pour modifier cela, il faut éditer la configuration du serveur web apache, qui sert les pages de NagVis.
Modifier les ports d'écoute d'Apache
| Anchor | ||||
|---|---|---|---|---|
|
Remplacer les ports d'écoute par défaut d'Apache
RHEL / CentOS 7 ou RHEL / Alma / Rocky 8 ou RHEL / Alma / Rocky 9
Plutôt que d'ajouter un nouveau port d'écoute à Apache, si on souhaite remplacer les ports d'écoute par défaut ( 80 pour HTTP, 443 pour HTTPS ), il faut modifier les directives Listen des fichiers :
- /etc/httpd/conf/httpd.conf pour remplacer le port 80 par la valeur souhaitée,
- /etc/httpd/conf.d/ssl.conf pour remplacer le port 443 par la valeur souhaitée ( ce fichier est présent si le paquet mod_ssl est installé, pour l'activation du HTTPS ).
Debian 13
Plutôt que d'ajouter un nouveau port d'écoute à Apache, si on souhaite remplacer les ports d'écoute par défaut ( 80 pour HTTP, 443 pour HTTPS ), il faut modifier les directives Listen du fichier :
- /etc/apache2/ports.conf ( pour remplacer le port 80 et les ports 443 par les valeurs souhaitées ).
Ajouter un nouveau port d'écoute à Apache
Fichier à modifier
RHEL / CentOS 7 ou RHEL / Alma / Rocky 8 ou RHEL / Alma / Rocky 9
Pour ajouter un nouveau port d'écoute à Apache, il faut éditer le fichier /etc/httpd/conf/httpd.conf.
Debian 13
Pour ajouter un nouveau port d'écoute à Apache, il faut éditer le fichier /etc/apache2/ports.conf.
Écoute d'un nouveau port sur toutes les interfaces réseau du serveur
Pour mettre Apache en écoute sur un nouveau port, il faut ajouter une nouvelle directive Listen dans son fichier de configuration.
Après la directive par défaut :
| Code Block | ||||
|---|---|---|---|---|
| ||||
Listen 80 |
ajouter la nouvelle directive.
Dans cet exemple, Apache va se mettre en écoute sur les ports 80 et 8080 :
| Code Block | ||||
|---|---|---|---|---|
| ||||
Listen 80 Listen 8080 |
Écoute d'un nouveau port uniquement sur certaines interfaces réseau du serveur
Il est possible de préciser à Apache sur quelles interfaces réseau se mettre en écoute, pour ne pas ouvrir le port sur toutes les interfaces réseau du serveur.
Pour mettre Apache en écoute sur un nouveau port, il faut ajouter une nouvelle directive Listen dans son fichier de configuration.
Après la directive par défaut :
| Code Block | ||||
|---|---|---|---|---|
| ||||
Listen 80 |
ajouter la nouvelle directive.
Dans cet exemple, Apache ne répondra que sur les interfaces réseau ayant les adresses IP 1.2.3.4 et 127.0.0.1 pour le port 8080, et sur toutes les interfaces réseau pour le port 80 :
| Code Block | ||||
|---|---|---|---|---|
| ||||
Listen 80 Listen 1.2.3.4:8080 Listen 127.0.0.1:8080 |
Limiter les ports d'accès à l'add-on
Sélection du fichier de configuration à éditer, en fonction de l'add-on à modifier
| Anchor | ||||
|---|---|---|---|---|
|
Le fichier de configuration à modifier dépend de l'add-on pour lequel on effectue la configuration :
RHEL / CentOS 7 ou RHEL / Alma / Rocky 8 ou RHEL / Alma / Rocky
89
- Add-on nagvis: /etc/httpd/conf.hd/nagvis_opt.conf
- Add-on nagvis-shinken-architecture : /etc/httpd/conf.d/nagvis_etc.conf
Debian 13
- Add-on nagvis: /etc/apache2/conf-available/nagvis_opt.conf
- Add-on nagvis-shinken-architecture : /etc/apache2/conf-available/nagvis_etc.conf
Modification du port de l'add-on
Les fichiers de configuration des add-ons se présentent de la façon suivante :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
Alias /shinken-map "/opt/nagvis/share" <Directory "/opt/nagvis/share"> ... ... ... </Directory> |
Pour changer le port de l'add-on, et ne pas le rendre disponible sur tous les ports d'écoute d'Apache, il faut englober cette définition dans un élément VirtualHost.
Par exemple, pour changer le port d'écoute 80 par 8080, le fichier de configuration devra être modifié ainsi :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<VirtualHost *:8080>
Alias /shinken-core-map "/opt/nagvis/share"
<Directory "/opt/nagvis/share">
...
...
...
</Directory>
</VirtualHost> |
Cette configuration rend disponible NagVis sur le port 8080 sur toutes les interfaces réseau pour lesquelles Apache écoute.
| Info |
|---|
Apache doit, au préalable, avoir été configuré pour écouter sur ce port, voir la section ci dessus Modifier les ports d'écoute d'Apache |
Il est également possible de spécifier une seule interface sur laquelle NagVis sera disponible.
Dans l'exemple suivant, NagVis sera disponible sur le port 8080, mais uniquement sur l'interface réseau avec l'adresse 1.2.3.4.
| Code Block | ||||
|---|---|---|---|---|
| ||||
<VirtualHost 1.2.3.4:8080> ... |
Appliquer les changements de configuration
RHEL / CentOS 7 ou RHEL / Alma / Rocky 8 ou RHEL / Alma / Rocky
89
Pour rendre ces changements effectifs, il faut ensuite redémarrer Apache:
| Code Block | ||||
|---|---|---|---|---|
| ||||
systemctl restart httpd |
Debian 13
Pour rendre ces changements effectifs, il faut ensuite redémarrer Apache:
| Code Block | ||||
|---|---|---|---|---|
| ||||
systemctl restart apache2 |
Activation de SSL
Charger le module SSL de apache
RHEL / CentOS 7 ou RHEL / Alma / Rocky 8 ou RHEL / Alma / Rocky
89
| Code Block | ||||
|---|---|---|---|---|
| ||||
yum install mod_ssl |
Debian 13
| Code Block | ||||
|---|---|---|---|---|
| ||||
a2enmod ssl |
Servir NagVis en HTTPS uniquement
Comme pour la modification du port, le fichier de configuration à modifier dépend de l'add-on pour lequel on effectue la configuration ( voir la section ci dessus Sélection du fichier de configuration à éditer, en fonction de l'add-on à modifier )
On englobera également la configuration présente par défaut dans un élément VirtualHost si nécessaire, en y ajoutant les 3 instructions permettant d'activer SSL et de préciser les chemins d'accès au certificat.
Le fichier de configuration d'origine se présente ainsi :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
Alias /shinken-core-map "/opt/nagvis/share" <Directory "/opt/nagvis/share"> Options FollowSymLinks AllowOverride None <RESTE DU CONTENU DU FICHIER> </Directory> |
Après modification, on obtient un fichier de la forme suivante :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<VirtualHost *:443>
SSLEngine ON
SSLCertificateFile /etc/shinken/certs/server.cert
SSLCertificateKeyFile /etc/shinken/certs/server.key
Alias /shinken-core-map "/opt/nagvis/share"
<Directory "/opt/nagvis/share">
Options FollowSymLinks
AllowOverride None
<RESTE DU CONTENU DU FICHIER>
</Directory>
</VirtualHost> |
L'exemple ci-dessus active le chiffrement SSL en utilisant les certificats livrés par Shinken ( autosignés ).
Il est recommandé d'utiliser ses propres certificats dans un environnement de production.
Problèmes courants
Lors du redémarrage d'Apache, il est possible d'obtenir des erreurs.
- Cette section recense les cas d'erreur les plus communs ainsi que leur résolution.
Port déjà utilisé
Le problème le plus courant est d'essayer d'attribuer à NagVis un port qui est déjà utilisé par une autre application. Dans ce cas, Apache refuse de démarrer.
Pour résoudre l'erreur, il existe 2 solutions:
- Changer de port à utiliser pour NagVis,
- Changer de port utilisé par l'autre application.
Il est possible de déterminer si un port "<NB_PORT>" est utilisé et le cas échéant le processus qui l'utilise avec la commande suivante:
| Code Block | ||||
|---|---|---|---|---|
| ||||
netstat -laputen | grep <NB_PORT> |
SELinux
Il se peut que le port configuré ne soit pas utilisé, mais qu'Apache ne puisse toujours pas l'utiliser. Dans ce cas, le problème peut provenir de SELinux.
Par défaut, un certain nombre de ports sont autorisés par SELinux. La commande suivante permet de lister ces ports:
| Code Block | ||||
|---|---|---|---|---|
| ||||
semanage port -l | grep http |
Si le port <NB_PORT> ne se trouve pas dans la liste, il est possible de l'ajouter comme suivant:
| Code Block | ||||
|---|---|---|---|---|
| ||||
semanage port -a -t http_port_t -p tcp <NB_PORT> |