GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Comment construire un serveur de développement personnel sur un Raspberry Pi à 5 $

Dans cet article, vous apprendrez à créer un serveur de développement personnel en installant Git, Node.js, Rust et Docker sur un Raspberry Pi. L'option la moins chère ne coûte que 5 $. Vous pouvez obtenir un kit de démarrage (25 $) gratuitement ici.

Le Raspberry Pi est un ordinateur très puissant dans un petit boîtier. L'option la moins chère, le Raspberry Pi Zero, est capable d'exécuter une distribution Linux complète et de piloter un écran haute définition. Il a la taille de deux pièces (US Quarters) et coûte 5 $.

À 10 $, le Raspberry Pi Zero W est livré avec WiFi et Bluetooth intégrés.

Au "haut de gamme", vous pouvez acheter un kit de bureau Raspberry Pi 4 pour moins de 100 $. Il dispose d'un processeur ARM à 4 cœurs fonctionnant à 1,5 GHz, d'un GPU, de 2 Go (jusqu'à 8 Go) de RAM, de 16 Go (jusqu'à 2 To) de stockage sur cartes MicroSD, de connecteurs wifi et Ethernet, de ports USB, de ports HDMI pouvant piloter Écrans 4K, ainsi qu'un clavier et une souris.

Le Raspberry Pi est également plus qu'un ordinateur standard. C'est amusant et piratable. Le Raspberry Pi expose une rangée de broches GPIO (General Purpose Input Output). Vous pouvez attacher des capteurs simples (par exemple, température, humidité, lumière) à ces broches et capturer leurs données à partir de vos applications exécutées sur le Pi.

Vous pouvez également attacher des lumières LED et des moteurs à ces broches et utiliser votre application Pi pour piloter ces périphériques.

Pour les capteurs ou appareils plus complexes, tels que les modules de caméra, vous pouvez également vous connecter au Pi via USB ou Wifi, et y accéder dans le logiciel. Le Pi est un excellent appareil pour l'apprentissage et le piratage de matériel. Pour cette raison, il est largement utilisé dans les milieux éducatifs.

Cependant, le plaisir et l'apprentissage ne sont pas réservés aux enfants. Avec autant de puissance de calcul et une mise en réseau facile, le Raspberry Pi peut facilement devenir un serveur d'applications personnel pour vous.

Par exemple, vous pouvez mettre une application Web (par exemple, une application de prise de notes collaborative, ou juste quelques documents/vidéos à partager) sur un Pi, l'amener à une réunion, et la rendre accessible à tout le monde dans la salle. Vous n'avez même pas besoin d'Internet. Il est complètement décentralisé et résistant à la censure.

Le serveur personnel est particulièrement utile pour les développeurs. Vous pouvez disposer d'un environnement séparé pour déployer et tester vos applications côté serveur sans avoir à vous soucier de votre ordinateur portable. Un serveur de développement personnel est comme Docker sous stéroïdes. Dans cet article, je vais vous apprendre à en créer un.

Tout d'abord, procurez-vous un Raspberry Pi

S'il s'agit de votre premier Raspberry Pi, le moyen le plus simple (et le plus cher) de le configurer consiste simplement à acheter un kit de bureau pour environ 100 $. Il est livré avec tout ce dont vous avez besoin pour un ordinateur, à l'exception de l'écran.

Si vous utilisez le Pi comme serveur de développement personnel, vous n'aurez PAS besoin d'un écran après la configuration initiale. Vous pouvez simplement vous connecter en SSH depuis votre ordinateur portable une fois qu'il est allumé !

Découvrez comment obtenir votre kit de démarrage Raspberry Pi gratuitement lorsque vous participez à cet exercice d'apprentissage d'applications Web hautes performances.

Bien sûr, si vous avez des pièces d'ordinateur de rechange, telles que des cartes MicroSD, une alimentation USB, un clavier et une souris, vous pouvez économiser de l'argent en achetant uniquement les cartes. Vous pouvez obtenir une carte Raspberry Pi Zero pour 5 $ et une carte Raspberry Pi 4 pour 35 $.

Mais ce qui manque à la carte, c'est une carte MicroSD qui fait office de "disque dur" pour stocker le système d'exploitation et les données. Vous pouvez acheter une carte MicroSD de 16 Go pour 10 $ en ligne, un lecteur de carte MicroSD et utiliser le Raspberry Pi Imager pour charger un système d'exploitation sur la carte MicroSD à partir de votre ordinateur portable.

Les deux choix populaires sont Raspberry Pi OS et Ubuntu Linux. Les deux sont des distributions Linux basées sur Debian. La plupart des kits de démarrage préinstallent le système d'exploitation Raspberry Pi sur leurs cartes MicroSD (il s'appelle NOOBS).

Dans les deux prochaines sections, je vous parlerai des deux systèmes d'exploitation.

Comment configurer le système d'exploitation Raspberry Pi

Une fois que vous avez inséré la carte MicroSD avec NOOBS et connecté un écran, un clavier et une souris, vous pouvez allumer l'alimentation !

À partir de là, suivez simplement les instructions à l'écran pour installer le système d'exploitation Raspberry Pi (anciennement connu sous le nom de système d'exploitation Raspbian). Configurez ensuite un mot de passe pour l'utilisateur pi et configurez la connexion wifi.

Une fois connecté, accédez au menu Préférences → Configuration du Raspberry Pi et activez SSH. Cela vous permettra de vous connecter au Pi depuis un autre ordinateur.

Remarque :afin d'utiliser le Pi en tant que serveur "headless", vous pouvez demander une adresse IP statique à votre routeur. À l'avenir, vous pourrez simplement allumer le Pi et vous y connecter via SSH à partir de vos autres ordinateurs ou téléphones.

Le système d'exploitation Raspberry Pi est dérivé de la distribution Debian Linux. Il est livré avec un environnement d'interface utilisateur de bureau complet avec un navigateur Web moderne, un terminal de ligne de commande et des programmes d'apprentissage tels que des IDE pour Python, Java et Scratch.

Pour nos besoins, nous sommes principalement intéressés par l'installation de logiciels de développement et de serveur via le terminal de ligne de commande.

À ce stade, vous pouvez également connaître l'adresse IP du Pi sur votre réseau local en exécutant la commande suivante. Ensuite, vous pouvez vous connecter en SSH au Pi en utilisant cette adresse IP locale, le nom d'utilisateur pi et le mot de passe que vous avez donné à pi lors de la configuration.

$ hostname -I
192.168.2.108 172.17.0.1

Vous pouvez trouver une liste complète des packages logiciels installés sur le système d'exploitation Raspberry Pi ici. C'est toujours une bonne idée de mettre à jour et de mettre à niveau vers les derniers packages. Exécutez la commande ci-dessous et soyez patient. Cela peut prendre une heure.

$ sudo apt update && sudo apt upgrade

Comment configurer Ubuntu Server 20.04

Le système d'exploitation Raspberry Pi est principalement orienté vers une expérience de bureau. Pour les développeurs qui souhaitent simplement utiliser l'appareil en tant que serveur ou appareil IoT, Ubuntu Linux est un bien meilleur choix. Il dispose des derniers packages logiciels et bibliothèques, et pourrait être beaucoup plus efficace sans les fenêtres de bureau, le navigateur Web, Java, les jeux et les outils d'apprentissage.

Vous pouvez télécharger des images Ubuntu Server pour Raspberry Pi à partir du Web et les charger sur une carte MicroSD. Mais peut-être qu'un moyen beaucoup plus simple consiste simplement à utiliser le Raspberry Pi Imager, à sélectionner Ubuntu Server 20.04 TLS dans le menu et à écrire sur une carte MicroSD vide.

Une fois la carte MicroSD préparée, vous devez suivre ces instructions pour saisir le nom et le mot de passe de votre réseau WiFi. Cela permet à l'appareil Raspberry Pi de se connecter au réseau dès qu'il démarre.

Fondamentalement, vous pouvez simplement mettre la carte MicroSD dans le Raspberry Pi, connecter l'alimentation USB, puis attendre qu'elle soit en ligne. Vous pouvez trouver le raspberrypi IP de l'appareil depuis votre routeur WiFi, puis SSH depuis n'importe quel ordinateur de votre réseau.

Le nom d'utilisateur et le mot de passe initiaux sont ubuntu / ubuntu . Il n'est même pas nécessaire de connecter un moniteur ou un clavier. C'est tout pour une configuration complètement sans tête !

Remarque :si, pour une raison quelconque, votre Raspberry Pi ne peut pas se connecter au WiFi au démarrage, vous pouvez y brancher un écran HDMI et un clavier USB. Suivez ensuite ces instructions pour déboguer et configurer le Wi-Fi sur le système en cours d'exécution.

Ensuite, installons la pile d'outils de développement sur le Pi.

Installer Git

J'installe toujours Git sur tous mes environnements de développement car beaucoup de logiciels peuvent être récupérés directement depuis les dépôts Git. Cela m'évite d'avoir à télécharger et à copier.

Git me permet également de sauvegarder et de sauvegarder mon propre travail dans des référentiels privés. Pour un petit ordinateur comme Raspberry Pi, je vous recommande de sauvegarder le travail dans Git au cas où vous perdriez l'appareil ou la carte MicroSD.

La commande suivante installe Git :

$ sudo apt install git

Installer Node.js

Pour transformer le Raspberry Pi en un serveur de développement personnel pour les applications Web, vous devez installer un runtime d'application Web moderne.

Pour la plupart des développeurs aujourd'hui, le meilleur point de départ est Node.js, qui vous permet d'écrire des applications côté serveur en JavaScript. Les deux commandes suivantes installent Node.js sur votre Pi.

$ curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
$ sudo apt install nodejs

Vous pouvez vérifier que l'installation est effectuée correctement en exécutant les deux commandes suivantes. Node et npm sont désormais disponibles.

$ node -v
v10.19.0
$ npm -v
5.8.0

À partir de là, vous pouvez utiliser npm pour installer des modules. Par exemple, un module npm couramment utilisé est le framework express pour les applications Web.

$ npm install express

Maintenant, vous pouvez utiliser l'exemple ExpressJS hello world pour créer un serveur Web sur votre Pi et utiliser les navigateurs Web de n'importe quel ordinateur de votre réseau pour accéder à l'application !

Installer Rust

Rust est un langage de programmation à croissance rapide pour écrire à la fois des systèmes et des applications Web. Il est proche du matériel, des performances élevées et de la sécurité de la mémoire. Cela fait de Rust un excellent langage pour écrire des applications sur des appareils à ressources limitées comme le Raspberry Pi.

De plus, Rust est le langage de programmation le plus apprécié des utilisateurs de StackOverflow au cours des 5 dernières années consécutives. Cela vaut bien votre temps pour l'apprendre !

Un cas d'utilisation important de Rust consiste à compiler des fonctions Rust dans WebAssembly et à les exécuter dans des applications Node.js pour atteindre les performances, la sécurité et la portabilité du code. C'est un excellent choix pour exécuter des applications Web à forte intensité de calcul sur un petit appareil Raspberry Pi. En fait, vous pourriez obtenir un kit de démarrage Raspberry Pi gratuit si vous apprenez à le faire.

Remarque :à proprement parler, vous n'avez pas besoin d'installer les outils Rust sur le Pi. Vous n'avez généralement besoin d'exécuter que des programmes Rust dans le Pi. Vous pouvez compiler votre programme Rust sur n'importe quel ordinateur, puis copier les fichiers binaires compilés sur le Pi.

Mais malgré tout, avec le puissant processeur, vous pouvez compiler des programmes Rust sur le Raspberry Pi. Alors pourquoi pas ?

La commande suivante installe la chaîne d'outils du compilateur Rust sur le Pi.

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Exécutez la commande suivante pour configurer le chemin correct sans vous déconnecter et vous reconnecter.

$ source $HOME/.cargo/env

La commande ci-dessus installe également le gestionnaire de packages Rust appelé cargo. La plupart des développeurs Rust utilisent cargo pour construire et partager leur travail.

$ cargo -V
cargo 1.44.1 (88ba85757 2020-06-11)

Ensuite, vous pouvez cloner notre référentiel d'apprentissage Rust et apprendre à partir d'exemples.

$ git clone https://github.com/second-state/wasm-learning.git

Voici l'exemple de hello world. Amusez-vous !

$ cd wasm-learning/rust/hello
$ cargo build
   Compiling hello v0.1.0 (/home/pi/Dev/wasm-learning/rust/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 4.35s
$ target/debug/hello
Hello, world!

Consultez le site Web officiel de Rust et les livres Rust by Example pour plus de ressources d'apprentissage.

Apprendre Docker

Nous avons vu que le système d'exploitation Raspberry Pi et Ubuntu Server sont tous deux des distributions Linux très performantes avec de nombreux packages logiciels.

Mais que se passe-t-il si je veux tester des applications sur d'autres systèmes d'exploitation ? Dois-je nettoyer et réinstaller un système d'exploitation différent sur la carte MicroSD ? La réponse est non. Vous pouvez simplement utiliser Docker ! Les deux commandes suivantes installent docker sur le Raspberry Pi :

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

Exécutez la commande suivante pour pouvoir utiliser Docker en tant qu'utilisateur pi :

$ sudo usermod -aG docker pi

La commande Docker info indique que Docker est maintenant installé sur un système ARM avec Raspberry Pi OS.

$ docker info
... ...
 Kernel Version: 4.19.118-v7l+
 Operating System: Raspbian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: armv7l
 CPUs: 4
 Total Memory: 3.814GiB
 Name: raspberrypi
 ID: XERI:ZVVZ:XQVA:HXSH:KRPI:6GL2:5QRE:E7GZ:Z72Q:6SGF:CEI6:GKTC
 Docker Root Dir: /var/lib/docker
... ...

Ensuite, vous pouvez extraire une image Docker pour la dernière distribution Ubuntu, l'exécuter et vous connecter à Ubuntu en tant qu'utilisateur de ligne de commande.

$ docker pull ubuntu
... ...
$ docker run -it ubuntu bash
root# ... enter commands ...

Docker
  1. Comment créer un serveur de fichiers personnel avec SSH sous Linux

  2. Comment construire un Flatpak

  3. Comment mettre à jour Raspberry Pi

  4. Comment installer le serveur multimédia Serviio sur Raspberry Pi

  5. Comment créer une sauvegarde

Comment installer Jellyfin Media Server sur le serveur/bureau Ubuntu 20.04 LTS

Comment installer Plex Media Server sur le serveur/bureau Ubuntu 20.04 LTS

Comment installer le système d'exploitation Raspbian sur Raspberry Pi

Comment installer Ubuntu Server sur un Raspberry Pi

Comment télécharger un fichier sur le serveur

Comment installer Monica Personal Relationship Management sur Ubuntu