M
Mr Sugiarto
Developer
17 Aug 2026 2 min read

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:

  1. Men-download skeleton Laravel 13 terbaru
  2. Generate APP_KEY
  3. Init git repository dengan commit pertama
  4. Menyiapkan .env dengan 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.

M
Mr Sugiarto

Developer