News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Jetstream)


Temukan cara menginstal Laravel 11 terbaru serta mengintegrasikan tool modern seperti Vite, Breeze, Sanctum, dan Jetstream secara step‑by‑step untuk aplikasi web yang cepat, aman, dan siap produksi.

1. Persyaratan Sistem

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 (untuk Vite)
  • Database MySQL 8.x atau PostgreSQL

2. Instalasi Laravel 11

Jalankan perintah berikut untuk membuat proyek baru menggunakan Composer:

composer create-project laravel/laravel nama-proyek "^11.0"

Masuk ke direktori proyek:

cd nama-proyek

3. Mengaktifkan Vite (Asset Bundler Modern)

Laravel 11 sudah menyertakan Vite secara default, cukup install dependensi npm:

npm install

Jalankan development server:

npm run dev

Untuk produksi, gunakan:

npm run build

4. Menambahkan Laravel Breeze (Starter Kit UI)

Breeze menyediakan autentikasi sederhana dengan Blade atau Inertia. Berikut contoh instalasi dengan Blade:

composer require laravel/breeze --dev
php artisan breeze:install blade
npm install && npm run dev
php artisan migrate

Jika ingin menggunakan React atau Vue, cukup ganti blade dengan react atau vue pada perintah di atas.

5. Mengonfigurasi Laravel Sanctum (API Authentication)

Sanctum memungkinkan token‑based atau SPA authentication. Instal paket:

composer require laravel/sanctum

Publikasikan konfigurasi dan migrasi:

php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate

Tambahkan middleware EnsureFrontendRequestsAreStateful::class pada api guard di config/sanctum.php (default sudah di‑set untuk localhost).

Di app/Http/Kernel.php tambahkan:

'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

Contoh pembuatan token pada controller:

use App\Models\User;

public function login(Request $request)
{
    $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]);
}

6. Menambahkan Laravel Jetstream (Full‑stack Scaffolding)

Jika membutuhkan fitur team management, two‑factor authentication, atau Livewire/Inertia, gunakan Jetstream:

composer require laravel/jetstream
php artisan jetstream:install livewire
npm install && npm run dev
php artisan migrate

Untuk Inertia + Vue:

php artisan jetstream:install inertia
npm install && npm run dev

7. Pengaturan Environment & Security Best Practice

  • Set APP_DEBUG=false pada produksi.
  • Gunakan APP_KEY yang kuat (generated otomatis).
  • Aktifkan HTTPS di AppServiceProvider:
if (App::environment('production')) {
    URL::forceScheme('https');
}
  • Tambahkan header keamanan via middleware App\Http\Middleware\SecureHeaders (contoh: CSP, X‑Frame‑Options).

8. Deployment Pipeline (Contoh dengan GitHub Actions)

File .github/workflows/deploy.yml:

name: Deploy Laravel
on:
  push:
    branches: [ main ]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.2'
      - name: Install Composer dependencies
        run: composer install --no-dev --prefer-dist --optimize-autoloader
      - name: Install Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '20'
      - run: npm ci && npm run build
      - name: Deploy to Server
        uses: appleboy/[email protected]
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: ${{ secrets.SERVER_USER }}
          key: ${{ secrets.SERVER_SSH_KEY }}
          script: |
            cd /var/www/namaproject
            git pull origin main
            composer install --no-dev --optimize-autoloader
            npm ci && npm run build
            php artisan migrate --force
            php artisan config:cache
            php artisan route:cache
            php artisan view:cache

9. Testing & Linting

  • Jalankan unit test:
php artisan test
  • Gunakan Laravel Pint untuk coding style:
composer require laravel/pint --dev
./vendor/bin/pint

10. Ringkasan & Checklist Production Ready

  • Laravel 11 terinstall & berjalan.
  • Vite compile assets tanpa error.
  • Breeze/Jetstream sudah ter‑setup sesuai kebutuhan UI.
  • Sanctum siap melindungi API.
  • Environment variables telah dikonfigurasi (APP_ENV=production, CACHE_DRIVER=redis, QUEUE_CONNECTION=redis, dsb).
  • HTTPS dan security header diterapkan.
  • CI/CD pipeline otomatis deploy.
  • Test coverage minimal 80%.

Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki aplikasi Laravel 11 yang dibangun dengan praktik modern: Vite untuk asset bundling, Breeze atau Jetstream untuk UI cepat, Sanctum untuk API security, serta pipeline CI/CD yang siap produksi. Kombinasi ini memberi performa tinggi, keamanan kuat, dan pengembangan yang scalable—sesuai standar Laravel terbaru di tahun 2026.
Tutorial lengkap instalasi Laravel 11 dengan Vite, Breeze, Sanctum, dan Jetstream. Langkah demi langkah setup modern, konfigurasi keamanan, dan pipeline deployment.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...