Monitorer son serveur simplement avec Linux-Dash

Linux-dash est un outil de monitoring serveur, ce dernier est assez limité mais a pour but d’être très simple à utiliser et à installer.
Une démo est disponible ici : http://linuxdash.afaqtariq.com/demo.html
Ce tutoriel est ici dans le but de faire connaitre cet outil et de permettre à n’importe qui de le configurer facilement avec nginx.

Prérequis

– Avoir un serveur Nginx/apache installé (dans ce tutoriel, nginx sera utilisé) pour ceux qui rencontreront des problèmes avec apache je me ferais un plaisir de répondre à vos questions
– PHP 5 avec exec,shell_exec et escapesheelarg d’activé (par défaut sur les installations php5)

1 – Installation des dépendances
Nous allons commencer par installer les dépendances/librairies nécessaires.

apt-get update

apt-get install php5-json php5-fpm php5-curl git apache2-utils

2 – Configuration vhost nginx et sécurisation (alternative 1)

Si vous n’avez pas d’installation ruttorent existante (comme indiqué sur les tutoriels sur mondedie.fr) vous devez passez au prochain paragraphe Configuration vhost nginx et sécurisation (alternative 2)
Ouvrez ce fichier

nano /etc/nginx/sites-enabled/rutorrent.conf

et insérez y le code suivant

        ## début config linux-dash ##
        location ^~ /linux-dash {
            root /var/www;
            include /etc/nginx/conf.d/php.conf;
            include /etc/nginx/conf.d/cache.conf;
        }

        ## fin config linux-dash ##

2 – Configuration vhost nginx et sécurisation (alternative 2)

Ouvrez ce fichier

nano /etc/nginx/sites-enabled/linuxdash.conf 

Collez y ceci en veillant bien à changer le nom de domaine

server {
    server_name     dashboard.domaine.tld;
    listen          80;
    root            /var/www/linux-dash;
    index           index.html index.php;
    access_log      /var/log/nginx/access.log;
    error_log       /var/log/nginx/error.log;

	auth_basic "Linux Dash";
    auth_basic_user_file "/etc/nginx/passwd/linuxdash_passwd";
	
    location / {
        index index.html index.php;
    }
 
    # PHP-FPM via sockets
    location ~ \.php(/|$) {
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            if (!-f $document_root$fastcgi_script_name) {
                    return 404;
            }
            try_files $uri $uri/ /index.php?$args;
            include fastcgi_params;
    }
}

Afin que le répertoire soit sécurisé nous avons mis en place une authentification basique, il faut maintenant stocker les identifiants de connexion

mkdir /etc/nginx/passwd
htpasswd -cbs /etc/nginx/passwd/linuxdash_passwd linuxdash <MOT DE PASSE>

3 – Configuration PHP FPM

Ouvre ce fichier

nano /etc/php5/fpm/pool.d/www.conf

Et vérifiez la configuration du socket

user = www-data
group = www-data
listen = /var/run/php5-fpm.sock

4 – Récupération de linux-dash
Nous allons maintenant récupérer linux-dash sur github

cd /var/www/
git clone https://github.com/afaqurk/linux-dash.git
chown -R www-data:www-data linux-dash/

Vous pouvez maintenant redémarrer php5-fpm et nginx

service php5-fpm restart
service nginx restart

Votre interface linux-dash est disponible à l’url dashboard.domaine.tld ou domaine.tld/linux-dash dans le cas de l’alternative 2
( identifiant: linuxdash + votre pass )