Articles

Affichage des articles du mai, 2018

Monter un dossier distant par NFS

Image
De quoi s'agit-il ? Supposons qu'un répertoire soit exposé par un serveur NFS distant. Pour que ce répertoire soit exploitable par un ordinateur Linux, il faut que celui-ci soit monté dans le système de fichiers de celui-ci. Dans notre exemple, l'objectif est que les Pi Zero du cluster utilisent tous le même répertoire comme racine des serveurs Apache installés sur chacun d'eux. Il s'agit du répertoire /var/www/pub qui est localisé sur le contrôleur du cluster, à savoir le Raspberry Pi 3.  Prérequis Il faut disposer d'un serveur NFS. Voir l'article intitulé " Partager un dossier par NFS ". Installation du client NFS En principe, dans les distributions des p1 , p2 , p3 et p4 téléchargées sur le site  https://clusterhat.com/setup-software , les composants nécessaires sont déjà installés. Ce paragraphe ne se justifie ici, que si une autre distribution a été utilisée pour les Pi Zero ou pour un partage NFS en dehors du contexte du Clust...

Partager un dossier par NFS

Image
De quoi s'agit-il ? Il s'agit d'exposer un dossier d'un Raspberry Pi sur un réseau pour que celui-ci soit montable dans le système de fichier d'un autre Raspberry Pi. L'intérêt de cette opération est, par exemple, que ce soit les mêmes mêmes fichiers Web qui soient utilisés par plusieurs serveurs Apache installés sur des machines différentes. Dans notre exemple, c'est les dossier /var/html/pub du Raspberry Pi 3 qui sera utilisé comme racine des serveurs Apache installés sur les Pi Zero pour contenir toutes les pages Web. De cette façon, lorsque l'on modifie les page Web d'un site, on ne les range qu'à un seul endroit, cet endroit étant visible et partagé pour tous les Pi Zero. Pour cela, il est nécessaire de transformer le Raspberry PI 3 en serveur NFS (Network File System). Installer NFS Server Pour faire fonctionner NFS, il y a deux composants à installer : nfs-kernel-server et nfs-common . pi@cluster01: $ sudo apt-get install n...

Traitement des formulaires HTML en PHP

Image
Les formulaires HTML permettent de créer des pages web qui collectent des informations à partir d'objets interactifs comme les zone de saisie de texte, les boutons, les listes, etc. Ces données collectées peuvent être exploitées coté serveur par un programme écrit en Perl, en ASP.NET, en Java, ..., et bien sur en PHP. Le propos de cet article est de montrer comment les échanges de données sont gérés entre le formulaire HTML et le script PHP à travers un formulaire permettant de saisir un nom, un prénom et un age. Créer un formulaire HTML  Un formulaire HTML se construit comme n'importe quelle page Web grâce à des balises HTML.  La balise qui définit un formulaire est la balise <form> .  Cette balise possède trois paramètres:  Le paramètre name pour donner un nom au formulaire. Ce nom permet de manipuler le formulaire en javascript qui est un langage de programmation embarqué dans le langage HTML. Le paramètre action pour désigner ce que doit faire...

ClusterHAT - Prendre le contrôle des Pi Zero

Image
Cet article suppose que le ClusterHAT est monté et démarré. Si ce n'est pas le cas, consulter l'article "Installation du ClusterHAT" . Après le premier lancement de la commande clusterhat on, chaque de Pi Zero s'est initialisé comme n'importe quel Raspberry Pi, puisque qu'il s'agit d'une distribution Rasbian Stretch adaptée. Mais, comme pour tout Raspberry Pi, il conviendrait donc de faire une passe avec  raspi-config  sur chacun d'eux. Malheureusement, ceux-ci ne sont pas encore configurés pour y accéder en SSH. Et leur disposition sur le clusterHAT empêche d'une par d'y connecter un écran puisque le connecteur microHDMI se trouve en dessous et d'autre part d'y connecter un clavier, puisque le seul port USB disponible est utilisé pour la connexion du Pi Zero sur le  clusterHAT. Sauf à les démonter, ce qui comporte un risque, car la connectique du clusterHAT, et celle du Pi Zero d'ailleurs, est assez fragile, il va fallo...

Transférer Rasbian sur un disque externe (2ème partie)

Image
Dans un premier article intitulé "Transférer Rasbian sur un disque externe (1ère partie)" , nous avons vu comment créer une partition Linux prête à l'emploi pour le transfert. Le présent article suppose donc qu'un disque dur externe connectable sur le port USB d'un Raspberry Pi et montable sous Rasbian a été préparé selon les procédure décrite dans cet article.  Transférer la partition rootfs d’une carte microSD sur le disque externe. Dans un premier temps, il faut démarrer le Raspberry Pi avec la carte microSD qui va servir de source. Le disque externe cible doit aussi être connecté sur un port USB.   Pour le transfert, nous allons utiliser la commande rsync . Il se peut que celle-ci ne soit pas installée. C’est pourquoi il vaut mieux prendre la précaution de le vérifier : pi@APLRASPI01:~ $ sudo apt-get install rsync Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait rsync i...

Transférer Rasbian sur un disque externe (1ère partie)

Image
Plusieurs raisons possibles pour vouloir transférer Rasbian sur un disque externe : Disposer d'un espace de stockage plus important que ne le permet une carte microSD. C'est à envisager si l'on souhaite utiliser un Raspberry Pi comme ordinateur de bureau. Disposer d'une solution de stockage plus pérenne qu'une carte microSD dont la durée de vie est limitée par le nombre d'écritures que l'on y fait, environ 10000, ce qui est très faible pour une utilisation normale d'un système Linux. Dans le cas où l'opération de création d'un disque dur bootable (voir article intitulé "Utiliser un disque dur externe" ), décrite dans un article précédent, aurait échoué. Le principe consiste à booter sur la carte microSD, mais à utiliser le disque dur comme partition root du système Linux. La carte microSD, uniquement utilisée en lecture au moment du démarrage, et dont les rares opérations d'écriture se limiteront aux modifications nécessair...

Installation du ClusterHAT

Image
Montage mécanique Le montage du ClusterHat, ne pose pas de problème. Le kit fournit le petit câble USB d'alimentation, les vis et les entretoises nécessaires. Il suffit de suivre les indications de la vidéo sur le site (en anglais) : https://clusterhat.com/setup-assembly . Pour avoir un cluster complet, outre le kit ClusterHat, il faut : Un Raspberry Pi 3 (mais ça marche aussi avec les anciennes version). Une alimentation microUSB (il vaut mieux prévoir une alimentation capable de délivre 5V-3A). Quatre Pi Zero (quelque soit la version 1.2, 1.3 ou W). Mais un seul suffit pour tester. Cinq cartes microsUSB. De quoi connecter le Raspberry Pi3 au réseau soit en RJ45, soit en WiFi. Un clavier USB à connecter sur l'un des ports USB du Raspberry Pi. Un écran à connecter sur le port HDMI du Raspberry Pi. Installation logicielle Les logiciels nécessaires peuvent être téléchargés sur le site : https://clusterhat.com/setup-software . Le site propose plusieurs di...

Les commandes du ClusterHAT

Image
Toutes commandes de contrôle du ClusterHAT passent un un programme bash unique : clusterhat . Ce programme doit être lancé en ligne de commande à partir du contrôleur du cluster, à savoir le Raspberry Pi 3. Par exemple pour démarrer le cluster : pi@cluster01:~ $ clusterhat on pi@cluster01:~ $ Commande Description clusterhat on Démarre tous les Raspberry PI Zero l’un après l’autre. clusterhat off Arrête tous les Raspberry PI Zero à la fois. clusterhat on p1 Démarre le Raspberry PI Zero situé sur le port p1. On peut démarrer ainsi tous les PI Zero individuellement. clusterhat on p1 p2 Démarre les Raspberry PI Zero situé sur les ports p1 et p2. On peut démarrer plusieurs PI Zero à la fois. clusterhat off p3 Arrête le Raspberry PI Zero situé sur le port p3. On peut arrêter ainsi tous les PI Zero individuellement. clusterhat off p2 p4 Arrête les Raspberry PI Zero situé sur les ports p2 et p4. On peut arrêter plusieurs PI Zero à la fois. clusterhat alert on Allume la petite ...

Le ClusterHAT

Image
Le ClusterHAT est un petit circuit que l'on connecte sur le port GPIO d'un Raspberry Pi 3. Il répond au cahier des charges HAT (Hardware Attached on Top) du Raspberry Pi. Il fonctionne en mode "Gadget USB" et est alimenté par une dérivation de l'un des connecteurs USB du Raspberry Pi 3. Sur le ClusterHAT peuvent être connectés quatre Pi Zero. Cela fonctionne avec toutes les versions de Pi Zero : 1.2, 1.3 et W. Le Pi Zero est doté de deux ports microUSB, USB et PWR , le dernier étant normalement réserver à l'alimentation électrique. Les Pi Zero sont connectés au ClusterHat et alimentés via le port USB. Les quatre Pi Zero sont contrôlés via le port GPIO du Raspberry Pi 3 en utilisant le protocole I2C. Si le port GPIO du Raspberry 3 est monopolisé par le ClusterHat, l'ensemble Pi3 + ClusterHat + 4 x Pi Zero expose quatre ports GPIO, ceux des Pi Zero qui peuvent être gérés indépendamment. Vu la place, Il vaut mieux prévoir de souder des connecteurs cou...

Utiliser un disque dur externe

Image
Ce chapitre traite de l’utilisation d’un disque dur externe (ou n'importe quelle unité de stockage connectée par le port USB) à la place de la carte microSD. En effet une carte microSD a une durée de vie limitée à un nombre d’écriture, environ 10000, ce qui est relativement faible au regard de l’usage qui en est fait par le Raspberry qui l’utilise comme mémoire de masse du système Linux (Raspbian) qui y est installé. C’est pourquoi, pour un usage intensif pour le développement d’applications où les distributions réalisées seront déployées plusieurs fois sur le système cible, est-il préférable d’utiliser un disque externe. Par ailleurs, les mémoires de masse externes permettent des espaces de stockage beaucoup plus importants, encore que la taille d'une carte microSD soit suffisante pour la plupart des applications du Raspberry. Booter sur un disque dur externe. La manière la plus simple pour installer un disque externe bootable est de recopier dessus une image de Rasb...

Forcer une adresse IP

Image
Forcer l’adresse IP statique du Raspberry Pi en ligne de commande La configuration des adresses IP se fait dans le fichier /ect/dhcpcd.conf . Plusieurs exemples sont commentés dans le fichier. Il suffit donc, soit de supprimer le # du commentaire, soit de recopier et adapter les exemples. apl@APLRASPI01:~ $ sudo nano /etc/dhcpcd.conf apl@APLRASPI01:~ $ Les données à renseigner sont les suivantes : Le service à modifier ( eth0 si le Raspberry Pi est connecté physiquement au routeur grâce à un cable RJ45, wlan0 si le Raspberry Pi est connecté en Wifi). L’adresse IP fixe souhaitée. Elle doit se trouver dans le domaine adressable du routeur et hors de la page allouable dynamiquement, par exemple 192.168.1.122. L’adresse IP du routeur. En général, pour une box, il s’agit de 192.168.1.1. L’adresse IP du server DNS. En général, pour une box, ils’agit de la même adresse que la précédente. # A sample configuration for dhcpcd. # See dhcpcd.conf(5) for details. # Allow users o...

Créer un nouvel utilisateur Raspbian

Image
Cet article explique comment créer un utilisateur en mode ligne de commande sous Rasbian. Il explique également comment accorder à ce nouvel utilisateur les mêmes privilèges que pour l'utilisateur pi . Ce qui permet, notamment à ce nouvel utilisateur d'utiliser la commande sudo pour pouvoir installer de nouveau composants sans forcément se reconnecter avec pi . Créer l'utilisateur apl Pour créer un nouvel utilisateur, par exemple l’utilisateur apl : pi@APLRASPI01:~ $ sudo adduser apl Ajout de l'utilisateur « apl » ... Ajout du nouveau groupe « apl » (1001) ... Ajout du nouvel utilisateur « apl » (1001) avec le groupe « apl » ... Création du répertoire personnel « /home/apl »... Copie des fichiers depuis « /etc/skel »... Entrez le nouveau mot de passe UNIX : ***** Retapez le nouveau mot de passe UNIX : ***** passwd: password updated successfully Changing the user information for apl Enter the new value, or press ENTER for the default Full Name []: An...