Cara Deploy Laravel ke Shared Hosting cPanel (Langkah demi Langkah)

Banyak developer mengira Laravel wajib pakai VPS. Padahal, aplikasi Laravel bisa dijalankan di shared hosting cPanel yang jauh lebih murah, asalkan hosting mendukung versi PHP yang...

Cara Deploy Laravel ke Shared Hosting cPanel (Langkah demi Langkah)

Banyak developer mengira Laravel wajib pakai VPS. Padahal, aplikasi Laravel bisa dijalankan di shared hosting cPanel yang jauh lebih murah, asalkan hosting mendukung versi PHP yang sesuai. Artikel ini memandu Anda deploy Laravel ke cPanel dari nol sampai live, langkah demi langkah.

Prasyarat

  • Hosting cPanel dengan PHP minimal 8.1 (sesuaikan dengan versi Laravel Anda).
  • Akses ke File Manager dan MySQL Databases di cPanel.
  • Project Laravel yang sudah berjalan di komputer lokal.

Langkah 1: Siapkan Project di Lokal

Sebelum upload, pastikan dependency dan cache siap. Jalankan di project lokal:

composer install --optimize-autoloader --no-dev
php artisan config:clear
php artisan cache:clear

Kompres seluruh project menjadi .zip (kecuali folder node_modules agar ukuran kecil). Sertakan folder vendor bila hosting tidak menyediakan Composer.

Langkah 2: Upload dan Ekstrak di cPanel

Idealnya, letakkan file inti Laravel di luar public_html demi keamanan. Struktur yang disarankan:

/home/user/
├── laravel_app/        ← seluruh file Laravel (app, routes, vendor, .env, dll)
└── public_html/        ← isi folder "public" Laravel dipindah ke sini

Caranya: upload zip ke /home/user/, ekstrak menjadi laravel_app. Lalu pindahkan isi folder laravel_app/public ke dalam public_html.

Langkah 3: Sesuaikan index.php

Karena folder public dipindah, edit public_html/index.php agar menunjuk ke lokasi baru. Ubah dua baris path berikut:

// SEBELUM
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';

// SESUDAH
require __DIR__.'/../laravel_app/vendor/autoload.php';
$app = require_once __DIR__.'/../laravel_app/bootstrap/app.php';

Langkah 4: Buat Database di cPanel

  1. Buka MySQL Databases di cPanel.
  2. Buat database baru, mis. user_appdb.
  3. Buat user database dan catat passwordnya.
  4. Tambahkan user ke database dengan ALL PRIVILEGES.

Langkah 5: Konfigurasi File .env

Edit laravel_app/.env sesuai kredensial hosting:

APP_ENV=production
APP_DEBUG=false
APP_URL=https://domainanda.com

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=user_appdb
DB_USERNAME=user_appuser
DB_PASSWORD=passwordrahasia

Set APP_DEBUG=false di produksi agar detail error tidak bocor ke publik.

Langkah 6: Migrasi Database

Jika hosting punya akses Terminal di cPanel, jalankan:

cd laravel_app
php artisan migrate --force
php artisan storage:link

Kalau tidak ada Terminal, Anda bisa impor struktur database lewat phpMyAdmin (export dari lokal terlebih dulu), atau buat route sementara yang memanggil Artisan::call('migrate') lalu hapus setelah selesai.

Langkah 7: Generate APP_KEY & Bersihkan Cache

php artisan key:generate
php artisan config:cache
php artisan route:cache

Jika tidak ada Terminal, isi APP_KEY secara manual dengan nilai dari project lokal (baris APP_KEY=base64:... di .env lokal).

Langkah 8: Atur Permission Folder

Pastikan folder berikut bisa ditulis server, agar tidak muncul error 500:

chmod -R 775 laravel_app/storage
chmod -R 775 laravel_app/bootstrap/cache

Troubleshooting Error Umum

  • 500 Internal Server Error: cek permission storage & bootstrap/cache, dan pastikan versi PHP sesuai (ubah di menu "Select PHP Version" cPanel).
  • Halaman blank / white screen: set APP_DEBUG=true sementara untuk melihat pesan error, lalu kembalikan ke false.
  • 404 di semua halaman selain beranda: pastikan file .htaccess ikut ter-upload di public_html dan modul mod_rewrite aktif.
  • Error 419 saat login: lihat panduan kami tentang mengatasi error 419 Page Expired di Laravel.

Kesimpulan

Deploy Laravel ke shared hosting cPanel sepenuhnya mungkin tanpa VPS — kuncinya ada pada memisahkan folder public, menyesuaikan path di index.php, dan mengatur .env serta permission dengan benar. Setelah semua langkah di atas, aplikasi Laravel Anda sudah bisa diakses publik. Untuk trafik yang lebih tinggi ke depannya, barulah pertimbangkan upgrade ke VPS.

deploy laravel ke hosting laravel shared hosting cpanel cara upload laravel ke cpanel hosting laravel murah deploy laravel tanpa vps
Bagikan artikel
Kembali
🚀 Partner Recommendation

Butuh Source Code & Aplikasi Premium?

Download aplikasi Laravel, POS, Sekolah, Klinik, ERP, dan source code siap pakai di GudangCode.

GudangCode
  • ✔ Source Code Premium
  • ✔ Sistem Siap Pakai
  • ✔ Lifetime Update
  • ✔ Membership Lifetime
  • ✔ Update Aplikasi Harian
Daftar Membership →