Menginstall Laravel 13 lewat composer create-project maupun laravel new, menjalankan dev server dengan php artisan serve, memahami peran file .env dan sistem konfigurasi, serta perintah kunci php artisan about, config:cache, dan optimize:clear.

Setelah di episode 2 kita memahami arsitektur, saatnya hands-on: menginstall Laravel 13 untuk pertama kali. Instalasi yang benar dan konfigurasi yang dipahami sejak awal akan menyelamatkan kalian dari puluhan masalah "kenapa .env saya tidak kebaca?" atau "kenapa config cache saya basi?" di episode-episode selanjutnya.
Kita akan melalui tiga langkah: menginstall proyek baru, menjalankan dev server, lalu memahami sistem konfigurasi — file .env, folder config/, dan perintah-perintah artisan yang berkaitan.
Cara paling universal, karena cukup butuh Composer:
composer create-project laravel/laravel belajar-laravel
cd belajar-laravel
php artisan servecomposer create-project mengunduh skeleton Laravel terbaru dari package laravel/laravel dan langsung menjalankan composer install — seluruh framework inti berikut dependensinya terpasang. Setelah php artisan serve, buka http://localhost:8000 — halaman selamat datang Laravel akan tampil.
Cara ini butuh install laravel/installer sekali secara global:
composer global require laravel/installer
laravel new belajar-laravellaravel new lebih canggih: ia menawarkan pilihan starter kit (Breeze/Jetstream — kita bahas di episode 10), test framework (Pest/PHPUnit), dan database. Kedua cara menghasilkan proyek yang sama-sama valid; pilih yang paling nyaman.
Note
Verifikasi versi yang terinstall: php artisan --version harus menampilkan Laravel 13.x. Jika masih menampilkan versi di bawah itu, update Composer (composer self-update) dan pastikan environment PHP sudah 8.3+ seperti di episode 0.
php artisan serve memakai server bawaan PHP. Untuk pengembangan yang lebih nyaman, sebagian besar developer memakai Laravel Herd (macOS/Windows) yang menyediakan domain lokal seperti belajar-laravel.test dengan sertifikat HTTPS otomatis.
Perhatikan: php artisan serve hanya untuk pengembangan. Di production, Laravel dijalankan lewat PHP-FPM di balik Nginx/Apache — kita bahas di episode 22.
Laravel mengikuti prinsip 12-factor: konfigurasi dipisahkan dari kode. File .env (dan .env.example) menyimpan nilai konfigurasi spesifik environment:
APP_NAME=BelajarLaravel
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000
DB_CONNECTION=sqlite
DB_DATABASE=/absolute/path/to/database.sqliteNilai di .env dibaca lewat fungsi env() di dalam file config/*.php. Prinsip pentingnya:
.env tidak pernah di-commit ke git — hanya .env.example yang di-commit sebagai template..env, bukan di kode..env sendiri; CI dan production punya nilai masing-masing.Warning
Jangan pernah membaca secret langsung di kode dengan env('DB_PASSWORD') di luar file config/. Saat config:cache aktif di production, fungsi env() tidak lagi terbaca di luar config/ — kode kalian akan rusak. Selalu akses lewat helper config('database.connections.mysql.password').
Setiap nilai di .env dipetakan ke file di config/ — config/app.php, config/database.php, config/cache.php, dan seterusnya. Ketika produksi, Laravel merekomendasikan cache konfigurasi agar tidak membaca file .env untuk setiap request:
php artisan config:cache # gabungkan config ke satu file cache
php artisan config:clear # hapus cache config
php artisan optimize:clear # clear semua cache (config, route, view, event)
php artisan about # ringkasan konfigurasi aktifoptimize:clear adalah "tombol reset" favorit: saat sesuatu tampak aneh setelah mengubah .env, jalankan ini dulu sebelum panik. php artisan about menampilkan snapshot semua driver aktif — tempat pertama untuk diagnosa.
Rangkaian verifikasi cepat:
php artisan --version
php artisan serve --port=8080
php artisan aboutPastikan php artisan --version menampilkan 13.x, dev server jalan tanpa error, dan php artisan about menampilkan driver database, cache, dan queue yang sesuai dengan .env kalian.
Inti yang harus dibawa pulang:
composer create-project laravel/laravel atau laravel new.php artisan serve untuk dev; production memakai PHP-FPM + Nginx (episode 22)..env adalah sumber kebenaran konfigurasi; jangan pernah commit ke git.config(), bukan env(), agar aman saat config:cache.optimize:clear dan php artisan about untuk diagnosa.Di episode 4 selanjutnya kita akan membahas routing dasar — Route::get/post/put/delete, parameter {id}, constraint, named routes, route groups, php artisan route:list, dan fallback 404. Pastikan proyek belajar-laravel kalian sudah jalan, karena kita akan langsung mempraktikkannya!