GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Membangun Server Dev Pribadi di Pi Raspberry $5

Pada artikel ini, Anda akan mempelajari cara membangun server dev pribadi dengan menginstal Git, Node.js, Rust, dan Docker pada Raspberry Pi. Opsi termurah hanya berharga $5. Anda bisa mendapatkan starter kit ($25) gratis di sini.

Raspberry Pi adalah komputer yang sangat kuat dalam paket kecil. Opsi termurah, Raspberry Pi Zero, mampu menjalankan distribusi Linux berfitur lengkap dan menjalankan tampilan definisi tinggi. Ini adalah ukuran dua koin (Perempat AS) dan biaya $5.

Dengan harga $10, Raspberry Pi Zero W hadir dengan WiFi dan Bluetooth terintegrasi.

Di "kelas atas", Anda dapat membeli kit desktop Raspberry Pi 4 dengan harga kurang dari $100. Ini memiliki CPU ARM 4-core yang berjalan pada 1,5GHz, GPU, RAM 2GB (hingga 8 GB), penyimpanan 16GB (hingga 2TB) pada kartu MicroSD, konektor wifi dan Ethernet, port USB, port HDMI yang dapat mengemudi Layar 4K, serta keyboard dan mouse.

Raspberry Pi juga lebih dari komputer standar. Ini menyenangkan dan dapat diretas. Raspberry Pi memperlihatkan deretan pin GPIO (General Purpose Input Output). Anda dapat memasang sensor sederhana (misalnya suhu, kelembaban, cahaya) ke pin tersebut, dan menangkap datanya dari aplikasi Anda yang berjalan di Pi.

Anda juga dapat memasang lampu LED dan motor ke pin tersebut, dan menggunakan aplikasi Pi Anda untuk menggerakkan perangkat periferal tersebut.

Untuk sensor atau perangkat yang lebih kompleks, seperti modul kamera, Anda juga dapat terhubung ke Pi melalui USB atau Wifi, dan mengaksesnya dalam perangkat lunak. Pi adalah perangkat yang bagus untuk pembelajaran dan peretasan perangkat keras. Karena itu, ini banyak digunakan di lingkungan pendidikan.

Namun, kesenangan dan pembelajaran tidak hanya untuk anak-anak. Dengan begitu banyak daya komputasi dan jaringan yang mudah, Raspberry Pi dapat dengan mudah menjadi server aplikasi pribadi untuk Anda.

Misalnya, Anda dapat meletakkan aplikasi web (misalnya, aplikasi pencatat kolaboratif, atau hanya beberapa dokumen / video untuk dibagikan) di Pi, membawanya ke rapat, dan membuatnya dapat diakses oleh semua orang di dalam ruangan. Anda bahkan tidak membutuhkan Internet. Ini sepenuhnya terdesentralisasi dan tahan sensor.

Server pribadi sangat berguna untuk pengembang. Anda dapat memiliki lingkungan terpisah untuk menerapkan dan menguji aplikasi sisi server Anda tanpa harus mengacaukan laptop Anda. Server dev pribadi seperti Docker pada steroid. Dalam artikel ini, saya akan mengajari Anda cara menyiapkannya.

Pertama, dapatkan Raspberry Pi

Jika ini adalah Raspberry Pi pertama Anda, cara termudah (dan paling mahal) untuk menyiapkannya adalah dengan membeli kit desktop seharga sekitar $100. Muncul dengan semua yang Anda butuhkan untuk komputer kecuali layar.

Jika Anda menggunakan Pi sebagai server dev pribadi, Anda TIDAK memerlukan tampilan setelah pengaturan awal. Anda cukup memasukkan SSH ke dalamnya dari laptop Anda setelah dihidupkan!

Pelajari cara mendapatkan starter kit Raspberry Pi secara gratis saat Anda berpartisipasi dalam latihan pembelajaran aplikasi web berkinerja tinggi ini.

Tentu saja, jika Anda memiliki suku cadang komputer, seperti kartu MicroSD, catu daya USB, keyboard, dan mouse, Anda dapat menghemat uang dengan hanya membeli papannya. Anda bisa mendapatkan papan Raspberry Pi Zero seharga $5 dan papan Raspberry Pi 4 seharga $35.

Tetapi hal yang hilang dari papan adalah kartu MicroSD yang bertindak sebagai "hard drive" untuk menyimpan sistem operasi dan data. Anda dapat membeli kartu MicroSD 16GB seharga $10 online, pembaca kartu MicroSD, dan menggunakan Raspberry Pi Imager untuk memuat sistem operasi ke kartu MicroSD dari laptop Anda.

Dua pilihan populer adalah Raspberry Pi OS dan Ubuntu Linux. Keduanya merupakan distro Linux berbasis Debian. Sebagian besar starter kit sudah menginstal Raspberry Pi OS pada kartu MicroSD mereka (disebut NOOBS).

Di dua bagian berikutnya, saya akan membahas kedua sistem operasi tersebut.

Cara menyiapkan OS Raspberry Pi

Setelah Anda memasukkan kartu MicroSD dengan NOOBS, dan menghubungkan layar, keyboard, dan mouse, Anda dapat menghidupkan daya!

Dari sana, cukup ikuti petunjuk di layar untuk menginstal Raspberry Pi OS (sebelumnya dikenal sebagai Raspbian OS). Kemudian siapkan kata sandi untuk pengguna pi, dan siapkan koneksi wifi.

Setelah Anda login, buka menu Preferences → Raspberry Pi Configuration dan aktifkan SSH. Itu akan memungkinkan Anda untuk masuk ke Pi dari komputer lain.

Catatan :untuk menggunakan Pi sebagai server "tanpa kepala", Anda dapat meminta alamat IP statis dari router Anda. Di masa mendatang, Anda cukup menyalakan Pi, dan menyambungkannya melalui SSH dari komputer atau ponsel Anda yang lain.

Raspberry Pi OS berasal dari distribusi Linux Debian. Muncul dengan lingkungan UI desktop lengkap dengan browser web modern, terminal baris perintah, dan program pembelajaran seperti IDE untuk Python, Java, dan Scratch.

Untuk tujuan kami, kami sebagian besar tertarik untuk menginstal perangkat lunak dev dan server melalui terminal baris perintah.

Pada titik ini, Anda juga dapat mengetahui alamat IP Pi di jaringan lokal Anda dengan menjalankan perintah berikut. Kemudian Anda dapat SSH ke dalam Pi menggunakan alamat IP lokal, nama pengguna pi, dan kata sandi yang Anda berikan pada pi selama penyiapan.

$ hostname -I
192.168.2.108 172.17.0.1

Anda dapat menemukan daftar lengkap paket perangkat lunak yang diinstal pada Raspberry Pi OS di sini. Itu selalu merupakan ide yang baik untuk memperbarui dan meningkatkan ke paket terbaru. Jalankan perintah di bawah ini dan bersabarlah. Bisa memakan waktu satu jam.

$ sudo apt update && sudo apt upgrade

Cara menyiapkan Server Ubuntu 20.04

Raspberry Pi OS terutama ditujukan untuk pengalaman desktop. Untuk pengembang yang hanya ingin menggunakan perangkat sebagai server atau perangkat IoT, Ubuntu Linux adalah pilihan yang jauh lebih baik. Ini memiliki paket perangkat lunak dan perpustakaan terbaru, dan bisa jauh lebih efisien tanpa jendela desktop, browser web, Java, game, dan alat pembelajaran.

Anda dapat mengunduh gambar Server Ubuntu untuk Raspberry Pi dari web, dan memuatnya di kartu MicroSD. Tapi mungkin cara yang lebih mudah adalah dengan menggunakan Raspberry Pi Imager, pilih Ubuntu Server 20.04 TLS dari menu, dan tulis ke kartu MicroSD kosong.

Setelah kartu MicroSD disiapkan, Anda harus mengikuti petunjuk ini untuk memasukkan nama dan kata sandi jaringan WiFi Anda. Ini memungkinkan perangkat Raspberry Pi terhubung ke jaringan segera setelah boot.

Pada dasarnya, Anda cukup memasukkan kartu MicroSD ke dalam Raspberry Pi, sambungkan daya USB, lalu tunggu sampai online. Anda dapat menemukan raspberrypi perangkat IP dari router WiFi Anda, dan kemudian SSH ke dari komputer manapun di jaringan Anda.

Nama pengguna dan kata sandi awal adalah ubuntu / ubuntu . Bahkan tidak perlu menghubungkan monitor atau keyboard. Itu saja untuk pengaturan yang benar-benar tanpa kepala!

Catatan :jika, karena alasan tertentu, Raspberry Pi Anda tidak dapat terhubung ke WiFi saat startup, Anda dapat menghubungkan layar HDMI dan keyboard USB ke sana. Kemudian ikuti petunjuk ini untuk men-debug dan menyiapkan WiFi di sistem yang sedang berjalan.

Selanjutnya, mari kita instal tumpukan alat pengembang di Pi.

Instal Git

Saya selalu menginstal Git di semua lingkungan pengembangan saya karena banyak perangkat lunak dapat diambil langsung dari repositori Git. Ini menyelamatkan saya dari kesulitan mengunduh dan menyalin.

Git juga memungkinkan saya untuk menyimpan dan mencadangkan pekerjaan saya sendiri di repositori pribadi. Untuk komputer kecil seperti Raspberry Pi, saya sarankan Anda menyimpan pekerjaan di Git jika Anda kehilangan perangkat atau kartu MicroSD.

Perintah berikut menginstal Git:

$ sudo apt install git

Instal Node.js

Untuk mengubah Raspberry Pi menjadi server dev pribadi untuk aplikasi web, Anda perlu menginstal runtime aplikasi web modern.

Untuk sebagian besar pengembang saat ini, titik awal terbaik adalah Node.js, yang memungkinkan Anda menulis aplikasi sisi server dalam JavaScript. Dua perintah berikut menginstal Node.js di Pi Anda.

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

Anda dapat memverifikasi penginstalan dilakukan dengan benar dengan menjalankan dua perintah berikut. Baik node dan npm sekarang tersedia.

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

Dari sini, Anda dapat menggunakan npm untuk menginstal modul. Misalnya, modul npm yang umum digunakan adalah kerangka kerja ekspres untuk aplikasi web.

$ npm install express

Sekarang, Anda dapat melalui contoh hello world ExpressJS untuk membuat server web di Pi Anda, dan menggunakan browser web dari komputer mana pun di jaringan Anda untuk mengakses aplikasi!

Instal Karat

Rust adalah bahasa pemrograman yang berkembang pesat untuk menulis sistem dan aplikasi web. Dekat dengan perangkat keras, kinerja tinggi, dan memori yang aman. Itu menjadikan Rust bahasa yang bagus untuk menulis aplikasi pada perangkat dengan sumber daya terbatas seperti Raspberry Pi.

Selain itu, Rust adalah bahasa pemrograman yang paling disukai oleh pengguna StackOverflow selama 5 tahun terakhir berturut-turut. Sangat berharga waktu Anda untuk mempelajarinya!

Kasus penggunaan Rust yang penting adalah mengkompilasi fungsi Rust ke dalam WebAssembly dan menjalankannya di dalam aplikasi Node.js untuk mencapai kinerja, keamanan, dan portabilitas kode. Ini adalah pilihan tepat untuk menjalankan aplikasi web intensif komputasi pada perangkat Raspberry Pi kecil. Bahkan, Anda bisa mendapatkan starter kit Raspberry Pi gratis jika Anda mempelajari caranya.

Catatan:sebenarnya, Anda tidak perlu menginstal alat Rust di Pi. Anda biasanya hanya perlu menjalankan program Rust di Pi. Anda dapat mengkompilasi program Rust Anda di komputer mana pun dan kemudian menyalin binari yang dikompilasi ke Pi.

Tapi tetap saja, dengan CPU yang kuat, Anda dapat mengkompilasi program Rust di Raspberry Pi. Jadi mengapa tidak?

Perintah berikut menginstal toolchain kompilator Rust pada Pi.

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

Jalankan perintah berikut untuk menyiapkan jalur yang benar tanpa logout dan login kembali.

$ source $HOME/.cargo/env

Perintah di atas juga menginstal pengelola paket Rust yang disebut cargo. Sebagian besar pengembang Rust menggunakan kargo untuk membangun dan membagikan pekerjaan mereka.

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

Selanjutnya, Anda dapat mengkloning repositori pembelajaran Rust kami, dan belajar dari contoh.

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

Berikut adalah contoh halo dunia. Selamat bersenang-senang!

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

Kunjungi situs web resmi Rust dan buku Rust by Example untuk sumber belajar lainnya.

Pelajari Docker

Kita telah melihat bahwa Raspberry Pi OS dan Ubuntu Server keduanya merupakan distribusi Linux yang sangat mumpuni dengan banyak paket perangkat lunak.

Tetapi bagaimana jika saya ingin menguji aplikasi di OS lain? Apakah saya perlu menghapus dan menginstal ulang OS yang berbeda pada kartu MicroSD? Jawabannya adalah tidak. Anda bisa menggunakan Docker! Dua perintah berikut menginstal buruh pelabuhan di Raspberry Pi:

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

Jalankan perintah berikut agar Anda dapat menggunakan Docker sebagai pengguna pi:

$ sudo usermod -aG docker pi

Perintah info Docker menunjukkan bahwa Docker sekarang diinstal pada sistem ARM dengan 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
... ...

Selanjutnya, Anda dapat menarik image Docker untuk distribusi Ubuntu terbaru, menjalankannya, dan masuk ke Ubuntu sebagai pengguna baris perintah.

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

Docker
  1. Cara membuat server file pribadi dengan SSH di Linux

  2. Cara menginstal server media Serviio di Raspberry Pi

  3. Cara Membuat Cadangan

  1. Bagaimana membangun sebuah Flatpak

  2. Cara Memperbarui Raspberry Pi

  3. Cara Mengatur Server FTP di Raspberry Pi Anda

  1. Cara Menginstal Docker di Raspberry Pi

  2. Cara Mengatur Raspberry Pi Sebagai Server DNS

  3. Cara Menginstal Ubuntu di Raspberry Pi