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:
- Push project ke Git
- Pull project di server via SSH
- Setup environment
- Install dependency
- Jalankan Laravel seperti biasa
- Atur
.htaccessagar tetap pakai folder/public
Jadi kita tidak perlu memindahkan isi folder public ke public_html
1. Login SSH ke Server
ssh username@domain.com2. 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 .envSesuaikan:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://domainkamu.comDB_DATABASE=namadb
DB_USERNAME=userdb
DB_PASSWORD=password4. Setup Database
- Buat database di cPanel
- Import database jika ada
5. Install Dependency
composer install6. Generate Key
php artisan key:generate7. Set Permission
chmod -R 755 storage
chmod -R 755 bootstrap/cache8. Optimize Laravel
php artisan config:cache
php artisan route:cache
php artisan view:cache9. 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.