Episode ini adalah titik awal seri Laravel 13 Dasar — kita bakal install Laravel 13 dari nol dan siapkan environment lewat Laravel Herd, tanpa starter kit (bukan Breeze, bukan Livewire) supaya kita betul-betul mulai dari struktur paling dasar.
Kenapa Laravel Herd?
Herd otomatis mengelola PHP version dan virtual host untuk semua project di folder ~/Herd. Begitu sebuah folder project ada di situ, Herd langsung bikin domain <nama-folder>.test tanpa perlu setting Nginx atau /etc/hosts manual.
Install Laravel 13
Kita pakai Laravel Installer resmi, dengan opsi:
--database=mysql— pakai MySQL sebagai database--no-authentication— belum pakai auth scaffolding apa pun (itu baru masuk di episode 17)--no-interaction— supaya tidak ada prompt interaktif
cd ~/Herd
laravel new laravel13-blog-dasar \
--database=mysql \
--no-authentication \
--phpunit \
--git \
--no-boost \
--no-interaction
Perintah ini otomatis:
- Men-download skeleton Laravel 13 terbaru
- Generate
APP_KEY - Init git repository dengan commit pertama
- Menyiapkan
.envdengan koneksi MySQL default
Karena folder-nya langsung ada di ~/Herd, project ini otomatis bisa diakses di http://laravel13-blog-dasar.test tanpa konfigurasi tambahan.
Cek hasil instalasi
cd laravel13-blog-dasar
php artisan --version
git log --oneline
Kalau semua berjalan normal, kamu akan lihat versi Laravel 13.x dan satu commit awal "Set up a fresh Laravel app".
Stack yang dipakai sepanjang seri ini
Supaya jelas dari awal, berikut stack yang kita pakai konsisten dari episode 2 sampai 21:
| Aspek | Pilihan |
|---|---|
| Framework | Laravel 13 |
| PHP | 8.3 |
| Database | MySQL |
| Frontend | Blade + Bootstrap 5 (tanpa Livewire) |
| Auth | Laravel UI (baru masuk episode 17) |
Kita sengaja pilih MVC tradisional (Controller + Blade) dan bukan Livewire, karena tujuan seri ini adalah memahami fundamental Laravel — routing, controller, Eloquent, blade — sebelum masuk ke reactive component yang menambah lapisan abstraksi.
Git workflow seri ini
Satu hal unik dari seri ini: setiap sub-bab punya branch git sendiri, dan setiap branch baru di-branch dari branch sub-bab sebelumnya — bukan dari main. Artinya branch 04-routing-dasar sudah otomatis berisi semua kode dari episode 2 dan 3, branch 05-controller-resource berisi semua kode episode 2-4, dan seterusnya secara kumulatif.
Kalau kamu ingin ikut coding bareng dan penasaran kode di titik tertentu, tinggal checkout branch episode yang sesuai — semuanya sudah lengkap sampai di titik itu, tidak perlu menggabungkan beberapa branch manual.
Selanjutnya
Di episode berikutnya kita konfigurasi koneksi database MySQL secara spesifik lewat Laravel Herd, termasuk membuat database-nya.