Banyak tutorial Laravel di cPanel yang terlalu ribet harus pindahin folder public, edit sana-sini, dll. Di artikel ini, saya akan share cara deploy Laravel yang lebih simple, clean, dan biasa saya gunakan di production, yaitu menggunakan Git + SSH tanpa ribet pindahin file ke root.


Konsep Utama

Flow yang saya gunakan:

  1. Push project ke Git
  2. Pull project di server via SSH
  3. Setup environment
  4. Install dependency
  5. Jalankan Laravel seperti biasa
  6. Atur .htaccess agar tetap pakai folder /public

Jadi kita tidak perlu memindahkan isi folder public ke public_html


1. Login SSH ke Server

ssh username@domain.com

2. Clone Project dari Git

Masuk ke folder public_html:

cd public_html
git clone https://github.com/username/nama-project.git .

Note: titik (.) agar langsung ke root folder


3. Setup Environment

cp .env.example .env
nano .env

Sesuaikan:

APP_ENV=production
APP_DEBUG=false
APP_URL=https://domainkamu.comDB_DATABASE=namadb
DB_USERNAME=userdb
DB_PASSWORD=password

4. Setup Database


5. Install Dependency

composer install

6. Generate Key

php artisan key:generate

7. Set Permission

chmod -R 755 storage
chmod -R 755 bootstrap/cache

8. Optimize Laravel

php artisan config:cache
php artisan route:cache
php artisan view:cache

9. Setting .htaccess (INI KUNCI UTAMA)

Karena kita tidak memindahkan folder public, kita arahkan semua request ke folder /public.

Edit file .htaccess di public_html:

RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]

Berikut merupakan cara yang biasa saya gunakan untuk melakukan Deploy Laravel ke server CPanel (Shared Hosting). Deploy Laravel ke cPanel tidak harus ribet. Dengan pendekatan Git + SSH dan sedikit konfigurasi .htaccess, kita bisa menjalankan Laravel dengan cara yang lebih sederhana, clean, dan profesional.