Tutorial step-by-step untuk menginstal Laravel 11 terbaru, mengoptimalkan front‑end dengan Vite, menyiapkan starter kit Breeze, dan mengamankan API menggunakan Sanctum.
1. Persyaratan Sistem
Pastikan server Anda memenuhi persyaratan minimum Laravel 11:
- PHP >= 8.2
- Ekstensi PHP: OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath
- Composer 2.x
- Node.js 20.x & npm 10.x
- Database (MySQL 8+, PostgreSQL 15+, atau SQLite)
2. Instalasi Laravel 11
composer create-project laravel/laravel example-app "11.*"
Masuk ke folder projek:
cd example-app
3. Konfigurasi Environment
Copy file .env.example menjadi .env dan sesuaikan koneksi database:
cp .env.example .env
php artisan key:generate
Edit .env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
4. Instalasi Vite (Front‑end Build Tool)
Laravel 11 sudah menyertakan Vite secara default. Pastikan dependency ter‑install:
npm install
Jalankan development server:
npm run dev
Jika ingin produksi:
npm run build
5. Instalasi Laravel Breeze (Starter Kit)
Breeze menyediakan autentikasi UI ringan dengan Blade atau API‑first (React/Vue). Kita gunakan Blade untuk contoh:
composer require laravel/breeze --dev
php artisan breeze:install blade
npm install && npm run dev
php artisan migrate
Setelah migrasi, Anda dapat mengakses /register dan /login.
6. Menambahkan Laravel Sanctum untuk API Authentication
composer require laravel/sanctum
Publikasikan konfigurasi & migrasi:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Tambahkan middleware Sanctum::ensureFrontendRequestsAreStateful() di api middleware group (app/Http/Kernel.php) jika Anda akan mengakses API dari SPA yang sama domain.
Contoh route API yang dilindungi:
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
7. Membuat Endpoint Login API dengan Sanctum
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
Route::post('/login', function (Request $request) {
$request->validate([
'email' => 'required|email',
'password' => 'required'
]);
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
return response()->json(['message' => 'Invalid credentials'], 401);
}
$token = $user->createToken('api-token')->plainTextToken;
return response()->json(['token' => $token]);
});
Gunakan header Authorization: Bearer <token> untuk mengakses route yang dilindungi.
8. Best Practice Modern
- Environment Segregation: Gunakan file
.env.testinguntuk test suite dan CI. - Docker: Jalankan stack dengan
docker compose(Laravel Sail) untuk konsistensi lintas tim. - Static Analysis: Pasang
phpstandanlarastanuntuk type‑checking. - Code Formatting: Gunakan
pint(Laravel Pint) untuk standar coding. - Cache Config & Routes: Pada produksi jalankan
php artisan config:cachedanphp artisan route:cache. - Testing: Tulis Feature Test menggunakan
PestatauPHPUnituntuk endpoint Sanctum.
9. Deploy ke Production
- Set environment variables pada server (APP_ENV=production, APP_DEBUG=false).
- Jalankan
composer install --optimize-autoloader --no-dev. - Build assets:
npm ci && npm run build. - Migrasi database:
php artisan migrate --force. - Cache konfigurasi & route.
- Restart queue workers jika ada.
10. Verifikasi
Buka https://your-domain.test, daftar user, kemudian gunakan Postman atau Insomnia untuk meng‑request /api/login dan akses /api/user dengan token yang diterima.
Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 yang siap produksi, menggunakan Vite untuk front‑end modern, Breeze sebagai starter kit autentikasi, serta Sanctum untuk melindungi API. Kombinasi ini mencerminkan best practice Laravel 2026, memberikan performa optimal, keamanan robust, dan pengembangan yang cepat.
Tutorial lengkap setup Laravel 11 terbaru dengan Vite, Breeze, dan Sanctum. Langkah demi langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web PHP Framework.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend