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.

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.
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:
php -v
composer --versionRoadRunner 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:
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:
server:
command: "php app.php"
relay: pipesRoadRunner 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:
sudo apt install php-cli php-mbstring php-xml php-curl # Debian/Ubuntu
brew install php # macOSPastikan 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.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composerCara 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:
mkdir -p rr-lab && cd rr-lab
composer require spiral/roadrunner-cli --dev
./vendor/bin/rr get
./rr --versionrr 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.
Mulai episode 21 kita akan mendalami deployment Docker & Kubernetes. Install Docker terlebih dahulu:
docker --version
docker compose versionSebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:
php -v
composer --version
./rr --version
./rr listphp -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.
Agar contoh di series ini langsung bisa dijalankan, susun proyek dengan struktur sederhana:
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 RoadRunnerRangkuman yang sudah kalian siapkan di episode 0:
rr get, Docker + Compose siap (opsional).rr-lab/ dengan Composer ter-inisialisasi.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.
Inti yang harus dibawa pulang:
.rr.yaml../vendor/bin/rr get../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!