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 Docker)


Tutorial langkah demi langkah untuk menyiapkan proyek Laravel terbaru di tahun 2026 menggunakan tool modern seperti Vite, Breeze, Sanctum, serta Docker untuk lingkungan pengembangan yang konsisten.

1. Prasyarat

Software yang dibutuhkan

  • PHP 8.3 atau lebih baru
  • Composer 2.7+
  • Node.js 20.x
  • Docker & Docker Compose
  • Git

2. Membuat Project Laravel 11

Instalasi via Composer

composer create-project laravel/laravel laravel-modern "11.*" --prefer-dist

Perintah di atas akan mengunduh Laravel 11, versi stabil terbaru di 2026.

3. Mengkonfigurasi Vite

Instalasi dependensi frontend

cd laravel-modern
npm install
npm install vite laravel-vite-plugin@^1.0

Laravel 11 sudah mengaktifkan Vite secara default, namun pastikan file vite.config.js berisi:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [laravel(["resources/css/app.css", "resources/js/app.js"])],
});

4. Menambahkan Breeze (Starter Kit) dengan Inertia.js

Instalasi Breeze

composer require laravel/breeze --dev
php artisan breeze:install inertia

Perintah di atas menginstall Breeze dengan stack Inertia + Vue 3, yang cocok untuk SPA modern.

Mengompilasi aset

npm run dev

Pastikan tidak ada error, lalu akses http://localhost:8000 untuk melihat halaman login bawaan.

5. Mengatur Sanctum untuk API Authentication

Instalasi Sanctum

composer require laravel/sanctum

Publish konfigurasi & migrasi

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

Menambahkan middleware

Di app/Http/Kernel.php tambahkan:

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

Contoh route API

use AppHttpControllersApiAuthController;

Route::post('/login', [AuthController::class, 'login']);
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

6. Dockerize Lingkungan Development

File docker-compose.yml

version: '3.8'
services:
  app:
    image: php:8.3-fpm
    container_name: laravel_app
    working_dir: /var/www/html
    volumes:
      - ./:/var/www/html
    networks:
      - laravel
    depends_on:
      - db
    environment:
      - APP_ENV=local
      - DB_HOST=db
      - DB_DATABASE=laravel
      - DB_USERNAME=laravel
      - DB_PASSWORD=secret

  web:
    image: nginx:stable-alpine
    container_name: laravel_web
    ports:
      - "8080:80"
    volumes:
      - ./:/var/www/html
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    networks:
      - laravel
    depends_on:
      - app

  db:
    image: mysql:8.0
    container_name: laravel_db
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: laravel
      MYSQL_USER: laravel
      MYSQL_PASSWORD: secret
    ports:
      - "3306:3306"
    volumes:
      - dbdata:/var/lib/mysql
    networks:
      - laravel

networks:
  laravel:
    driver: bridge

volumes:
  dbdata:
    driver: local

File Nginx config (nginx/default.conf)

server {
    listen 80;
    index index.php index.html;
    root /var/www/html/public;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass app:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Menjalankan container

docker compose up -d

Setelah kontainer berjalan, jalankan migrasi lewat container:

docker exec -it laravel_app php artisan migrate

7. Best Practice Tambahan

  • Environment Variables: Simpan semua rahasia di .env dan gunakan Laravel Envoy atau git‑crypt untuk keamanan repo.
  • Code Formatting: Aktifkan Laravel Pint (PHP CS‑Fixer) untuk standar kode otomatis.
  • Testing: Buat tes unit & feature dengan Pest (``composer require pestphp/pest --dev``) dan jalankan di CI/CD pipeline.
  • Cache Config & Routes: Di produksi jalankan php artisan config:cache dan php artisan route:cache.

Dengan mengikuti langkah-langkah di atas, Anda mendapatkan proyek Laravel 11 yang siap produksi, menggunakan stack modern Vite, Breeze‑Inertia, Sanctum untuk API, serta Docker untuk konsistensi lingkungan. Praktik terbaik tambahan memastikan kode tetap bersih, aman, dan mudah dipelihara seiring pertumbuhan aplikasi.
Tutorial lengkap setup Laravel 11 di 2026 dengan Vite, Breeze, Sanctum, dan Docker. Ikuti langkah demi langkah, contoh kode, konfigurasi, dan best practice modern.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...