Belajar RoadRunner - Pre-Requisites Skill & Setup Environment
Episode 0 of 26

Belajar RoadRunner - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh RoadRunner, kalian perlu menguasai PHP & Composer, dasar networking HTTP/TCP, dan YAML config. Di episode ini kalian juga menyiapkan PHP 8.3+, menginstall RoadRunner v2025.1.15 via rr get, dan memverifikasi seluruh environment siap dipakai sepanjang series.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Selamat datang di series Belajar RoadRunner! Series ini akan membawa kalian menguasai RoadRunner — aplikasi server PHP berbasis Go dari tim Spiral dengan worker pool, komunikasi Go↔PHP via Goridge, dan ekosistem plugin lengkap (HTTP, gRPC, KV, queue/jobs, metrics, temporal) — untuk aplikasi PHP long-running berperforma tinggi. Total ada 26 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness.

Sebelum menjalankan rr serve, ada skill dasar dan perangkat yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena RoadRunner mengubah cara PHP dieksekusi: bukan lagi "satu proses per request" seperti PHP-FPM, melainkan sekumpulan worker PHP yang tetap hidup (persistent) di bawah kendali server Go. Kalian akan berhadapan langsung dengan protokol komunikasi proses, config YAML, dan HTTP. Tanpa memahami lapisan-lapisan ini, kalian akan kesulitan mendiagnosis mengapa worker crash, kenapa koneksi RPC gagal, atau mengapa konfigurasi plugin tidak terbaca.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan PHP + Composer, menginstall RoadRunner v2025.1.15, lalu memverifikasi environment untuk pertama kali.

Skill Dasar yang Wajib Dimiliki

PHP dan Composer

RoadRunner menjalankan PHP yang sama dengan yang kalian kenal — namun sebagai proses worker persistent, bukan proses sekali jalan per request seperti PHP-FPM. Kalian wajib nyaman menulis PHP, memahami composer.json, dan memakai composer install untuk manajemen dependensi:

Cek PHP CLI dan Composer
php -v
composer --version

Dasar Networking (HTTP dan TCP)

RoadRunner adalah server jaringan: ia mendengarkan koneksi TCP, mem-parsing request HTTP, dan berbicara ke worker PHP melalui pipes atau Unix socket. Kalian wajib paham arah alurnya secara kasar sebelum mendalami detailnya di episode 2:

100%

YAML Config

Semua konfigurasi RoadRunner hidup di .rr.yaml. Kalian wajib memahami struktur YAML — key, nested map, array, dan cara menulis string yang mengandung karakter spesial — karena hampir setiap episode di series ini akan menulis atau memodifikasi file config:

Contoh struktur YAML sederhana
server:
  command: "php app.php"
  relay: pipes

Perangkat Software yang Disiapkan

RoadRunner kompatibel dengan PHP 8.1+, tetapi versi 8.3/8.4 sangat direkomendasikan — untuk performance (JIT), dan karena ekosistem package modern sudah mengasumsikan versi ini. Install sesuai sistem operasi kalian:

Install PHP CLI dan ekstensi dasar
sudo apt install php-cli php-mbstring php-xml php-curl   # Debian/Ubuntu
brew install php                                          # macOS

Pastikan juga php -m menampilkan ekstensi yang dibutuhkan aplikasi kalian. Untuk series ini kita cukup butuh PHP CLI murni — RoadRunner mengeksekusi worker lewat command di config, bukan lewat SAPI web.

Composer

Install Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Install RoadRunner Binary

Cara resmi dan tercepat adalah via spiral/roadrunner-cli — package Composer yang menyediakan perintah rr get untuk mengunduh binary sesuai platform kalian. Buat direktori lab dan inisialisasi proyek:

Install RoadRunner via rr get
mkdir -p rr-lab && cd rr-lab
composer require spiral/roadrunner-cli --dev
./vendor/bin/rr get
./rr --version

rr get mengunduh binary RoadRunner terbaru ke direktori proyek. ./rr --version harus mencetak versi v2025.1.15 (rilis 17 Juni 2026) — versi yang dipakai di series ini. Alternatif lain: image Docker resmi ghcr.io/roadrunner-server/roadrunner (kita pakai di episode 21) atau binary dari GitHub releases. Detail semua metode instalasi kita bahas di episode 3.

Note

RoadRunner adalah binary Go statis — tidak butuh ekstensi PHP tambahan untuk berjalan. Yang dibutuhkan hanyalah PHP CLI yang bisa mengeksekusi skrip app.php sebagai worker. Ekstensi PHP (seperti opcache) dioptimalkan lewat config, kita bahas di episode 20.

Docker (Opsional tapi Direkomendasikan)

Mulai episode 21 kita akan mendalami deployment Docker & Kubernetes. Install Docker terlebih dahulu:

Verifikasi Docker
docker --version
docker compose version

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:

Verifikasi environment RoadRunner
php -v
composer --version
./rr --version
./rr list

php -v harus menunjukkan versi 8.3+. ./rr list menampilkan daftar perintah yang tersedia (serve, http:reset, grpc, jobs, dan lainnya) — ini bukti binary berfungsi normal dan plugin internal sudah terdaftar.

Warning

Pastikan versi RoadRunner kalian setidaknya v2025.1.x. Versi lama (2023.x ke bawah) tertinggal dalam hal perbaikan keamanan toolchain Go dan fitur plugin — alasan lengkapnya kita bahas di episode 18. Untuk series ini, gunakan v2025.1.15.

Struktur Proyek Lab yang Disarankan

Agar contoh di series ini langsung bisa dijalankan, susun proyek dengan struktur sederhana:

Struktur direktori proyek lab
rr-lab/
  vendor/            # Composer dependencies
  app.php            # entry worker PHP (dibuat mulai episode 4)
  .rr.yaml           # config utama (dibuat mulai episode 3)
  Dockerfile         # dibahas di episode 21
  rr                 # binary RoadRunner

Ringkasan Prasyarat

Rangkuman yang sudah kalian siapkan di episode 0:

  • Skill: PHP & Composer, dasar networking HTTP/TCP, dan keakraban YAML config.
  • Runtime: PHP 8.3+ terinstall dan berfungsi di CLI.
  • Tool: RoadRunner v2025.1.15 terinstall via rr get, Docker + Compose siap (opsional).
  • Lab: direktori rr-lab/ dengan Composer ter-inisialisasi.
  • Verifikasi: php -v, composer --version, dan ./rr --version berjalan tanpa error.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Perjalanan 25 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.

Penutup

Inti yang harus dibawa pulang:

  • RoadRunner = server Go + worker PHP persistent, dikonfigurasi lewat .rr.yaml.
  • Wajib memahami PHP/Composer, dasar HTTP/TCP, dan YAML.
  • Install PHP 8.3+ dan RoadRunner v2025.1.15 via ./vendor/bin/rr get.
  • Verifikasi dengan ./rr --version dan ./rr list.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa kalian membutuhkan RoadRunner — dari masalah PHP-FPM yang mem-bootstrap ulang seluruh aplikasi setiap request, lahirnya RoadRunner pada 2019 oleh tim Spiral berbasis Goridge, hingga mengapa ia menjadi pilihan app server PHP modern di 2026 bersama Laravel Octane dan Spiral. Pastikan environment kalian sudah siap, karena perjalanan Belajar RoadRunner baru saja dimulai!

Belajar RoadRunner - Pre-Requisites Skill & Setup Environment | Belajar RoadRunner