Achives de la catégorie ‘Raspbian’

9 Mar
2016

Raspberry PI – Raspbian et reverse proxy Nginx

Bonjour,

Si comme moi, vous commencez à avoir pas mal de services dispatché sur quelques serveurs et que vous en avez marre de router des ports vers ces différents services, voici la solution : le reverse proxy.

Je vais donc vous présenter comment installer et configurer Nginx en tant que reverse proxy.

Ce tuto est orienté Raspberry et Raspbian mais il fonctionnera également pour toutes les distributions à base de Debian (Ubuntu et consorts). Pour les autres distributions, vous n’aurez pas de mal à trouver comment installer Nginx (Par ex yum install nginx pour tous les système à base de RedHat/CentOs …)

Sans compter de l’avantage indéniable de ne plus router pleins de ports « non standard » pour accéder à tous vos services, vous augmenterez la sécurité :

-Non seulement vos différents services ne seront plus en frontaux sur le web

-Mais en plus si l’un de vos services ne supporte pas le SSL, votre reverse proxy lui supporte très bien le SSL et peut meme rediriger automatiquement toutes les requêtes http en https.

Le tunnel ssl ne sera pas du client vers le service mais du client vers le reverse proxy, la connexion entre le reverse proxy et le service qui ne gère pas le ssl sera en http.

Nous avons donc deux types de liaisons :

|client|<==HTTPS==>|REVERSE_PROXY|<==HTTPS==>|serveur|
|client|<==HTTPS==>|REVERSE_PROXY|<==HTTP==>|serveur|

Voici un shémas représentant un client voulant accéder au service01http.

Il ouvre donc son navigateur et tape : http://service01http.mondomaine.com

Mais une redirection s’effectue par le reverse proxy et dans son navigateur apparait l’adresse : https://service01http.mondomaine.com

Shemas Reverse Proxy NGINX

Passons maintenant au vif du sujet.

 

Installation de Nginx :

Ouvrez

apt-get install nginx

Génération d’un certificat SSL autosigné (ceci va permettre de ne pas avoir de connexion en clair,cela évite de pouvoir récupérer les identifiants/password en clair sur votre réseau) :

sudo openssl genrsa -out /etc/nginx/nginx.key 2048
sudo openssl req -new -key nginx.key -out /etc/nginx/nginx.csr
sudo openssl x509 -req -days 3650 -in /etc/nginx/nginx.csr -signkey /etc/nginx/nginx.key -out /etc/nginx/nginx.crt

 

Les hôtes virtuels :

Imaginons que nous avons 4 services web sur 3 serveurs :

-Serveur_01 : Service_01_HTTP

-Serveur_02 : Service_02_HTTPS

-Serveur_03 : Service_03_HTTP + Service_04_HTTPS

Nous allons donc créer 4 entrées DNS sur notre nom de domaine :

service01http.mondomaine.com

service02https.mondomaine.com

service03http.mondomaine.com

service04https.mondomaine.com

Imaginons maintenant que pour le service02https nous voulons y accéder par deux adresses différentes :

service02https.mondomaine.com
service02httpsbis.mondomaine.com

Le but est donc d’accéder à ces 4 services en HTTPS (peu importe que le service supporte ou non le SSL)

 

Configuration des hosts :

Nous allons donc commencer par configurer Nginx :

sudo nano /etc/nginx/sites-available/reverse

Collez ensuite ceci :

# Certificats SSL
ssl_certificate /etc/nginx/nginx.crt;
ssl_certificate_key /etc/nginx/nginx.key;

server {
        # Redirection des requetes en HTTP vers HTTPS
        # Port en entree
        listen 80;
        # Redirection vers
        return 301 https://$host$request_uri;
}

server {
        # service01http
        listen 443;
        # J'active SSL
        ssl on;

        server_name service01http.mondomaine.com; # entree DNS
        location / { # pour le dossier racine (/), on active le mode proxy vers l'adresse spécifiée, sur le port spécifié
                proxy_pass http://192.168.1.2:80/;
        }
}

server {
        # service02https et service02httpsbis
        listen 443;
        ssl on;

        # On peut spécifier 2 noms de domaine différents qui auront le même comportement
        server_name service02https.mondomaine.com;
        server_name service02httpsbis.mondomaine.com;
        location / {
                proxy_pass https://192.168.1.3:443/;
        }
}

server {
        # service03http
        listen 443;
        # J'active SSL
        ssl on;

        server_name service03http.mondomaine.com; # entree DNS
        location / { # pour le dossier racine (/), on active le mode proxy vers l'adresse spécifiée, sur le port spécifié
                proxy_pass http://192.168.1.4:80/;
        }
}

server {
        # service04https
        listen 443;
        # J'active SSL
        ssl on;

        server_name service04https.mondomaine.com; # entree DNS
        location / { # pour le dossier racine (/), on active le mode proxy vers l'adresse spécifiée, sur le port spécifié
                proxy_pass https://192.168.1.4:443/;
        }
}

 

Maintenant un petit restart et votre reverse proxy est maintenant en ligne !

sudo /etc/init.d/nginx restart

 

Petit ajout, si Nginx n’arrive pas a redémarrer, c’est peut être à cause de la longueur de votre entrée DNS (server_name)

Pour y remédier faites :

sudo nano /etc/nginx/nginx.conf

Puis cherchez la ligne :

         #server_names_hash_bucket_size 64;

Décommentez là en enlevant le # :

         server_names_hash_bucket_size 64;

Et vous pouvez maintenant redémarrer Nginx :

sudo /etc/init.d/nginx restart

 

 

 

Si vous avez des soucis ou des questions, n’hésitez pas les commentaires sont fait pour ça :)

 

4 Mar
2016

Raspberry Pi – Raspbian, comment faire une rotation de votre sortie vidéo

Bonjour à tous,

Dans la suite de mon tuto permettant de lancer un navigateur en mode plein écran, je vais vous montrer comment effectuer une rotation de votre écran, dans mon cas, mon écran était positionné à 270° par rapport à la position absolu.

Raspberry rotation ecran

Pour ce faire, nous allons donc éditer le fichier :

sudo nano /boot/config.txt

Puis à la fin du fichier, ajoutez la ligne :

display_rotate=3

Si vous avez positionner votre écran autrement :

display_rotate=0        #Normal
display_rotate=1        #90 degres
display_rotate=2        #180 degres
display_rotate=3        #270 degres

Si vous voulez faire un flip horizontal ou vertical (effect miroir) :

display_rotate=0x10000  horizontal flip
display_rotate=0x20000  vertical flip

 

Bon courage à vous

 

 

4 Mar
2016

Raspberry Pi – Raspbian et midori ou firefox – ouverture automatique d’un navigateur en mode plein écran

Bonjour à tous,

Aujourd’hui je vais vous présenter une façon simple de démarrer votre raspberry pi en lançant automatiquement un navigateur (Dans notre cas Midori ou Firefox) en full screen (Souvent appelé le mode Kiosk).

Dashboard

Ce tuto à été fait avec Raspbian Jessie (Avant Raspbian pixel).

Ouvrez un terminal sur votre raspberry (En local ou via ssh).

Lançons ensuite au choix l’installation du navigateur (a vous de choisir votre navigateur préféré)

Pour Midori :

sudo apt-get install midori

Ou Chrome :

sudo aptitude install chromium-l10n chromium-browser

Ou Iceweasel :

sudo aptitude install iceweasel

Ou Firefox (Pour les derniers Raspbian à base de pixel) :

sudo aptitude install xdotool firefox-esr

Puis nous allons éditer le fichier :

sudo nano ~/.config/lxsession/LXDE-pi/autostart

Ajoutez les lignes suivante à la fin du fichier :

@xset s off
@xset -dpms
@xset s noblank

/home/pi/KIOSK.sh #Le script qui lancera votre navigateur

Créer un script (Nommons le KIOSK.sh) et placez le ou vous voulez (par ex /home/pi/)

sudo nano /home/pi/KIOSK.sh

Puis ajouter la ligne permettant de lancer votre navigateur avec une page spécifique

Pour Midori :

midori -e Fullscreen -a http://google.fr

Pour Chrome :

chromium --noerrdialogs --kiosk http://google.fr

Pour Iceweasel (Avant pixel) : (Attention depuis Raspbian Kiosk, Le mode Fullscreen ne fonctionne plus, de plus Iceweasel à été renommé par Firefox-esr)

iceweasel -url "http://google.fr" --display=:0 -fullscreen

Pour Iceweasel (Après pixel) : (Attention n’oubliez pas d’installer xdotool spécifié plus haut)

iceweasel -url "http://google.fr" --display=:0 -fullscreen

 

Un autre exemple pour ouvrir une nouvelle page avec plusieurs onglets :

Pour Iceweasel :

iceweasel --display=:0 -fullscreen -new-tab -url "http:/google.fr/" -new-tab -url "https//www.jjtronics.com"

 

 

N’hésitez pas si vous avez des soucis ou une autre façon de faire ;)

2 Fév
2016

Raspberry PI – Contrôlez votre bureau graphique (le meme que la sortie HDMI)

Bonjour à tous,

 

Aujourd’hui je vais vous expliquer comment prendre le contrôle à distance du bureau de votre Raspbian sans ouvrir une nouvelle session graphique : Ceux qui ont testé des tutoriels avec Tightvnc par ex savent de quoi je parle.

En général, la plupart des tutoriels permettant de prendre le contrôle à distance du bureau ouvrent une nouvelle session graphique …

Vous vous retrouvez avec votre bureau mais si vous ouvrez un document, vous allez vous rendre compte que ce n’est pas le meme bureau que celui affiché sur la sortie HDMI du Raspberry.

Dans notre cas, nous voulons controler la meme interface graphique que celle présente sur la sortie HDMI du Raspberry : Nous allons utiliser le bon vieux x11vnc.

 

Commençons par l’installer :

sudo apt-get install x11vnc

Nous allons ensuite définir un mot de passe de connexion à la session VNC :

 

x11vnc -storepasswd

Puis pour nous simplifier la vie (Flemme spotted), nous allons le paramétrer pour qu’il se lance automatiquement au démarrage de la session graphique en créant un fichier de configuration d’autostart :

cd .config
mkdir autostart
cd autostart
nano x11vnc.desktop

Dans le fichier x11vnc.desktop, collez les lignes suivantes :

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false

Enregistrez et quittez l’éditeur nano(Ctrl-X, Y, <Enter>)

Puis redémarrez votre raspberry

sudo reboot

Lancez votre client vnc préféré (Par exemple realvnc)

Tapez l’adresse de votre raspberry suivis de : et du numéro de port (par défaut 5900) ex : 192.168.1.254:5900

Et vous pouvez lancer la connexion !

 

Si vous avez des soucis / des questions, n’hésitez pas ;)

 

JJ

2 Fév
2016

Raspberry – Désactiver la veille de l’écran sous raspbian

Bonjour,

 

Aujourd’hui un petit tuto simple pour désactiver le screensaver de l’écran sous Raspbian.

Si vous avez fait quelques recherches, vous etes surement tombé sur la solution qui consiste à éditer le fichier :

/etc/kbd/config

Pour ensuite mettre les champs BLANK_TIME et POWERDOWN_TIME à 0 :

# screen blanking timeout. monitor remains on, but the screen is cleared to
# range: 0-60 min (0==never) kernels I've looked at default to 10 minutes.
# (see linux/drivers/char/console.c)
BLANK_TIME=0 (Défaut 30)

# Powerdown time. The console will go to DPMS Off mode POWERDOWN_TIME
# minutes _after_ blanking. (POWERDOWN_TIME + BLANK_TIME after the last input)
POWERDOWN_TIME=0 (Défaut 30)

Si cette solution ne fonctionne pas, vous pouvez installer le packet  :

sudo apt-get install xfce4-power-manager

Ensuite, cliquez sur MENU / Préférences / Gestionnaire d’alimentation.

Ici vous pouvez désactiver la veille de l’écran et du raspberry.

Et voilà, maintenant faites attention à la rémanence des écran ;)

 

Si vous avez des questions, les commentaires sont fait pour ça !

 

JJ

 

Raspberry Pi 2 ou 3 et Raspbian Jessie - VLC 2.4 et accélération matériel (hardware acceleration)

Raspberry Pi 2 ou 3 et Raspbian Jessie – VLC 2.4 et accélération matériel (hardware acceleration)

Aujourd’hui je vais à nouveau publier une mise à jour de l’article : Raspberry Pi 2 – VLC et accélération matériel (hardware [&hellip

Raspberry Pi 2 ou 3 et Raspbian Jessie - VLC 2.2 et accélération matériel (hardware acceleration)

Raspberry Pi 2 ou 3 et Raspbian Jessie – VLC 2.2 et accélération matériel (hardware acceleration)

UPDATE : Raspberry Pi 2 ou 3 et Raspbian Pixel – VLC 2.4 et accélération matériel (hardware acceleration) Aujourd’hui je vais [&hellip

Compilation de la derniere version de FFMPEG

Compilation de la derniere version de FFMPEG

Bonjour à tous, Aujourd’hui un petit tuto pour avoir la dernière version de ffmpeg, ce tutoriel à été utilisé maintes [&hellip

Raspberry Pi 2 - VLC et accélération matériel (hardware acceleration)

Raspberry Pi 2 – VLC et accélération matériel (hardware acceleration)

UPDATE : Raspberry Pi 3 et Raspbian Pixel – VLC 2.4 et accélération matériel (hardware acceleration) Ayant un petit projet de [&hellip

FFMPEG - Diffuser un flux ip multicast en adaptative smooth streaming

FFMPEG – Diffuser un flux ip multicast en adaptative smooth streaming

Un petit script bien utile pour délivrer un flux video multicast en adaptative smooth streaming

Installation de Transform Manager

Installation de Transform Manager

Prérequis – résumé : Télécharger Transform Manager Télécharger IIS Media Services 4.1 Télécharger IIS Managment console Télécharger .NET Framework 3.5 [&hellip

Suivez moi !

Follow Me! Follow Me! Follow Me! Follow Me!

Chercher