Re ;
Voici donc comment procéder avec i-MSCP (Git master - apache2 + fastcgi/fcgid + suexec).
1. Dans le répertoire /etc/apache2/conf.d, supprimer le lien symbolique qui pointe vers le fichier de configuration /etc/nagios3/apache2.conf
2. Créer le fichier /etc/apache2/sites-available/01_nagios3.conf avec le contenu suivant
- <VirtualHost localhost:80> ScriptAlias /cgi-bin/nagios3 /usr/lib/cgi-bin/nagios3 ScriptAlias /nagios3/cgi-bin /usr/lib/cgi-bin/nagios3 # Where the stylesheets (config files) reside Alias /nagios3/stylesheets /etc/nagios3/stylesheets # Where the HTML pages live Alias /nagios3 /usr/share/nagios3/htdocs <DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets)> Options FollowSymLinks DirectoryIndex index.php AllowOverride AuthConfig Order Allow,Deny Allow From All AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios3/htpasswd.users require valid-user </DirectoryMatch> <IfModule mod_fcgid.c> <Location /nagios3> FCGIWrapper /var/www/fcgi/master/php5-fcgid-starter .php Options +ExecCGI Order allow,deny Allow from all </Location> <Directory "/var/www/fcgi/master"> AllowOverride None Options +ExecCGI MultiViews -Indexes Order allow,deny Allow from all </Directory> </IfModule> <IfModule mod_fastcgi.c> ScriptAlias /php5/ /var/www/fcgi/master/ <Directory "/var/www/fcgi/master"> AllowOverride None Options +ExecCGI MultiViews -Indexes Order allow,deny Allow from all </Directory> </IfModule> # Enable this ScriptAlias if you want to enable the grouplist patch. # See http://apan.sourceforge.net/download.html for more info # It allows you to see a clickable list of all hostgroups in the # left pane of the Nagios web interface # XXX This is not tested for nagios 2.x use at your own peril #ScriptAlias /nagios3/side.html /usr/lib/cgi-bin/nagios3/grouplist.cgi</virtualHost>
3. Éditer le fichier /etc/apache2/sites-available/00_master.conf pour y ajouter le contenu suivant avant la balise de fermeture </VirtualHost>
- # Nagios configuration - Begin ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /nagios3/stylesheets http://localhost/nagios3/stylesheets ProxyPassReverse /nagios3/stylesheets http://localhost/nagios3/stylesheets ProxyPass /nagios3 http://localhost/nagios3 ProxyPassReverse /nagios3 http://localhost/nagios3 ProxyPass /cgi-bin/nagios3 http://localhost/cgi-bin/nagios3 ProxyPassReverse /cgi-bin/nagios3 http://localhost/cgi-bin/nagios3 ProxyPass /nagios3/cgi-bin http://localhost/nagios3/cgi-bin ProxyPassReverse /nagios3/cgi-bin http://localhost/nagios3/cgi-bin # Nagios configuration - Ending
4. Activer le nouveau fichier de configuration
- # a2ensite 01_nagios3.conf
5. S'assurer que tous les modules requis sont bien activés
- # a2enmod cgid proxy proxy_http
6. Editer le fichier /var/www/fcgi/master/php5/php.ini pour ajouter le path de nagios ( /usr/share/nagios3/htdocs/ ) à la directive open_basedir
Pour exemple, avec la dernière version (Git master d' i-MSCP), ma directive open_basedir devient:
- open_basedir = ":/var/www/imscp/gui:/etc/imscp:/var/run/imscp.lock:/proc:/bin/df:/bin/mount:/var/log/rkhunter.log:/var/log/chkrootkit.log:/usr/share/php:/usr/share/pear:/usr/share/nagios3/htdocs/"
7. Re-démarrer apache2
- # service apache2 restart
Désormais, tu devrais pouvoir accéder à nagios3 via l’adresse de ton panel, eg:
admin.imscp.domain.tld/nagios3
Voilà.
[hr]
Explication: La configuration par défaut livrée avec le paquet Debian de nagios3 ne peut pas fonctionner avec i-MSCP dans la mesure où elle se situe au niveau global. i-MSCP utilise suexec et celui-ci interdit l'exécution de scripts situés en dehors du document root. Ici, je résous ce problème en redirigeant les requêtes vers un autre host (localhost) qui n'est accessible que localement et qui n'utilise pas suexec.
Rendu final
nagios.png
Merci d'utiliser i-MSCP.