Oentoro

Digital Traveller

Oentoro

Digital Traveller

Membangun Home Server dengan Raspberry Pi dan Cloudflare

Home Server dengan Raspberry pi 5

Membuat Home Server Pengganti VPS dengan RasPi dan Cloudflare

Estimasi waktu baca: 5 menit

  • Keuntungan menggunakan Raspberry Pi untuk server di rumah
  • Langkah-langkah menginstal dan mengonfigurasi server
  • Pentingnya menggunakan Cloudflare untuk meningkatkan keamanan
  • Tips untuk menjaga keamanan dan pemeliharaan server
  • Langkah-langkah akses dari internet

Daftar Isi

  1. Mengapa Memilih Raspberry Pi?
  2. Persiapan Awal: Apa yang Anda Butuhkan
  3. Instalasi dan Konfigurasi Server
  4. Menggunakan Cloudflare Tunnel
  5. Keamanan dan Pemeliharaan
  6. FAQ

Mengapa Memilih Raspberry Pi?

Raspberry Pi adalah perangkat kecil yang menawarkan banyak kemampuan, dengan harga yang terjangkau (pada juni 2025, penulis membeli raspberry pi 5 ram 8gb dengan harga 1,5 juta rupiah). Dengan konsumsi daya yang rendah dan fleksibilitas tinggi, Raspberry Pi menjadi pilihan populer untuk membangun server di rumah. Beberapa model terbaru, seperti Raspberry Pi 4 atau bahkan Raspberry Pi 5, memberikan performa yang lebih baik, membuatnya lebih cocok untuk aplikasi server. Bahkan website ini pun juga memanfaatkan raspberry pi dan ISP lokal (Indih0m3) untuk dapat diakses secara luas dari manapun.

Kelebihan Raspberry Pi untuk Membuat Home Server

  • Biaya Rendah: Raspberry Pi jauh lebih murah dibandingkan dengan menyewa VPS.
  • Penggunaan Daya Rendah: Cocok untuk penggunaan jangka panjang tanpa menguras listrik.
  • Fleksibilitas: Anda dapat menyesuaikan dan mengatur server sesuai kebutuhan Anda.

Persiapan Awal: Apa yang Anda Butuhkan

raspberry pi imager
raspberry pi imager

Sebelum Anda memulai, pastikan Anda memiliki beberapa hal berikut:

  1. Raspberry Pi (5 direkomendasikan untuk kinerja yang optimal)
  2. MicroSD Card (minimal 32 GB) untuk menyimpan sistem operasi
  3. Daya Adapter dan Kabel Ethernet (atau koneksi Wi-Fi untuk model yang mendukung)
  4. Koneksi Internet Stabil

1. Raspberry Pi Sebagai Server

Langkah pertama adalah menginstal sistem operasi yang sesuai. Raspberry Pi OS (dulu dikenal sebagai Raspbian) adalah pilihan yang paling umum. Anda dapat mengunduhnya dari situs resmi Raspberry Pi.

Menginstal Raspberry Pi OS

  1. Unduh Raspberry Pi Imager dari website resmi.
  2. Pilih sistem operasi Raspberry Pi OS dan sambungkan MicroSD ke komputer.
  3. Gunakan Raspberry Pi Imager untuk meng-copy sistem operasi ke MicroSD.
  4. Masukkan MicroSD ke Raspberry Pi dan nyalakan perangkat.

Sebelum masuk konfigurasi server, pastikan raspberry pi nya terkoneksi ke internet, karena di tahap berikutnya kita akan memerlukan internet untuk mengunduh program yang digunakan dalam membuat aplikasi web.

2. Instalasi dan Konfigurasi Server

nginx
nginx

Setelah Anda sukses menginstal sistem operasi, sekarang saatnya untuk mengonfigurasi Raspberry Pi menjadi server web. Anda dapat menggunakan Nginx atau Apache sebagai server web, tetapi Nginx lebih ringan dan lebih cepat.

Instalasi Nginx

Berikut adalah langkah-langkah untuk menginstal Nginx:

sudo apt-get update
sudo apt-get install nginx
sudo systemctl enable nginx #agar nginx otomatis berjalan ketika sistem reboot
sudo systemctl start nginx

Setelah instalasi, Anda dapat memeriksa apakah Nginx berjalan dengan cara membuka browser dan memasukkan alamat IP Raspberry Pi Anda.

Menambahkan PHP

Jika Anda perlu menjalankan aplikasi web dinamis, penting untuk menginstal PHP dan MySQL juga. Gunakan perintah berikut:

sudo apt-get install php-fpm
sudo systemctl enable php-fpm #agar php-fpm otomatis berjalan ketika sistem reboot
sudo systemctl start php-fpm

Dalam tutorial kali ini, kita akan membuat website sederhana yang hanya menampilkan tulisan “Halo Dunia”. Langkah pembuatannya adalah:

  • Buat (ganti) file di /var/www/html/index.php dengan isi sebagai berikut:
<html>
<head>
<body>
<h1>Halo Dunia</h1>
</body>
</html>
  • Kita akan memanfaat nginx server-block, dimana kita dapat membuat banyak website (dengan nama domain dan aplikasi yang berbeda) walaupun dalam satu server (komputer). Misalnya, kita tadi memiliki sebuah domain bernama https://example.com, maka kita sebuah file dengan perintah:
sudo nano /etc/nginx/sites-availaible/example
  • Lalu isikan berikut:
server {
    listen 80;
    server_name example.com;  # ganti dengan domainmu

    root /var/www/html;
    index index.php index.html index.htm;

    access_log /var/log/nginx/example_access.log;
    error_log /var/log/nginx/example_error.log;
    
    location ~ \.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }
}
        
  • Setelah selesai disimpan (ctrl + o, ctrl + x). Jalankan perintah berikut di terminal untuk melakukan testing konfigurasi yang kita tulis di atas itu sudah benar atau belum:
sudo nginx -t
  • Jika perintah di atas tidak mengeluarkan error, ketikkan perintah berikut untuk melakukan softlink agar aplikasi web tersedia (enabled) di nginx dan bisa diakses melalui domain di internet:
sudo ln -s /etc/nginx/sites-availaible/example /etc/nginx/sites-enabled/
  • Setelah selesai, ketikkan perintah berikut untuk reload nginx dan konfigurasi di atas dapat di – load oleh nginx:
sudo systemctl reload nginx

Dalam kondisi ini, website Anda belum bisa diakses dari internet. Untuk tahap selanjutnya, kita akan belajar bagaimana melakukan installasi Cloudflare di raspi dan membuat website yang sudah dibuat dapat diakses secara bebas dari internet.

3. Menggunakan Cloudflare Tunnel

cloudflare tunnel
cloudflare tunnel

Cloudflare Tunnel (sebelumnya dikenal sebagai Argo Tunnel) adalah layanan dari Cloudflare yang memungkinkan kamu untuk mengakses layanan lokal (seperti server web, SSH, atau aplikasi apa pun) secara aman melalui internet tanpa membuka port di firewall atau melakukan konfigurasi port forwarding di router. Jadi kita bisa menjadikan perangkat komputer (raspberry pi) kita yang terhubung ke internet tanpa harus memiliki IP statis. Untuk tahapannya, bisa diikuti langkah berikut

Install cloudflared di Raspberry Pi

sudo apt update
sudo apt install cloudflared

Login ke Cloudflare dari Raspberry Pi

cloudflared tunnel login

Ini akan membuka browser — login dengan akun Cloudflare kamu dan pilih domain example.com. Setelah berhasil, token akan disimpan di Pi kamu.

Buat Tunnel Baru

cloudflared tunnel create hello-tunnel

Ini akan membuat tunnel dan menampilkan Tunnel ID. Simpan nama tunnel ini, misalnya: wordpress-tunnel.

Buat File Konfigurasi Tunnel

Buat direktori config jika belum ada:

sudo mkdir -p /etc/cloudflared

Lalu buat file konfigurasi:

sudo nano /etc/cloudflared/config.yml

Isi dengan:

tunnel: wordpress-tunnel
credentials-file: /home/pi/.cloudflared/wordpress-tunnel.json #ganti json dengan file json yang tergenerasi dari perintah cloudflared tunnel route dns web-tunnel example.com di bawah 

ingress:
  - hostname: example.com
    service: http://localhost:80
  - service: http_status:404

Penjelasan:

  • tunnel: nama tunnel yang kamu buat

  • hostname: domain yang akan diarahkan ke WordPress

  • service: alamat WordPress lokal di Raspberry Pi (misalnya http://localhost:80)

Buat DNS Record Otomatis di Cloudflare

cloudflared tunnel route dns web-tunnel example.com

Jalankan Tunnel

cloudflared tunnel run web-tunnel

Atau jalankan sebagai service (agar otomatis saat boot):

sudo cloudflared service install

Akses Web di Browser

Buka browser dan akses https://example.com — kamu seharusnya sudah melihat situs dengan tulisan Halo Dunia yang di-host di Raspberry Pi.

Tips Tambahan

  • HTTPS otomatis: Cloudflare menyediakan SSL, jadi tak perlu konfigurasi cert secara manual.

  • Cloudflare Access (opsional): Kamu bisa batasi siapa yang bisa akses dengan login Google/GitHub melalui dashboard Cloudflare → Zero Trust → Access → Applications.

  • Custom port: Kalau Anda ingin web nya berjalan di port selain 80, cukup ubah service: http://localhost:8080 di config.yml.

5. Keamanan dan Pemeliharaan

Keamanan selalu menjadi prioritas utama dalam menjaga server Anda. Berikut adalah beberapa tips untuk memastikan Raspberry Pi Anda tetap aman dan terlindungi:

Pembaruan Sistem Rutin

Pastikan Raspberry Pi Anda selalu diperbarui dengan perintah:

sudo apt-get update
sudo apt-get upgrade

SSH untuk Akses Remote

Gunakan SSH untuk mengakses Raspberry Pi dari jarak jauh. Pastikan bahwa password yang Anda gunakan kuat, serta pertimbangkan untuk menonaktifkan akses root melalui SSH.

Autentikasi yang Kuat

Gunakan autentikasi dua faktor jika mungkin, dan selalu periksa log firewall untuk aktivitas mencurigakan.

FAQ

Apakah Raspberry Pi cukup kuat untuk dijadikan server?
Ya, Raspberry Pi 4 dan 5 cukup kuat untuk menjalankan aplikasi web dan layanan kecil.

Bagaimana cara memastikan server saya aman?
Selalu lakukan pembaruan sistem, gunakan SSH untuk akses remote, dan aktifkan autentikasi dua faktor.

Bisakah saya menggunakan Cloudflare dengan domain saya?
Ya, Anda dapat mendaftarkan domain Anda di Cloudflare untuk keamanan dan performa tambahan.

Dengan langkah-langkah di atas, Anda telah berhasil membuat home server menggunakan Raspberry Pi dan Cloudflare sebagai pengganti VPS. Ini adalah solusi yang biaya-efisien dan memberi Anda kontrol penuh atas server Anda. Tidak hanya itu, dengan mempelajari cara ini, Anda juga meningkatkan kemampuan teknis yang dapat berguna di masa depan.

Apakah Anda siap untuk mencoba membangun home server Anda sendiri? Jangan ragu untuk berbagi pengalaman Anda di kolom komentar. Sementara itu, untuk artikel menarik lainnya tentang teknologi dan pemrograman, pastikan Anda menjelajahi blog saya lebih lanjut!

Membangun Home Server dengan Raspberry Pi dan Cloudflare

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Kembali ke Atas