Tutorial step‑by‑step untuk menginstal Laravel 11 terbaru, mengintegrasikan Vite, Breeze, Sanctum, serta konfigurasi keamanan dan pengembangan modern.
1. Persiapan Lingkungan
Pastikan sistem Anda memiliki:
- PHP >= 8.2
- Composer terbaru
- Node.js >= 20 & npm
- Database MySQL/PostgreSQL
1.1. Install Composer dan Laravel Installer
composer global require laravel/installer
Pastikan ~/.config/composer/vendor/bin ada di PATH.
2. Membuat Proyek Laravel 11
laravel new blog --jetstream
Perintah di atas membuat aplikasi dengan Laravel Jetstream (termasuk Livewire atau Inertia). Jika hanya ingin Breeze, gunakan:
composer create-project laravel/laravel blog "11.*"
3. Menggantikan Mix dengan Vite
Laravel 11 sudah menyertakan Vite secara default. Pastikan file vite.config.js ada di root.
3.1. Install dependencies
cd blog
npm install
3.2. Jalankan dev server
npm run dev
Vite akan meng‑compile asset di resources/js dan resources/css secara hot‑reload.
4. Menambahkan Laravel Breeze (Auth Frontend Ringan)
composer require laravel/breeze --dev
php artisan breeze:install blade
npm install && npm run dev
php artisan migrate
Perintah di atas meng‑install scaffolding Blade, migrasi tabel users, serta asset yang dibundel oleh Vite.
4.1. Struktur Folder Breeze
resources/views/auth– form login & registerapp/Http/Controllers/Auth– controller otentikasi
5. Mengamankan API dengan Laravel Sanctum
5.1. Install Sanctum
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
5.2. Konfigurasi Middleware
Tambahkan Sanctum::ignoreRoutes() bila menggunakan SPA, atau cukup gunakan middleware auth:sanctum pada route API.
// routes/api.php
use AppHttpControllersProfileController;
Route::middleware('auth:sanctum')->get('/user', [ProfileController::class, 'show']);
5.3. Menghasilkan Token
// app/Http/Controllers/Auth/LoginController.php
public function token(Request $request){
$user = Auth::attempt($request->only('email','password'));
if(!$user){ return response()->json(['message'=>'Invalid credentials'],401); }
$token = $request->user()->createToken('spa-token')->plainTextToken;
return response()->json(['token'=>$token]);
}
6. Best Practices Modern
- Environment Variables: Simpan kunci rahasia di
.envdan jangan pernah commit. - Form Request Validation: Gunakan class request untuk validasi, bukan di controller.
- Resource Collections: Untuk API, pakai
JsonResourceagar response konsisten. - Automatic Code Formatting: Gunakan
Laravel Pint(PHP CS Fixer) untuk standar kode. - Testing: Buat feature test dengan Pest atau PHPUnit, contoh
php artisan test.
7. Deploy ke Production
- Set
APP_ENV=productiondanAPP_DEBUG=falsedi .env. - Jalankan
composer install --optimize-autoloader --no-dev. - Build assets:
npm run build. - Migrasi database:
php artisan migrate --force. - Cache konfigurasi & route:
php artisan config:cache&php artisan route:cache.
Server harus meng‑serve file public/index.php dan menyediakan PHP‑FPM serta Node‑built assets.
Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki proyek Laravel 11 yang up to date, menggunakan Vite untuk asset, Breeze untuk UI auth, serta Sanctum untuk API yang aman. Praktik terbaik seperti environment yang terpisah, validasi request berbasis class, dan caching produksi akan menjamin performa dan keamanan aplikasi Anda dalam jangka panjang.
Tutorial step‑by‑step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web cepat dan aman.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend