Hogyan készítsünk személyes fejlesztői kiszolgálót egy 5 dolláros Raspberry Pi-n

Ebben a cikkben megtudhatja, hogyan építhet személyes dev szervert a Git, a Node.js, a Rust és a Docker telepítésével egy Raspberry Pi-re. A legolcsóbb megoldás mindössze 5 dollárba kerül. Itt ingyenesen kaphat kezdő készletet (25 USD).

A Raspberry Pi egy nagyon nagy teljesítményű számítógép, apró csomagolásban. A legolcsóbb megoldás, a Raspberry Pi Zero képes teljes körű Linux disztribúció futtatására és nagyfelbontású kijelző vezetésére. Két érme nagysága (amerikai negyed) és 5 dollárba kerül.

10 dollárért a Raspberry Pi Zero W integrált WiFi-vel és Bluetooth-tal rendelkezik.

A „csúcskategóriában” megvásárolhat egy Raspberry Pi 4 asztali készletet kevesebb, mint 100 dollárért. 4 magos, 1,5 GHz-en futó ARM processzorral rendelkezik, GPU, 2 GB (legfeljebb 8 GB) RAM, 16 GB (legfeljebb 2 TB) tárhely a MicroSD kártyákon, wifi és Ethernet csatlakozók, USB portok, HDMI portok 4K kijelzők, valamint billentyűzet és egér.

A Raspberry Pi is több, mint egy szokásos számítógép. Ez szórakoztató és feltörhető. A Raspberry Pi egy sor GPIO (általános célú bemeneti kimenet) csapot tár fel. Csatolhat egyszerű érzékelőket (pl. Hőmérséklet, páratartalom, fény) ezekhez a csapokhoz, és rögzítheti azok adatait a Pi-n futó alkalmazásokból.

Csatlakoztathat LED-es lámpákat és motorokat ezekhez a csapokhoz, és a Pi alkalmazásával meghajthatja ezeket a perifériás eszközöket.

Összetettebb érzékelők vagy eszközök, például kameramodulok esetén USB-n vagy Wifi-n keresztül is csatlakozhat a Pi-hez, és szoftveresen érheti el őket. A Pi nagyszerű eszköz a tanuláshoz és a hardveres hackeléshez. Emiatt széles körben használják oktatási környezetben.

A szórakozás és a tanulás azonban nemcsak a gyerekeknek szól. Ennyi számítási erővel és egyszerű hálózatépítéssel a Raspberry Pi könnyen személyes alkalmazásszerverré válhat az Ön számára.

Például elhelyezhet egy webalkalmazást (például együttműködési jegyzetkészítő alkalmazást, vagy csak néhány megosztandó dokumentumot / videót) a Pi-re, elhozhatja értekezletre, és mindenki számára hozzáférhetővé teheti a teremben. Nem is kell az Internet. Teljesen decentralizált és cenzúra-ellenálló.

A személyes szerver különösen hasznos a fejlesztők számára. Különálló környezettel rendelkezhet a kiszolgálóoldali alkalmazások telepítéséhez és teszteléséhez anélkül, hogy a laptopjával kelletlenséget okozna. A személyes fejlesztői kiszolgáló olyan, mint Docker a szteroidokon. Ebben a cikkben megtanítom, hogyan kell létrehozni egyet.

Először szerezzen be egy Raspberry Pi-t

Ha ez az első Raspberry Pi, akkor a legegyszerűbb (és legdrágább) a telepítés módja, ha vásárol egy asztali készletet körülbelül 100 dollárért. Mindent tartalmaz, ami a számítógéphez szükséges, a kijelző kivételével.

Ha személyes Pi szerverként használja a Pi-t, akkor a kezdeti beállítás után NEM lesz szüksége kijelzőre. Az SSH-t csak be tudja kapcsolni a laptopjáról, miután bekapcsolta!

Megtanulhatja, hogyan szerezheti be ingyen a Raspberry Pi kezdőkészletet, amikor részt vesz ebben a nagy teljesítményű webalkalmazás-tanulási gyakorlatban.

Természetesen, ha vannak tartalék számítógép-alkatrészei, például MicroSD-kártyák, USB-tápegység, billentyűzet és egér, akkor csak a táblák megvásárlásával lehet pénzt megtakarítani. Lehet kapni egy Raspberry Pi Zero táblát 5 dollárért és egy Raspberry Pi 4 táblát 35 dollárért.

De a tábláról hiányzik egy MicroSD kártya, amely az operációs rendszer és az adatok tárolására szolgáló „merevlemez-meghajtóként” működik. Vásárolhat online 16 GB-os MicroSD-kártyát 10 dollárért, MicroSD-kártyaolvasót, és a Raspberry Pi Imager segítségével tölthet be operációs rendszert a MicroSD-kártyára a laptopról.

A két népszerű választás a Raspberry Pi OS és az Ubuntu Linux. Mindkettő Debian-alapú Linux disztribúció. A legtöbb kezdőkészlet előre telepíti a Raspberry Pi OS-t a MicroSD-kártyájára (ezt NOOBS-nak hívják).

A következő két szakaszban mindkét operációs rendszeren keresztül beszélek.

A Raspberry Pi OS telepítése

Miután behelyezte a MicroSD kártyát a NOOBS segítségével, és csatlakoztatott egy kijelzőt, billentyűzetet és egeret, bekapcsolhatja az áramellátást!

Innen csak kövesse a képernyőn megjelenő utasításokat a Raspberry Pi OS (korábban Raspbian OS néven ismert) telepítéséhez. Ezután állítson be egy felhasználói jelszót, és állítsa be a wifi kapcsolatot.

A bejelentkezés után lépjen a Beállítások → Raspberry Pi konfigurációs menübe, és engedélyezze az SSH-t. Ez lehetővé teszi, hogy egy másik számítógépről jelentkezzen be a Pi-be.

Megjegyzés : Annak érdekében, hogy a Pi “fej nélküli” szerverként használhassa, statikus IP-címet kérhet az útválasztótól. A jövőben csak bekapcsolhatja a Pi-t, és SSH-n keresztül csatlakozhat hozzá a többi számítógépéről vagy telefonjáról.

A Raspberry Pi OS a Debian Linux disztribúciójából származik. Jön egy teljes asztali felhasználói felület, modern webböngészővel, parancssori terminállal és olyan tanulási programokkal, mint például a Python, a Java és a Scratch IDE-k.

Céljaink szempontjából leginkább a fejlesztői és szerver szoftverek telepítése a parancssori terminálon keresztül érdekelt.

Ezen a ponton a következő parancs futtatásával megtudhatja a Pi IP-címét is a helyi hálózaton. Ezután SSH-t használhat a Pi-be a helyi IP-cím, a pi felhasználónév és a pi által megadott beállítással.

$ hostname -I 192.168.2.108 172.17.0.1

A Raspberry Pi OS-re telepített szoftvercsomagok teljes listáját itt találja. Mindig célszerű frissíteni és frissíteni a legújabb csomagokra. Futtassa az alábbi parancsot, és legyen türelmes. Ez eltarthat egy óráig.

$ sudo apt update && sudo apt upgrade

Az Ubuntu Server 20.04 beállítása

A Raspberry Pi OS elsődlegesen az asztali élményt szolgálja. Azoknak a fejlesztőknek, akik csak kiszolgálóként vagy IoT eszközként szeretnék használni az eszközt, az Ubuntu Linux sokkal jobb választás. A legújabb szoftvercsomagokkal és könyvtárakkal rendelkezik, és sokkal hatékonyabb lehet az asztali ablakok, webböngésző, Java, játékok és tanulási eszközök nélkül.

Letöltheti az internetről a Raspberry Pi Ubuntu Server képeit, és betöltheti azokat egy MicroSD kártyára. De talán sokkal könnyebb mód a Raspberry Pi Imager használata, a menüből válassza ki az Ubuntu Server 20.04 TLS-t, és írjon egy üres MicroSD-kártyára.

Miután elkészítette a MicroSD kártyát, kövesse ezeket az utasításokat a WiFi hálózat nevének és jelszavának beírásához. Ez lehetővé teszi a Raspberry Pi eszköz csatlakozását a hálózathoz, amint elindul.

Basically, you can just put the MicroSD card into the Raspberry Pi, connect USB power, then wait for it to come online. You can find the raspberrypi device IP from your WiFi router, and then SSH into from any computer on your network.

The initial username and password are ubuntu / ubuntu. There is no need to even connect a monitor or keyboard. That’s it for a completely headless setup!

Note: if, for some reason, your Raspberry Pi cannot connect to WiFi at startup, you can hook up an HDMI display and a USB keyboard to it. Then follow these instructions to debug and set up WiFi on the running system.

Next, let's install the developer tool stack on the Pi.

Install 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

The Docker info command shows that Docker is now installed on an ARM system with 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 ... ...

Next, you can pull a Docker image for the latest Ubuntu distribution, run it, and log into Ubuntu as a command line user.

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

What’s next?

In this article, we have touched on the basics and learned how to turn your Raspberry Pi 4 device into a personal dev server for software developers.

There is much to learn about Git, Node.js, Rust, WebAssembly and Docker. There are also many other developer stacks you can install on the Raspberry Pi.

Grab your free Raspberry Pi kit and let us know what you did with it!

Subscribe to our newsletter and stay in touch.