Freeboard.io : installation sur Ubuntu 16.04 avec Nginx • Domotique et objets connectés à faire soi-même

Dans le tutoriel précédent, nous avons vu comment installer et faire fonctionner Freeboard.io sur Ubuntu avec un serveur web Apache 2. Dans ce tutoriel, nous allons voir comment faire la même chose avec le serveur web Nginx.

Comment installer Nginx sur Ubuntu (16.04 LTS+)

Nginx s’installe très simplement avec une simple commande apt-get.

sudo apt-get update
sudo apt-get install nginx

Acceptez les questions durant l’installation. A la fin de l’installation, Ubuntu démarre le serveur Nginx. On peut facilement vérifier que le serveur est démarré à l’aide de l’option status de systemctl.

systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy serv
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor pr
   Active: active (running) since lun. 2016-11-21 18:46:50 CET; 2h 46min
  Process: 18423 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry
  Process: 18893 ExecStart=/usr/sbin/nginx -g daemon on; master_process 
  Process: 18890 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master
 Main PID: 18897 (nginx)
   CGroup: /system.slice/nginx.service
           ├─18897 nginx: master process /usr/sbin/nginx -g daemon on; m
           ├─18898 nginx: worker process                           
           ├─18899 nginx: worker process                           
           ├─18900 nginx: worker process                           
           └─18901 nginx: worker process

Comme on peut le voir, le service est bien démarré, nous pouvons passer à la suite de la configuration de freeboard.io

Installation de Freeboard.io sur Ubuntu

Commençons par installer git (sauf s’il est déjà présent sur votre PC).

sudo apt-get install git

On créé un répertoire d’installation. Peut importe la localisation du répertoire, installez le par exemple dans votre dossier utilisateur ou dans le Home.

sudo mkdir /home/freeboard_io

On lance la récupération des sources sur GitHub

cd /home/freeboard_io
git clone https://github.com/Freeboard/freeboard.git

Création d’un lien symbolique vers /var/www

Les fichiers du site internet doivent se trouver (idéalement par convention) dans le /var/www. Comme pour Apache, on va simplement créer un lien symbolique qui permettra au serveur Nginx de retrouver les fichiers du site freeboard.

sudo -s
cd /var/www
ln -s /home/freeboard_io/freeboard freeboard_io

Configuration de Freeboard_io pour Nginx

Si vous allez dans le répertoire d’Nginx, vous allez vous rendre compte que la structure des dossiers est très similaire à celle d’Apache.

/etc/nginx# ls
conf.d          koi-utf     nginx.conf    sites-available  ssl
fastcgi.conf    koi-win     proxy_params  sites-enabled    uwsgi_params
fastcgi_params  mime.types  scgi_params   snippets         win-utf

On va donc créer une nouvelle configuration (on peut aussi modifier le site par défaut).

sudo nano /etc/nginx/sites-available/freeboard_io.com

Adaptez cette configuration à vos besoins et collez là dans le fichier. Enregistrez avec Ctrl+X puis O.

server {
      listen 80 default_server;
      listen [::]:80 default_server;

      root /var/www/freeboard_io;
      index index.html index.htm;
      server_name freeboard_io.com www.freeboard_io.com;

      location / {
              try_files $uri $uri/ =404;
      }
}

Activation du site freeboard_io.com

Maintenant, activons le site en créant un lien symbolique dans le dossier sites-enabled

sudo ln -s /etc/nginx/sites-available/freeboard_io.com /etc/nginx/sites-enabled/

Configuration du fichier Hosts

Tout comme pour la configuration Apache, il ne reste plus qu’à faire pointer l’url vers le site. Pour cela, récupérez l’adresse ip de votre PC avec la commande ifconfig puis ouvrez le fichier /etc/hosts

sudo nano /etc/hosts

Remplacez l’adresse IP par celle de votre PC puis sauvegardez avec Ctrl+X puis O.

127.0.0.1       localhost
192.168.2.2     freeboard_io.com

Et voilà, vous pouvez maintenant accéder à freeboard depuis votre navigateur à l’aide de l’adresse http://freeboard_io.com

Commandes utiles pour gérer Nginx

Maintenant que notre serveur fonctionne et que le gestionnaire de tableau de bord freeboard.io est fonctionnel, voici quelques commandes utiles pour gérer Nginx.

Pour arrêter le serveur web

sudo systemctl stop nginx

Pour démarrer  le serveur web lorsqu’il est déjà arrêté.

sudo systemctl start nginx

Pour redémarrer Nginx (cette commande est équivalente à faire stop puis start).

sudo systemctl restart nginx

Pour vérifier la configuration avant de démarrer (ou recharger) le serveur web.

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Recharger les fichiers de configuration après une modification. Nginx est capable de recharger la nouvelle configuration sans couper les connexions existantes.

sudo systemctl reload nginx

Par défaut, Nginx démarrer au démarrage de l’ordinateur (du serveur). On peut désactiver ce comportement avec cette commande.

sudo systemctl disable nginx

Au contraire, pour activer le démarrage d’Nginx au démarrage du serveur, on ferra

sudo systemctl enable nginx

Avez-vous aimé cet article ?