=======Apprendre à configurer et à utiliser le Raspberry Pi======= Toutes les étapes contiennent des liens sous forme de guides vidéo et d'images qui expliquent comment réaliser cette étape. Pendant cette tâche, vous aurez besoin d'un Raspberry Pi, d'une carte micro-SD, d'un PC Windows ainsi que d'un écran avec connexion HDMI, d'un câble MiniHDMI-HDMI, d'un chargeur USB C, de deux claviers, de deux souris et d'un écran normal. Tous ces ustensiles doivent être disponibles sur votre lieu de travail ou vous être remis par un formateur responsable. Vous trouverez des informations sur le Raspberry Pi et son système d'exploitation à l'adresse suivante : https://www.raspberrypi.com/documentation/ respectivement https://www.raspberrypi.com/software/ si la carte sd possède déjà le RaspiOS -> réinitialiser si vide -> réinitialiser ===== Etape 1 : Préparer le Raspberry Pi boot ===== Pour configurer le Raspberry Pi, vous avez besoin d'une carte SD ainsi que d'un lecteur de carte SD pour l'installation de l'image. La vidéo suivante montre comment lire le fichier ISO (Raspberry Pi OS (64 Bit)) sur la carte SD à l'aide du Raspberry Pi Imager : {{youtube>ntaXWS8Lk34}} Insérez maintenant la carte SD dans le slot pour carte SD situé sur le Raspberry Pi. ===== Étape 2 : Démarrage du Raspberry Pi et première configuration ===== Maintenant que vous avez équipé le Raspberry Pi d'une carte SD amorçable, connectez la souris et le clavier à l'appareil en utilisant pour chacun un port USB A non utilisé. Ensuite, connectez le câble Ethernet au RaspberryPi et au commutateur posé sur la table. Ensuite, à l'aide du câble MiniHDMI-HDMI, connectez le Raspberry Pi et l'écran. Veillez à ce que l'écran soit connecté au Storm et allumé. Une fois que vous avez connecté tout le matériel au module principal, vous pouvez brancher le chargeur USB C sur le Raspberry Pi et éventuellement basculer l'interrupteur à bascule du câble. Vous devriez maintenant voir le Raspberry Pi démarrer sur l'écran. Si ce n'est pas le cas, vérifiez le connecteur HDMI. Si cela ne résout pas le problème, vérifiez la fiche d'alimentation du côté de la prise et du côté du Raspberry Pi. Ces procédures devraient permettre de résoudre les sources d'erreur les plus courantes. Si le problème persiste, débranchez l'alimentation du Raspberry Pi et retirez la carte SD. Répétez ensuite la procédure décrite à l'étape 1 pour écrire une nouvelle image sur la carte SD. Si le problème n'est toujours pas résolu, contactez votre formateur. Maintenant que le Raspberry Pi démarre, vous devez attendre un moment, après quoi une fenêtre devrait s'ouvrir. Sélectionnez ici votre "Country" (Switzerland), votre "Language" (Swiss High German) et votre "Timezone" (Zurich9) et confirmez votre saisie. Saisissez ensuite votre "username" (sysadmin) et votre "password" (mot de passe1) et confirmez votre saisie. Sous "Set Up Screen", sélectionnez "Reduce the Size of the desktop on this monitor" et confirmez votre saisie. Ignorez la configuration du réseau WiFI et confirmez sur l'écran suivant que vous souhaitez mettre à jour le logiciel. Ensuite, redémarrez le Raspberry Pi en sélectionnant "Restart". ===== Étape 3 : Mises à jour et centrale de contrôle ===== Maintenant que vous avez installé le Raspberry Pi, vous pouvez encore une fois mettre à jour vos programmes. Vous ouvrez la console et vous y tapez : sudo apt-get update Avec cette commande, vous vérifiez si vos paquets de données ont besoin d'une mise à jour. Si la réponse est oui, vous pouvez utiliser la commande sudo apt-get upgrade pour installer les paquets correspondants. ==== Attribuer une adresse IP fixe ==== Nous donnons à notre Pi une adresse IP fixe. Pour ce faire, nous affichons les paramètres réseau en cliquant avec le bouton gauche sur les flèches opposées en haut à droite de l'écran et en choisissant ''Advanced Options/Edit Connections''. Dans la fenêtre suivante, double-cliquez sur la ''Wired connection 1''. Passez ensuite à l'onglet ''IPv4 Settings''Sélectionnez la méthode ''Manuellement'' et saisissez les informations suivantes :\\ IPv4 Adress: 172.16.51.2 Netmask: 255.255.255.0 Gateway: 172.16.51.1 DNS Server: 8.8.4.4, 172.16.51.2, 8.8.8.8 Ensuite, nous confirmons et redémarrons l'appareil. ==== Bureau à distance ==== Ceci est très important, car les Raspis sont souvent installés sans souris ni clavier et ne sont entretenus ou configurés que par SSH ou Remote Desktop.\\ Prenons par exemple une caméra de surveillance installée à l'avant d'un bâtiment. Il serait assez frappant qu'un écran, une souris et un clavier y soient également installés.\\ === Avec une interface graphique === == Installer un serveur Rdesktop sur le RasbpberryPi == Étape 1\\ Nous installons xrdp à l'aide du gestionnaire de paquets APT. Il s'agit d'une implémentation libre du protocole de bureau à distance pour Linux.\\ sudo apt-get install xrdp\\ == Créer un utilisateur de bureau à distance == Sur le Raspberry Pi :\\ Créer un nouvel utilisateur rdp : \\ sudo useradd -m -s /bin/bash -g users -G sudo crt\\ sudo passwd crt \\ (set password)\\ == Utiliser le client Remote Desktop sur un PC Windows == Utilisez le programme Remotedesktop de Windows pour vous connecter au RaspberryPi :\\ {{de:ausbildung:remotedesktop.png?400|}}\\ {{ausbildung:rem_ohne_grafische_oberflaeche_nun_oeffnen_wir_den_raspberry_pi_configurator_unter_einstellungen_im_startmenue_waehlen_schnittstellen_und_aktivieren_den_punkt_ssh_und_klicken_dann_auf_ok._so_koennen_wir_nun_via_konsole_auf_unseren_raspi_zugreifen_und_damit_arbeiten._auf_einem_windows-computer_nutzen_sie_das_programm_putty:ausbildung:putty.png?400|}}\\ === Ou vous pouvez aussi utiliser ssh :=== ssh 172.16.51.2 -l crt ===== Installation du serveur DHCP ===== Pour installer le serveur DHCP, il faut choisir le paquet suivant à partir de Natty :\\ \\ sudo apt-get install isc-dhcp-server\\ \\ Une fois le paquet installé, nous devons encore adapter quelques fichiers et bien sûr planifier notre serveur DHCP.\\ Dans cet exemple, nous utilisons l'éditeur nano. Si celui-ci n'est pas encore installé, nous pouvons le faire avec la commande sudo apt-get install nano pour le faire.\\ Les fonctions de l'éditeur nano nécessaires pour ce guide sont les suivantes :// - "CTRL" + "O", suivi de "Enter" pour enregistrer les modifications effectuées dans un fichier.// - "CTRL" + "X" pour quitter l'éditeur// Vous pouvez également trouver une feuille de calcul sous le lien suivant "https://www.nano-editor.org/dist/latest/cheatsheet.html"// Configuration\\ Exemple de configuration\\ - Le serveur DHCP Rogue doit être activé n'autorise aucun autre serveur DHCP sur le réseau\\ - Le serveur dessert le réseau 172.16.51.0\\ - Les clients se voient attribuer des adresses IP entre 172.16.51.21 et 172.16.51.99\\ - La transition (passerelle ou routeur) vers un autre réseau a l'adresse IP 172.16.51.1\\ - Le serveur de noms a l'adresse IP 172.16.51.2 (ne sera intégré que lors de la configuration DNS) et 8.8.8.8\\ - Le serveur reçoit l'IP fixe 172.16.51.2\\ - Le masque de réseau est 255.255.255.0\\ - La diffusion est 172.16.51.255\\ - Le nom de domaine est "raspi.home".\\ - Le Lease Time est réglé sur 10 minutes \\ - Le Lease Time maximum est fixé à 2 heures\\ - L'interface Eth0 est définie comme standard\\ - La même adresse IP est toujours attribuée à un client donné sur la base de son adresse matérielle (MAC).\\ ==== Configuration du serveur DHCP ==== Nous ouvrons le fichier /etc/default/isc-dhcp-server\\ sudo nano /etc/default/isc-dhcp-server\\ \\ Et modifier l'entrée comme suit :\\ # Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server) # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf). #DHCPDv4_CONF=/etc/dhcp/dhcpd.conf #DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf # Path to dhcpd's PID file (default: /var/run/dhcpd.pid). #DHCPDv4_PID=/var/run/dhcpd.pid #DHCPDv6_PID=/var/run/dhcpd6.pid # Additional options to start dhcpd with. # Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead #OPTIONS="" # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACESv4="eth0" INTERFACESv6="" \\ \\ Nous copions le fichier dhcpd.conf.\\ \\ sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd2.conf\\ \\ Nous ouvrons le fichier dhcpd.conf dans le répertoire /etc/dhcp\\ \\ sudo nano /etc/dhcp/dhcpd.conf\\ \\ Nous supprimons tout le contenu du fichier et insérons ensuite les lignes suivantes :\\ \\ subnet 172.16.51.0 netmask 255.255.255.0 { range 172.16.51.21 172.16.51.99; interface eth0; option domain-name-servers 172.16.51.2, 8.8.8.8; option domain-name "rafisa.home"; option routers 172.16.51.1; option broadcast-address 172.16.51.255; default-lease-time 600; max-lease-time 7200;} \\ Une fois la configuration terminée, nous pouvons démarrer et arrêter le serveur ou demander son état à l'aide des commandes suivantes.\\ \\ sudo /etc/init.d/isc-dhcp-server start\\ \\ sudo /etc/init.d/isc-dhcp-server stop\\ \\ sudo /etc/init.d/isc-dhcp-server status\\ ===== Installation du serveur DNS ===== ==== Installation ==== Tout d'abord, BIND (actuellement dans sa version 9) doit être installé via le système de gestion de paquets APT en utilisant la commande de terminal suivante.\\ \\ sudo apt-get install bind9 bind9utils dnsutils\\ \\ Une fois l'installation terminée, nous pouvons déjà tester le serveur DNS. Avec la commande\\ \\ dig @127.0.0.1 www.google.de\\ \\ devrait faire apparaître une sortie similaire à celle ci-dessous.\\ \\ ; <<>> DiG 9.16.22-Debian <<>> @127.0.0.1 www.google.de\\ ; (1 serveur trouvé)\\ ; ; options globales : +cmd\\ ; ; Got answer :\\ ; ; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 59482\\ ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\\ \\ ;; OPT PSEUDOSECTION:\\ ; EDNS: version: 0, flags:; udp: 1232\\ ; COOKIE: e31452e9a2ec22550100000062161feaf2121d8249561dd2 (good)\\ ;; QUESTION SECTION:\\ ;www.google.de. IN A\\ \\ ;; Query time: 404 msec\\ ;; SERVER: 127.0.0.1#53(127.0.0.1)\\ ;; WHEN: Wed Feb 23 11:52:10 GMT 2022\\ ;; MSG SIZE rcvd: 70\\ \\ Beispiel-Konfiguration\\ \\ Kommen wir nur zur eigentlichen Einrichtung von eigenen Zonen und der Konfiguration von BIND welches sich in der Datei /etc/bind/named.conf.local befindet.\\ \\ Für ein einfaches Beispiel gehen wir von folgender lokalen Netzwerk-Topologie aus.\\ \\ • Raspberry: 172.16.51.2\\ • Netzwerk: 172.16.51.0/24\\ • Subnetzmaske: 255.255.255.0\\ • Broadcast-Adresse: 172.16.51.255\\ • Gateways/Router: 172.16.51.1\\ • Interner Server: 172.16.51.5\\ • Raspberry (DNS-Server): 172.16.51.2 8.8.8.8\\ • Hostname: raspi\\ • DNS-Zone: raspi.home\\ Forward- und Reverse-Lookup Zonen anlegen\\ Domains die wir im DNS-Server konfigurieren wollen, werden eigene Zonen angelegt. \\ Für jede Domain sollte es normalerweise zwei Zonen-Dateien geben. Jeweils eine Zonen-Datei für den Forward- und den Reverse-Lookup.\\ \\ Zuerst muss in der Datei „/etc/bind/named.conf.local“ die Konfiguration für diese beiden Dateien unserer Beispiel-Zone „raspi.home“ eingetragen werden. \\ Um die Datei zu bearbeiten, muss diese in einem Editor (z. B. „nano“) geöffnet werden.\\ \\ Natürlich machen wir zuerst ein Backup der Datei.\\ \\ sudo cp /etc/bind/named.conf.local /etc/bind/named2.conf.local\\ \\ Ensuite, nous ouvrons le fichier et y inscrivons notre configuration.\\ \\ sudo nano /etc/bind/named.conf.local\\ \\ Nous inscrivons la configuration suivante\\ // ----------------------- Zones ----------------------- // Forward-Lookup zone "raspi.home" { type master; file "/etc/bind/zones/raspi.home"; }; // Reverse-Lookup zone "51.16.172.in-addr.arpa" { type master; file "/etc/bind/zones/db.51.16.172.inv"; }; // ----------------------- Zones ----------------------- \\ Ici, seules les zones pour BIND sont d'abord annoncées. La configuration proprement dite de la structure logique est ensuite inscrite dans les fichiers indiqués sous "file".\\ \\ Pour une meilleure vue d'ensemble, nous allons créer un propre dossier "zones" et y enregistrer les fichiers.\\ \\ sudo mkdir /etc/bind/zones\\ \\ Le fichier "raspi.home.zone" ne doit pas être créé et peut être ouvert directement avec la commande suivante.\\ \\ sudo nano /etc/bind/zones/raspi.home\\ \\ Le contenu suivant doit être saisi et enregistré dans le fichier.\\ \\ ;; BIND forward data file for zone raspi.home ;; $TTL 86400 ; time-to-live - 24 hours could have been written as 24h or 1d @ IN SOA ns1.raspi.home. mail.raspi.home. ( 2015061201 ; Serial - (NOTE: Needs to increment every time you restart BIND) 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Default TTL IN NS ns1.raspi.home. ; nameserver IN A 172.16.51.2 ; loop-back address ns1 IN A 172.16.51.2 raspi.home. IN A 172.16.51.2 server IN TXT "Interner Server" www IN CNAME raspi.home. \\ \\ Recherche inversée\\ Pour la recherche inverse, un autre fichier de zone "db.20.168.192.inv" est créé.\\ sudo nano /etc/bind/zones/db.51.16.172.inv\\ \\ Et remplis les données suivantes\\ \\ ;; BIND reverse data file for zone db. 51.16.172.inv ;; $TTL 86400 ; time-to-live - 24 hours could have been written as 24h or 1d @ IN SOA ns1.raspi.home. mail.raspi.home. ( 2015061101 ; Serial - (NOTE: Needs to increment every time you restart BIND) 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Default TTL IN NS ns1.raspi.home. ; nameserver 2 IN PTR ns1.raspi.home. ; #1 172.16.51.2 10 IN PTR server.raspi.home. ; #2 172.16.51.2 \\ Démarrer le serveur\\ \\ sudo service bind9 restart\\ \\ ou\\ \\ sudo service bind9 stop\\ sudo service bind9 start\\ \\ Nous pouvons maintenant voir l'état du serveur avec la commande. Si tout va bien, aucune ligne rouge ne doit apparaître.\\ \\ sudo service bind9 status\\ \\ Si quelque chose s'est mal passé, il est recommandé de consulter les messages dans le fichier journal "/var/log/syslog".\\ Tester le serveur DNS par des requêtes DNS\\ \\ Saisir la commande suivante dans le prompt CMD :\\ \\ nslookup\\ Serveur par défaut : ns1.raspi.home\\ Adresse : 172.16.51.2\\ \\ Le premier serveur DNS du système est maintenant affiché. Saisir ensuite l'adresse IP dans l'invite et confirmer avec Enter :\\ \\ {{ausbildung:dns_1.jpg?400|}}\\ Le nom doit être résolu correctement. \\ ===== Installation du serveur d'impression ===== ==== Installation ==== Pour installer le serveur d'impression CUPS, nous tapons la commande suivante dans la console, si nous n'avons pas déjà fait ce choix au début :\\ sudo apt-get install cups cups-client cups-bsd \\ \\ De plus, nous avons maintenant besoin du compte root, afin de pouvoir ensuite accéder à Cups via le Webgui.\\ Dans le terminal, nous tapons la commande suivante :\\ Utilisateur root\\ PWD Mot de passe1\\ Cups a besoin de quelques paquets supplémentaires, comme par exemple des pilotes pour les imprimantes et d'autres choses encore, ce qui explique pourquoi l'installation prendra un certain temps.\\ Une fois Cups installé, l'accès à l'interface web ne fonctionne que sur l'hôte local. Nous devons éditer cette configuration dans le fichier cupsd.conf.\\ Tout d'abord, nous copions le fichier dans la zone de sécurité.\\ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd2.conf\\ Ensuite, nous éditons le fichier.\\ sudo nano /etc/cups/cupsd.conf\\ Les paramètres suivants sont inscrits tout en bas du fichier :\\ # Only listen for connections from the local machine.\\ Listen Port 631\\ Listen 172.16.51.2:631\\ Listen /var/run/cups/cups.sock\\ Ensuite, nous exécutons encore les deux commandes suivantes afin de pouvoir configurer une imprimante.\\ sudo cupsctl --remote-any\\ sudo /etc/init.d/cups restart\\ Une fois l'installation effectuée, nous pouvons immédiatement ouvrir notre navigateur web et entrer l'adresse suivante :\\ pour le PC local :\\ http://localhost:631/admin\\ ou pour un autre PC :\\ http://172.16.51.2:631/admin\\ L'interface suivante apparaît.\\ {{ausbildung:cups_1.jpg?400|}}\\ Pour pouvoir installer une imprimante, nous avons besoin des informations suivantes :\\ L'adresse IP (172.16.51.150 dans notre cas et la désignation exacte de l'appareil dans notre cas un Brother-HL-5270DN. Sous Linux comme sous Windows, le système d'exploitation a besoin d'un fichier pilote pour que l'imprimante puisse être adressée. \\ Nous trouvons la plupart des pilotes sur le site https://www.openprinting.org/drivers ou directement chez le fabricant. Sous Linux, les pilotes s'appellent ppd.\\ Sous ce lien, nous trouvons le pilote pour notre imprimante.\\ https://www.openprinting.org/printer/Brother/Brother-HL-5270DN .\\ Enregistrez le fichier ppd sur votre Raspi.\\ \\ Allez maintenant dans la grille Administration sur la page d'accueil de CUPS et sélectionnez le bouton Ajouter une imprimante.\\ {{ausbildung:cups_2.jpg?400|}}\\ L'image suivante apparaît.\\ {{ausbildung:cups_3.jpg?400|}}\\ Nous sélectionnons ici le protocole hôte ou imprimante LPD/LPR et confirmons en cliquant sur suivant.\\ Nous indiquons maintenant l'adresse IP de notre imprimante avec le préfixe socket://172.16.51.150 et confirmer avec suivant.\\ {{ausbildung:cups_4.jpg?400|}}\\ L'écran suivant apparaît et nous pouvons maintenant saisir les données telles que l'emplacement, l'appareil, etc. Comme il s'agit d'un serveur, nous libérons l'imprimante dans le réseau et activons également la gestion des couleurs.\\ Confirmez en cliquant sur suivant.\\ {{ausbildung:cups_5.jpg?400|}}\\ Le menu suivant s'affiche.\\ {{ausbildung:cups_6.jpg?400|}}\\ S'il s'agit d'une ancienne imprimante, il se peut qu'elle soit déjà installée sur le système et que nous la trouvions dans le menu. Notre imprimante n'est malheureusement pas encore installée, c'est pourquoi nous cliquons sur le bouton "Choisir un fichier" et indiquons notre fichier PPD.\\ {{ausbildung:cups_7.jpg?400|}}\\ Ensuite, nous sélectionnons le bouton "Ajouter une imprimante".\\ Ensuite, une fenêtre apparaît dans laquelle nous pouvons régler toutes les options de l'imprimante.\\ {{ausbildung:cups_8.jpg?400|}}\\ Nous laissons la plupart des paramètres tels quels. Ce n'est que sous la grille "General" que nous réglons le point suivant et confirmons en cliquant sur le bouton "Définir les paramètres par défaut".\\ {{ausbildung:cups_9.jpg?400|}}\\ Nous passons maintenant à la grille "Imprimante" où nous trouvons notre nouvelle imprimante.\\ \{{ausbildung:cups_10.jpg?400|}}\ Si nous cliquons sur le champ de sélection "Maintenance", nous pouvons choisir dans le menu l'option "Imprimer une page de test" et notre première page s'imprime. \\