Sådan oprettes en personlig Dev-server på en $ 5 Raspberry Pi

I denne artikel lærer du, hvordan du bygger en personlig dev-server ved at installere Git, Node.js, Rust og Docker på en Raspberry Pi. Den billigste løsning koster kun $ 5. Du kan få et startpakke ($ 25) gratis her.

Raspberry Pi er en meget kraftig computer i en lille pakke. Den billigste løsning, Raspberry Pi Zero, er i stand til at køre en fuldt udstyret Linux-distribution og køre en high definition-skærm. Det er på størrelse med to mønter (amerikanske kvartaler) og koster $ 5.

For $ 10 kommer Raspberry Pi Zero W med integreret WiFi og Bluetooth.

I den "høje ende" kan du købe et Raspberry Pi 4 desktop-sæt til mindre end $ 100. Den har en 4-core ARM CPU, der kører ved 1,5 GHz, GPU, 2 GB (op til 8 GB) RAM, 16 GB (op til 2 TB) lagerplads på MicroSD-kort, wifi og Ethernet-stik, USB-porte, HDMI-porte, der kan køre 4K-skærme samt et tastatur og en mus.

Raspberry Pi er også mere end en standardcomputer. Det er sjovt og hackbart. Raspberry Pi afslører en række GPIO-stifter (General Purpose Input Output). Du kan vedhæfte enkle sensorer (f.eks. Temperatur, fugtighed, lys) til disse ben og fange deres data fra dine applikationer, der kører på Pi.

Du kan også vedhæfte LED-lys og motorer til disse ben og bruge din Pi-applikation til at køre disse perifere enheder.

For mere komplekse sensorer eller enheder, såsom kameramoduler, kan du også oprette forbindelse til Pi via USB eller Wifi og få adgang til dem i software. Pi er en fantastisk enhed til læring og hardwarehacking. På grund af dette er det meget brugt i uddannelsesmæssige omgivelser.

Dog er sjov og læring ikke kun for børn. Med så meget computerkraft og let netværk kan Raspberry Pi nemt blive en personlig applikationsserver til dig.

For eksempel kan du placere en webapplikation (for eksempel en samarbejdsnotatoptagende app eller bare nogle dokumenter / videoer, der skal deles) på en Pi, bringe den til et møde og gøre den tilgængelig for alle i rummet. Du har ikke engang brug for Internettet. Det er helt decentraliseret og censurbestandigt.

Den personlige server er især nyttig for udviklere. Du kan have et separat miljø til at implementere og teste applikationer på serversiden uden at skulle rode med din bærbare computer. En personlig dev-server er som Docker på steroider. I denne artikel vil jeg lære dig, hvordan du opretter en.

Få først en Raspberry Pi

Hvis dette er din første Raspberry Pi, er den nemmeste (og dyreste) måde at opsætte på bare at købe et desktop-sæt til omkring $ 100. Den leveres med alt hvad du har brug for til en computer undtagen displayet.

Hvis du bruger Pi som en personlig dev-server, har du IKKE brug for et display efter den første opsætning. Du kan bare SSH ind i den fra din bærbare computer, når den er tændt!

Lær, hvordan du får dit Raspberry Pi-startsæt gratis, når du deltager i denne højtydende læringsøvelse til webapplikationer.

Selvfølgelig, hvis du har reservedele til computere, såsom MicroSD-kort, USB-strømforsyning, et tastatur og en mus, der ligger rundt, kan du spare penge ved kun at købe brædderne. Du kan få et Raspberry Pi Zero-kort til $ 5 og et Raspberry Pi 4-kort til $ 35.

Men det, der mangler på kortet, er et MicroSD-kort, der fungerer som "harddisken" til lagring af operativsystemet og data. Du kan købe et 16 GB MicroSD-kort til $ 10 online, en MicroSD-kortlæser og bruge Raspberry Pi Imager til at indlæse et operativsystem på MicroSD-kortet fra din bærbare computer.

De to populære valg er Raspberry Pi OS og Ubuntu Linux. Begge er Debian-baserede Linux-distributioner. De fleste startsæt forudinstallerer Raspberry Pi OS på deres MicroSD-kort (det kaldes NOOBS).

I de næste to sektioner vil jeg tale dig gennem begge operativsystemer.

Sådan opsættes Raspberry Pi OS

Når du har sat MicroSD-kortet i med NOOBS og tilsluttet et display, et tastatur og en mus, kan du tænde for strømmen!

Derefter skal du blot følge instruktionerne på skærmen for at installere Raspberry Pi OS (tidligere kendt som Raspbian OS). Konfigurer derefter en adgangskode til brugerens pi, og opsæt wifi-forbindelsen.

Når du er logget ind, skal du gå til menuen Indstillinger → Raspberry Pi Configuration og aktivere SSH. Det giver dig mulighed for at logge ind på Pi fra en anden computer.

Bemærk : For at kunne bruge Pi som en "headless" server, kan du anmode om en statisk IP-adresse fra din router. I fremtiden kan du bare tænde for Pi og oprette forbindelse til den via SSH fra dine andre computere eller telefoner.

Raspberry Pi OS stammer fra Debian Linux-distributionen. Den leveres med et fuldt skrivebordets UI-miljø med en moderne webbrowser, en kommandolinjeterminal og læringsprogrammer såsom IDE'er til Python, Java og Scratch.

Til vores formål er vi mest interesserede i at installere dev- og serversoftware via kommandolinjeterminalen.

På dette tidspunkt kan du også finde ud af IP-adressen på Pi på dit lokale netværk ved at køre følgende kommando. Derefter kan du SSH ind i Pi ved hjælp af den lokale IP-adresse, brugernavn pi og den adgangskode, du gav pi under opsætningen.

$ hostname -I 192.168.2.108 172.17.0.1

Du kan finde en komplet liste over softwarepakker, der er installeret på Raspberry Pi OS her. Det er altid en god ide at opdatere og opgradere til de nyeste pakker. Kør kommandoen nedenfor og vær tålmodig. Det kan tage en time.

$ sudo apt update && sudo apt upgrade

Sådan opsættes Ubuntu Server 20.04

Raspberry Pi OS er primært rettet mod en desktopoplevelse. For udviklere, der bare vil bruge enheden som en server eller IoT-enhed, er Ubuntu Linux et meget bedre valg. Den har de nyeste softwarepakker og biblioteker og kan være langt mere effektiv uden desktop-windows, webbrowser, Java, spil og læringsværktøjer.

Du kan downloade Ubuntu Server-billeder til Raspberry Pi fra internettet og indlæse det på et MicroSD-kort. Men måske er en meget lettere måde bare at bruge Raspberry Pi Imager, vælge Ubuntu Server 20.04 TLS fra menuen og skrive til et tomt MicroSD-kort.

Når MicroSD-kortet er klargjort, skal du følge disse instruktioner for at indsætte dit WiFi-netværksnavn og din adgangskode. Dette gør det muligt for Raspberry Pi-enheden at oprette forbindelse til netværket, så snart det starter op.

Dybest set kan du bare sætte MicroSD-kortet i Raspberry Pi, tilslutte USB-strøm og derefter vente på, at det kommer online. Du kan finde raspberrypienhedens IP fra din WiFi-router og derefter SSH ind fra enhver computer på dit netværk.

Det oprindelige brugernavn og adgangskode er ubuntu / ubuntu. Det er ikke nødvendigt at tilslutte en skærm eller et tastatur. Det er det til en helt hovedløs opsætning!

Bemærk : hvis din Raspberry Pi af en eller anden grund ikke kan oprette forbindelse til WiFi ved opstart, kan du tilslutte en HDMI-skærm og et USB-tastatur til den. Følg derefter disse instruktioner for at debugge og konfigurere WiFi på det kørende system.

Lad os derefter installere stacken til udviklerværktøjet på Pi.

Installer Git

I always install Git on all my development environments because a lot of software can be directly retrieved from Git repositories. It saves me the trouble of downloading and copying.

Git also allows me to save and backup my own work in private repositories. For a small computer like Raspberry Pi, I would recommend that you save work in Git in case you lose the device or MicroSD card.

The following command installs Git:

$ sudo apt install git

Install Node.js

To turn the Raspberry Pi into a personal dev server for web applications, you need to install a modern web application runtime.

For most developers today, the best starting point is Node.js, which allows you to write server-side applications in JavaScript. The following two commands install Node.js on your Pi.

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

You can verify the installation is done correctly by running the following two commands. Both node and npm are now available.

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

From here, you can use npm to install modules. For example, a commonly used npm module is the express framework for web applications.

$ npm install express

Now, you can go through the ExpressJS hello world example to create a web server on your Pi, and use web browsers from any computer on your network to access the application!

Install Rust

Rust is a fast growing programming language for writing both systems and web applications. It is close to the hardware, high performance, and memory safe. That makes Rust a great language for writing applications on resource constrained devices like the Raspberry Pi.

Also, Rust is the most beloved programming language by StackOverflow users for the past 5 years in a row. It is well worth your time to learn it!

An important use case of Rust is to compile Rust functions into WebAssembly and run them inside Node.js applications to achieve performance, safety, and code portability. It is a great choice for running computationally intensive web applications on a small Raspberry Pi device. In fact, you could get a free Raspberry Pi starter kit if you learn how to do that.

Note: strictly speaking, you do not need to install Rust tools on the Pi. You typically only need to run Rust programs in the Pi. You can compile your Rust program on any computer and then copy the compiled binaries to the Pi.

But still, with the powerful CPU, you can compile Rust programs on the Raspberry Pi. So why not?

The following command installs the Rust compiler toolchain on the Pi.

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

Run the following command to set up the correct path without logging out and back in again.

$ source $HOME/.cargo/env

The above command also installs the Rust package manager called cargo. Most Rust developers use cargo to build and share their work.

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

Next, you can clone our Rust learning repository, and learn from examples.

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

Here is the hello world example. Have fun!

$ 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!

Check out the official Rust web site and the Rust by Example books for more learning resources.

Learn Docker

We have seen that the Raspberry Pi OS and Ubuntu Server are both very capable Linux distributions with lots of software packages.

But what if I want to test applications on other OSes? Do I need to wipe clean and reinstall a different OS on the MicroSD card? The answer is no. You can just use Docker! The following two commands install docker on the Raspberry Pi:

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

Run the following command so that you can use Docker as the pi user:

$ sudo usermod -aG docker pi

Docker info-kommandoen viser, at Docker nu er installeret på et ARM-system med 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 ... ...

Dernæst kan du trække et Docker-billede til den nyeste Ubuntu-distribution, køre det og logge på Ubuntu som kommandolinjebruger.

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

Hvad er det næste?

I denne artikel har vi berørt det grundlæggende og lært, hvordan du omdanner din Raspberry Pi 4-enhed til en personlig dev-server til softwareudviklere.

Der er meget at lære om Git, Node.js, Rust, WebAssembly og Docker. Der er også mange andre udviklerstakke, du kan installere på Raspberry Pi.

Tag dit gratis Raspberry Pi-sæt, og lad os vide, hvad du gjorde med det!

Abonner på vores nyhedsbrev og hold kontakten.