Catégorie : Raspberry

Raspberry

Raspberry – Mise en place d’un server web Apache

 

Pré-requis :

  • Raspberry Pi fonctionnel (ici)
  • Un accès au Raspberry (en direct ou via ssh)
  • Avoir du temps devant soit

 

Sommaire :

  1. Préparation du Raspberry
  2. Installation de Apache
  3. Installation de php
  4. Installation de MySQL
  5. Installation de phpmyadmin
  6. Paramétrage pour l’accès extérieur
    1. Redirection de ports
    2. Nom de domaine (achat nécessaire)
    3. Cas d’une ip dynamique

 

 

Ici, vous allez installer un serveur web sur votre Raspberry pour héberger votre propre site internet. Un serveur web est généralement composé d’un serveur qui gère les requêtes « http », un interpréteur php qui permet au serveur d’interpréter du code php (pour les applications côté serveur) et enfin un système de gestion de base de données comme MySQL. Vous pourrez aussi installer phpmyadmin pour gérer vos bases de données de façon graphique via votre navigateur web.

 

 

         Préparation du Raspberry

Pour bien commencer, mettez votre Raspberry à jour avec la commande suivante

sudo apt-get update && sudo apt-get upgrade -y

Une fois à jour passons à l’installation!

 

 

         Installation de Apache

Pour qu’un serveur puisse gérer les requêtes internet, il vous faut un serveur HTTP. Il en existe plusieurs comme Apache ou encore NGINX. Cependant, Apache reste le serveur HTTP le plus populaire et donc robuste.

Passons à son installation ?

sudo apt-get install apache2 -y

Une fois l’installation terminée, vérifiez que tout marche bien, pour cela, dans votre navigateur, tapez l’adresse ip de votre Raspberry, par exemple 10.211.55.11 et vous devriez obtenir le résultat suivant

 

 

 

Apache est maintenant installé, si vous avez un site web développé seulement en HTML vous pouvez placer vos fichiers dans le dossier /var/www/martin_abadie avec la commande suivante

sudo mv VOTRE_FICHIER_HTML /var/www/martin_abadie/

Puis rechargez Apache pour prendre en compte les changements effectués

sudo service apache2 reload

Maintenant, rechargez la page de votre navigateur avec l’URL contenant l’adresse ip de votre Raspberry et vous voyez apparaître votre site internet!

 

 

         Installation de php

Php va permettre d’interpréter du code php pour vos application web côté serveur. Si par la suite vous voulez installer WordPress, vous aurez besoin d’avoir php d’installé.

Pour l’installer, tapez la ligne suivante

sudo apt-get install php5 libapache2-mod-php5 -y

Une fois l’installation terminée, vous allez vérifier que l’installation s’est bien effectuée, pour celà vous allez créer un fichier php dans le dossier des pages web /var/www/martin_abadie

sudo nano index.php

Puis tapez le code php suivant

<?php phpinfo(); ?>

Pour quittez et enregistrer, appuyez sur les touches ctrl + x puis y pour valider (ou o si votre Raspberry est en français).

Ensuite, supprimez le fichier index.html existant

sudo rm /var/www/martin_abadie/index.html

Enfin dans votre navigateur, tapez l’adresse ip de votre Raspberry dans la barre d’adresse et vous devriez obtenir le résultat suivant

Si votre site web comporte du code php vous pouvez alors installer vos fichiers dans le dossier de pages web /var/www/martin_abadie

sudo mv VOTRE_FICHIER_HTML /var/www/martin_abadie/

Puis rechargez Apache pour prendre en compte les changements effectués

sudo service apache2 reload

Puis rechargez la page de votre navigateur et vous pouvez admirer votre site web!

 

 

         Installation de MySQL

De nombreuses applications web comme WordPress ont besoin d’un système de gestion de bases de données ou SGBD. L’un des plus populaire est MySQL, simple et gratuit, c’est lui que vous allez installer. Durant son installation, vous allez devoir définir un mot de passe, notez le bien quelque part, car il vous sera très utile!

Installez donc MySQL

sudo apt-get install mysql-server php5-mysql -y

ATTENTION : On vous demande de définir le mot de passe du superutilisateur de MySQL, marquez-le quelque part, il vous sera demandé à chaque utilisation de MySQL!

 

 

         Installation de phpmyadmin

Ici, vous installerez phpmyadmin qui est une interface web vous permettant de gérer votre base de donnée MySQL via une interface dans votre navigateur web

Pour l’installer, tapez la commande suivante

sudo apt-get install phpmyadmin -y

Lors de l’installation il vous est demandé de sélectionner le serveur web pour exécuter phpmyadmin, pour cela, à l’aide des flèches directionnelles de votre clavier, déplacez vous sur apache2 puis appuyez sur la barre d’espace de votre clavier pour sélectionner apache2, vous voyez alors une étoile apparaître entre les crochets. Maintenant avec la touche tab de votre clavier sélectionnez OK et appuyez sur la touche Entrer

Par la suite on vous demande si le logiciel d’installation doit configurer la base de donnée, sélectionnez Oui puis tapez le mot de passe du superutilisateur de MySQL que vous avec définie lors de l’installation de MySQL.

Puis retapez ce mot de passe, et une fois encore.

Pour tester l’installation, dans votre navigateur, tapez ADRESSE_IP_RASPBERRY/phpmyadmin

On vous demande un nom d’utilisateur et un mot de passe, l’utilisateur est root et le mot de passe est le mot de passe que vous avez définie lors de l’installation de MySQL

Maintenant que tout est installé, vous avez la base nécessaire à la conception de n’importe quel site web digne de ce nom! Il ne reste plus qu’à rendre votre site internet accessible depuis l’extérieur ?

 

 

         Paramétrage pour l’accès extérieur 

Jusqu’à maintenant vous avez installé tout ce qu’il faut pour héberger votre site web, cependant ce site web n’est accessible qu’à partir de votre réseau local, c’est-à-dire qu’une fois hors de chez vous, vous ne pouvez plus accéder à votre site.

Dans cette partie, vous allez donc le rendre accessible depuis n’importe où dans le monde. Pour cela il vous faudra acheter un nom de domaine. Ne vous inquiétez pas, si vous ne voulez pas dépenser d’argent vous ne serez pas obliger d’acheter quoi que ce soit ?, seulement votre site ne pourra pas être référencé par les moteurs de recherche ?

 

                   Redirection de ports

Pour faire simple, le réseau local est le réseau contenant tous les appareils connectés à votre router, plus généralement à votre box internet. Ce réseau local n’est relié à internet que par votre box, vous pouvez la voir comme la porte entre votre réseau local et internet qui a une adresse ip extérieur.

Toutes vos demandes d’accès à un site web passent par cette porte jusqu’au serveur contenant votre site web qui vous renvoie les données nécessaires pour afficher la page web sur votre écran. Ces données partent du serveur puis arrivent devant la porte grâce à son adresse ip extérieure. La porte redirige les données vers l’appareil qui les a demandé grâce à l’adresse ip de l’appareil.

On en déduit alors que les serveurs extérieurs ne connaissent pas l’adresse ip de votre appareil mais seulement celle de votre porte, donc celle de votre box. C’est donc votre box qui fait l’interface entre le monde extérieur et votre ordinateur.

C’est la même chose pour votre site, pour pouvoir aller sur votre site web, il faut connaître l’adresse extérieur du serveur, cette adresse extérieur est celle de votre box, puis il faut indiquer à votre box que lorsqu’elle reçoit une demande d’accès un votre site web, elle doit rediriger cette demande vers votre Raspberry. On appel ça de la redirection de port.

Vous devez donc indiquer que pour les ports 80 et 443 il faut rediriger les requêtes sur l’adresse ip de votre Raspberry, cependant cette manipulation diffère un peut suivant votre box alors voici quelques solutions  mais je vous invite à vous renseigner directement sur internet, vous trouverez rapidement comment faire avec votre box:

  • Pour les abonnés Orange ici
  • Pour les abonnés Bouygues télécom ici
  • Pour les abonnés Numéricâble et SFR fibre ici
  • Pour les abonnés SFR évolution ici
  • Pour les abonnés Free ici

Une fois la redirection de port effectuée, obtenez votre adresse ip extérieur ici, puis tapez votre adresse ip dans votre navigateur et vous devez arriver sur votre site internet. Si ce n’est pas le cas, c’est que votre redirection de port a mal été effectuée.

Cependant, sachez que certaines box ont des ip dites fixes et d’autres box utilisent des ip dites dynamiques. Les box ayant une ip fixe ne changeront jamais d’adresse ip extérieur, celles qui ont une ip dynamiques auront une adresse différente après chaque débranchement et rebranchement de la box. Pour connaître le type de votre ip regardez ici.

Pour ceux qui ne veulent pas investir d’argent peuvent s’arrêter ici, vous pourrez cependant suivre les tutoriels suivant, vous devrez juste remplacer « nom de domaine » par votre ip extérieur ?

 

                   Nom de domaine

Tous les sites internet ont une adresse ip extérieur, cependant vous ne voyez pas leur adresse ip dans la barre de recherche, mais vous voyez plutôt google.fr. Ici google.fr est un nom de domaine, google.com en est un autre. Ces nom de domaines sont liés à leur adresse ip extérieur, comme ça, en tapant leur nom de domaine dans la barre de recherche du navigateur, on accède au site internet hébergé sur le serveur dont l’adresse ip extérieur est liée au nom de domaine.

Il faut savoir que les noms de domaines sont payant et valables 1 an, au bout d’un an, il faudra renouveler le bail en payant de nouveau le nom de domaine. Cependant rien ne vous oblige à renouveler le bail ?

Le prix d’un nom de domaine varie suivant le domaine que vous voulez, c’est-à-dire le .fr ou .com ou .net etc… Le .fr vaut environ 7€/an seulement.

Je vous conseil d’acheter votre nom de domaine chez OVH ici

Une fois votre nom de domaine acquis, suivez ce guide et ajouter une entrée de type A où le champ sous-domaine doit rester vide et dans le champ cible entrez l’adresse ip extérieure de votre box.

 

                   Cas d’une ip dynamique

Si vous avez une adresse dynamique il faut que votre Raspberry indique à OVH que votre adresse ip extérieure à changée, pour cela je vous conseil de suivre ce tutoriel très complet.

 

 

Raspberry

Première mise en service

 

 

          Pré-requis :

  • Raspberry Pi
  • Alimentation (2,5A pour Raspberry Pi 3)
  • 1 carte microSD (min : 4Go Classe 10, recommandée : 16Go Classe 10 U3)
  • 1 clavier USB + 1 souris USB
  • 1 câble ethernet ou 1 dongle Wifi pour les Raspberry antérieurs au Raspberry Pi 3
  • 1 écran + 1 câble HDMI
  • 1 tasse de café 😉

 

          Sommaire :

  1. Préparation carte SD
    1. Windows
    2. Mac
    3. Linux
  2. Branchements
  3. Configuration
    1. Langue
    2. SSH
    3. Mise-à-jour
  4. Les commandes utiles

 

 

          Préparation carte SD :

Pour commencer, téléchargez Raspbian ici, je vous conseille de le télécharger via un client torrent pour que ce soit plus rapide, ne vous inquiétez pas, ce téléchargement est totalement légal (tous les torrent ne sont pas illégaux 😇). Une fois le téléchargement complété, décompressez le fichier reçu.

La préparation de la carte SD diffère selon l’OS sur lequel tourne votre ordinateur personnel, voici les manipulations à suivre pour chacun des OS principaux.

 

                    Sous Windows :

Insérez la carte SD dans votre ordinateur personnel.

Maintenant, téléchargez l’utilitaire Win32DiskImager ici puis décompressez-le. Dans le dossier décompressez lancez le programme Win32DiskImager.exe en tant qu’Administrateur (clic-droit > Exécuter en tant qu’Administrateur).

Une fois lancé, cliquez sur l’icône dossier pour sélectionner le fichier .img que vous avez téléchargé précédemment, vérifiez que le lecteur sélectionné à côté de l’icône soit bien celui de la carte SD. Une fois fait, cliquez sur « write« , le programme va copier l’image de Raspbian sur votre clé. Le temps de chargement risque d’être long, c’est là qu’entre en action votre café 😁

Une fois la copie terminée, éjectez la carte SD et passez à cette étape.

 

                    Sous Mac :

Insérez la carte SD dans votre ordinateur personnel.

Maintenant cliquez sur  > À propos de ce mac > Rapport système… Lecteur de carte et sélectionnez votre carte SD et retenez la valeur de BSD name, par exemple disk2.

Ensuite ouvrez l’utilitaire de disque, sélectionnez votre carte et vérifiez qu’elle est formatée sour le système de fichier MS-DOS (FAT) puis cliquez sur Démonter.

Ouvrez un terminal et entrez la commande suivante qui va cloner l’image de Raspbian que vous avez téléchargé et décompressé précédemment, pensez à mettre votre numéro de disque relevé précédemment dans BSD name:

sudo dd bs=1m if=CHEMIN_DE_VOTRE_IMAGE_RASPBIAN.img of=/dev/diskVOTRE_NUMERO

Le clonage peut être très lent, parfois 15 minutes, le temps de déguster votre café 😁

Une fois la copie terminée, éjectez la carte SD et passez à cette étape.

 

                    Sous Linux :

Dans cette partie nous allons utiliser la commande dd pour cloner notre image Raspbian que vous avez téléchargée et décompressée précédemment. Cependant, si vous vous trompez de partition vous risquez de perdre toutes les informations sur votre disque dur personnel, soyez attentifs au nom des stockages et les numéros de leur partitions. Toute perte de données sera de votre responsabilité. Mais ne vous inquiétez pas, restez attentifs et tout se passera bien 😊

Ouvrez un terminal et entrez la commande suivante qui va lister les éléments de stockages montés actuellement :

df -h

Insérez la carte SD dans votre ordinateur personnel et retapez la commande suivante :

df -h

Le stockage qui s’est rajouté est votre carte SD, retenez le numéro de la partition par exemple /dev/mmcblk0p1 la partition est p1 ou sur /dev/sdd1 la partition est 1. (mmcblk0p1 et sdd1 sont les noms des cartes SD)

Maintenant démontez votre carte SD pour pouvoir y cloner l’image Raspbian. Remplacez sdd1 par le nom de votre carte SD :

umount /dev/sdd1

Si votre carte SD avait plusieurs partitions, vous devez les démonter toutes (par exemple dans la liste  de df vous aviez sdd1 et sdd2, démontez la partition sdd1 puis sdd2).

Une fois les partitions de votre carte SD démontée, clonez votre image Raspbian sur votre carte avec la commande suivante, où NOM_DE_VOTRE_STOCKAGE est celui issue de la liste de df, par exemple mmcblk0 ou sdd, ne pas mettre le numéro de la partition :

sudo dd bs=4M if=CHEMIN_DE_VOTRE_IMAGE_RASPBIAN.img of=/dev/NOM_DE_VOTRE_STOCKAGE

Le clonage peut être assez long, plus de 15 minutes, c’est maintenant que vous devez boire votre café 😁

Une fois la copie terminée, éjectez la carte SD et passez à l’étape suivante.

 

 

          Branchements :

Passons aux branchements, une partie plutôt récréative!

Insérez la carte SD préparée dans le slot au dos du Raspberry Pi

Connectez votre clavier et votre souris ainsi que votre dongle Wifi, si vous en avez un, sur les ports USBs

Connectez votre Raspberry à votre box internet avec le câble RJ45 si vous ne pouvez/voulez pas utiliser le Wifi

Connectez votre Raspberry à votre écran via le câble HDMI et sélectionnez la bonne source sur votre écran

Une fois tous ces branchements effectués, branchez l’alimentation du Raspberry sur le port microUSB du PCB

Magie une framboise s’affiche!

 

 

          Configuration :

Une fois le Raspberry démarré, cliquez sur l’icône sous forme de framboise en haut à gauche de l’écran et cliquez sur Preferences puis sur Raspberry Pi Config.

Là vous allez pouvoir modifier le mot de passe utilisateur, cependant, votre clavier est par défaut en QWERTY, alors changeons d’abord la langue

 

                    Langue :

Cliquez sur l’onglet Localisation puis cliquez sur le bouton en face de Localisation : et sélectionnez votre langue puis votre pays puis UTF-8 enfin validez. Choisissez votre fuseau horaire et enfin votre clavier. Puis validez et redémarrez votre Raspberry Pi s’il ne redémarre pas seul (Cliquez sur l’icône framboise > Shutdown… > Reboot)

Une fois redémarré, retournez dans la configuration du Raspberry et cliquez sur Changer de mot de passe… et entrez votre mot de passe.

ATTENTION : ce mot de passe vous sera demandé à chaque installation de package ou manipulation nécessitant une permission administrateur, retenez-le!

Cependant vous n’êtes pas obligés de personnaliser le mot de passe, auquel cas, le mot de passe par défaut est raspberry

Pour vous connecter au Wifi cliquez sur l’icône du Wifi en haut à droite de l’écran.

Si vous comptez utiliser votre Raspberry comme un ordinateur de bureau, passez directement à cette étape, sinon passez à l’étape suivante

 

                    SSH :

Si vous ne voulez pas utiliser votre Raspberry comme ordinateur de bureau, vous pouvez y accéder à distance via SSH. SSH est un protocole de communication permettant d’ouvrir une session sur un ordinateur et d’y exécuter des processus en utilisant les ressources de l’ordinateur distant. Pour vous, ça vous permettra de piloter votre Raspberry depuis votre ordinateur personnel. Vous aurez besoin de connaître votre adresse IP sur votre réseau local, pour cela, sur votre Raspberry ouvrez un terminal (3e icône en partant de la gauche de la barre de menu) et entrez la commande suivante :

ifconfig

Si vous êtes connectés en wifi, repérez le bloc wan0, si vous êtes connecté en ethernet repérez le bloc eth0 et repérez votre adresse IP locale à la ligne

inet adr:xxx.xxx.xxx.xxx

Où xxx.xxx.xxx.xxx est votre adresse IP locale, par exemple 192.168.0.23

Une fois cette adresse IP récupérée, connectez-vous à votre Raspberry via SSH. La commande SSH est native sur les systèmes UNIX, c’est-à-dire sur les distributions Linux et sur macOS vous n’avez qu’à entrer la commande suivante et taper yes

ssh pi@VOTRE_ADRESSE_IP

Vous êtes maintenant connecté à votre Raspberry et toutes les commandes tapées s’effectueront sur le Raspberry.

Cependant pour les utilisateurs de Windows, à moins que vous ayez une version Anniversary de Windows 10 et que vous ayez activé le noyau Ubuntu, dans ce cas vous pouvez lancer le bash et exécuter la commande précédente, sinon vous devrez installer un client SSH comme putty, vous n’aurez plus qu’à paramétrer la connexion sur le numéro de port 22, l’adresse IP récupérée précédemment, le nom d’utilisateur pi et le mot de passe que vous avez modifié précédemment.

 

                    Mise-à-jour :

Maintenant que tout est bien configuré, il faut mettre à jour tous les packages. Les packages sont les logiciels installés sur le Raspberry.

sudo apt-get update && sudo apt-get upgrade -y

Une fois les mises à jour terminées, vous êtes libres de vous arrêter ici, cependant la prochaine section regroupe quelques lignes de commandes utiles, jetez-y un coup d’œil 😉

 

 

          Les commandes utiles :

Pour finir, voici quelques commandes utiles

  • Éteindre proprement son Raspberry :
sudo shutdown -h now

Une fois la LED jaune éteinte, vous pouvez débrancher l’alimentation. Pour le rallumer, il suffit de rebrancher l’alimentation du Raspberry.

  • Redémarrer proprement son Raspberry :
sudo reboot
  • Mettre à jour le Raspberry :
sudo apt-get update && sudo apt-get upgrade -y

Cette commande met à jour les applications installées

sudo apt-get dist-upgrade -y

Permets de mettre à jour l’OS

  • Installer un package :
sudo apt-get install NOM_DU_PACKAGE

ATTENTION : Bien penser à faire les mises à jour avant d’installer un package.

  • Désinstaller un package :
apt-get remove mon_paquet

Pour désinstaller un package tout en gardant les fichiers de configuration

apt-get --purge remove NOM_DU_PACKAGE

Pour désinstaller un package en supprimant les fichiers de configuration du package

 

 

Raspberry

Le Raspberry Pi

 

Introduction :

Le Raspberry Pi est un « nano-ordinateur » de la taille d’une carte bleu designé autour d’un processeur ARM. Conçu par David Barben et sa fondation Raspberry Pi, cet appareil est destiné à l’apprentissage de la programmation pour les enfants. Cependant, il peut être utilisé comme objet connecté. En effet, sur le nano-ordinateur on retrouve 40 broches GPIO permettant de faire des montages électroniques et les commander via des programmes que vous aurez développés et qui tourneront sur votre système.

 

Systèmes d’exploitation :

Étant donné que c’est un ordinateur, il tourne sur un système d’exploitation (OS), et il y en a une pléthore développés pour. Parmi tous ces OS, on retrouve, entre autres :

  • Windows 10 IoT, (comprendre Internet of Things) qui permet de faire tourner des programmes développés sous environnement Windows pour les objets connectés
  • Ubuntu Mate, (une version d’Ubuntu bureau permettant d’utiliser le Raspberry comme un ordinateur de bureau)
  • Raspbian, une version Debian pour Raspberry. Cette dernière est la version recommandée par la fondation Raspberry car elle embraque tous les programmes pour l’initiation à la programmation
  • OSMC, un système d’exploitation transformant votre Raspberry en média center
  • LIBRELEC, qui est aussi un système d’exploitation transformant votre Raspberry en média center
  • Risc OS, un vieil OS non-Linux, porté pour le processeur du Raspberry.

 

Versions :

Cet appareil est décliné sous différentes versions dont voici les plus récentes,

  • Raspberry Pi A :
    • Processeur : 700MHz avec décodeur H.264 FullHD 1080p
    • RAM : 260Mo
    • Sorties audio-vidéos : HDMI, composite, Jack 3,5mm
    • Connecteurs : 1 USB 2.0, 1 microUSB pour l’alimentation, 40 Broches GPIO
    • Stockage : lecteur de carte mémoire : SDHC / MMC / SDIO
    • Prix  au lancement : 25$
  • Raspberry Pi 0 :
    • Processeur : 1GHz
    • RAM : 512Mo
    • Sorties audio-vidéos : miniHDMI
    • Connecteurs : 1 microUSB data, 1 microUSB pour l’alimentation, 40 Broches GPIO
    • Stockage : lecteur de carte mémoire : microSD
    • Prix  au lancement : 5$
  • Raspberry Pi 3 :
    • Processeur : 1,2GHz, 4cœurs, 64Bits
    • RAM : 1Go
    • Sorties audio-vidéos : HDMI, Jack 3,5mm
    • Connecteurs : 4 USB 2.0, 1 microUSB pour l’alimentation, 40 Broches GPIO
    • Réseau : 1 connecteur ethernet 10/100 Mbit/s, Wifi 802.11n et Bluetooth 4.1
    • Stockage : lecteur de carte mémoire : microSD
    • Prix  au lancement : 35$

 

Matériel :

À l’achat, vous n’aurez que votre Raspberry, pas de carte microSD pour le stockage, pas d’alimentation, pas de boîtier, et bien-sûr pas de clavier, souris et écran.

Il faudra donc vous munir d’au moins :

  • Une carte microSD d’au moins 4Go mais 16Go classe 10 U3 recommandé pour avoir de bonnes performances et éviter les lags
  • Une alimentation microUSB comme pour les téléphones portables (ATTENTION : le Raspberry Pi 3 nécessite une alimentation pouvant délivrer 2,5A, par exemple ici)
  • Un écran et un câble HDMI (votre TV fera l’affaire)
  • Un vieux clavier USB et une souris USB également
  • Un câble ethernet

 

Utilisations :

On peut utiliser le Raspberry de bien des façons, un serveur web afin d’héberger gratuitement votre site web (certification SSL comprise), ou encore faire un cloud personnel gratuit pour héberger vos données, y accéder depuis partout dans le monde ou encore les partager avec des amis façon DropBox. On peut aussi l’utiliser comme un média center qui stockera tout vos films et séries qui seront accessibles sur votre réseau de la maison, smartphones, tablettes, box, ordinateurs, consoles de jeux, etc… ou même y accéder depuis n’importe où dans le monde façon Netflix, mais gratuitement.

Et bonne nouvelles, tout cela est possible à réaliser sois-même sur un seul et même Raspberry à condition d’être motivé. Pour vous aider, une grande communauté est active sur des forums ainsi que de nombreux tutoriels sont disponibles. Je vous proposerai plusieurs tutoriels afin de mettre en place les utilisations listées précédemment.