Pelajari cara menginstal Laravel 11 terbaru dan mengonfigurasikan stack modern termasuk Vite, Breeze, Sanctum, serta praktik terbaik untuk pengembangan aplikasi web yang aman dan cepat.
1. Persiapan Lingkungan
Pastikan server Anda memenuhi persyaratan Laravel 11:
- PHP >= 8.2
- Ekstensi PHP: OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath, Fileinfo
- Composer 2.x
- Node.js >= 18 & npm / Yarn
- Database (MySQL 8+, PostgreSQL, SQLite)
1.1 Instalasi Composer
Unduh dan instal Composer jika belum ada:
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
1.2 Instalasi Node.js
Gunakan nvm untuk mengelola versi Node:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20
nvm use 20
2. Membuat Proyek Laravel Baru
composer create-project laravel/laravel blog "11.*" --prefer-dist
Masuk ke direktori proyek:
cd blog
3. Mengganti Laravel Mix dengan Vite
Laravel 11 sudah terintegrasi dengan Vite secara default, tetapi pastikan konfigurasi berikut ada:
3.1 Instalasi dependensi front‑end
npm install
3.2 Sesuaikan vite.config.js
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
export default defineConfig({
plugins: [
laravel({
input: ['resources/css/app.css', 'resources/js/app.js'],
refresh: true,
}),
],
});
3.3 Jalankan dev server
npm run dev
Vite akan hot‑reload secara otomatis.
4. Menambahkan Breeze (Starter Kit) dengan Inertia atau Blade
Kami gunakan Breeze Blade untuk kesederhanaan.
composer require laravel/breeze --dev
php artisan breeze:install blade
npm run dev
php artisan migrate
Setelah instalasi, autentikasi dasar (login, register, reset password) sudah tersedia.
5. Mengamankan API dengan Laravel Sanctum
5.1 Instalasi Sanctum
composer require laravel/sanctum
5.2 Publikasi konfigurasi & migrasi
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
5.3 Tambahkan middleware ke api stack
// app/Http/Kernel.php
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
5.4 Contoh endpoint token based
// routes/api.php
use App\Http\Controllers\AuthController;
Route::post('/login', [AuthController::class, 'login']);
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
5.5 AuthController sederhana
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
class AuthController extends Controller
{
public function login(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]);
}
}
6. Praktik Terbaik (Best Practice)
- Environment variables: Simpan kunci rahasia di
.envdan jangan pernah commit. - Strict Type Declarations: Aktifkan
declare(strict_types=1);di file PHP utama. - Route Caching: Pada produksi, jalankan
php artisan route:cachedanphp artisan config:cache. - HTTPS & HSTS: Konfigurasikan server (NGINX/Apache) untuk memaksa HTTPS.
- Database Migrations: Selalu gunakan migration, hindari raw SQL dalam kode aplikasi.
- Testing: Tuliskan unit & feature test dengan PHPUnit atau Pest; jalankan
php artisan testsebelum merge. - Code Style: Terapkan Laravel Pint (PHP CS Fixer) untuk menjaga konsistensi kode.
7. Deploy ke Production
- Push kode ke repository Git (GitHub, GitLab).
- Gunakan layanan CI/CD (GitHub Actions, GitLab CI) untuk otomatisasi:
name: Deploy Laravel on: push 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 deps run: composer install --no-dev --optimize-autoloader - name: Install Node deps run: npm ci && npm run build - name: Run migrations run: php artisan migrate --force - Pastikan folder
storagedanbootstrap/cachewritable. - Setel
APP_ENV=productiondanAPP_DEBUG=false. - Jalankan
php artisan optimizeuntuk cache konfigurasi, view, dan route.
8. Verifikasi
Buka https://your-domain.com dan pastikan halaman beranda, login, serta endpoint API berfungsi. Gunakan curl -H "Authorization: Bearer YOUR_TOKEN" https://your-domain.com/api/user untuk menguji Sanctum.
Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang terstruktur modern: Vite untuk asset bundling, Breeze sebagai starter kit UI, serta Sanctum untuk API authentication. Mematuhi best practice seperti environment management, caching, dan CI/CD membuat aplikasi siap produksi, scalable, dan aman.
Tutorial step-by-step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan praktik terbaik modern untuk pengembangan web cepat, aman, dan scalable.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend