Checklist teknis untuk deployment Laravel di hosting PHP/MySQL agar website lebih siap tayang.
Mengunggah aplikasi Laravel ke Shared atau Cloud Hosting (seperti Hostinger, Niagahoster, atau penyedia lokal lainnya) memiliki tantangan tersendiri dibandingkan menggunakan VPS atau Docker. Hosting konvensional biasanya ditujukan untuk WordPress atau PHP murni, sehingga mereka tidak memiliki akses ke proses daemon permanen, Node.js (untuk build frontend), atau Redis secara bawaan.
Namun, bukan berarti Anda tidak bisa menjalankan aplikasi Laravel yang modern di sana. Xeniel CMS sengaja dirancang agar sangat friendly dengan shared hosting.
Berikut adalah panduan mendalam dan checklist krusial yang perlu Anda patuhi agar deployment berjalan mulus, aman, dan tanpa kendala error 500.
1. Persiapan Build Asset di Komputer Lokal
Kesalahan paling umum dari pemula adalah mengunggah folder Laravel mentah, lalu menyadari bahwa mereka tidak bisa menjalankan npm install dan npm run build di cPanel.
Hosting murah jarang memberikan akses ke ekosistem Node.js. Oleh karena itu:
- Pastikan Anda selesai melakukan styling dan modifikasi frontend di komputer lokal Anda.
- Jalankan perintah
npm run build. - Laravel Vite akan menghasilkan folder
public/build/yang berisi file CSS dan JS yang sudah di-kompres (minified). - Folder inilah yang harus ikut diunggah. Pastikan file
.gitignoreAnda tidak memblokirnya saat commit (jika menggunakan Git untuk transfer), atau pastikan folder ini masuk ke dalam file.zipAnda.
2. Struktur Folder yang Aman (PENTING!)
Jangan pernah menaruh seluruh folder Laravel (termasuk .env, storage/, dan vendor/) di dalam direktori publik seperti public_html atau htdocs. Ini adalah celah keamanan tingkat tinggi. Jika ada kesalahan konfigurasi web server, file .env Anda bisa diunduh oleh siapa saja.
Praktik terbaiknya adalah:
- Buat folder baru satu tingkat di atas
public_html(misal:/home/user/laravel_app). - Ekstrak atau upload semua file proyek Laravel Anda ke dalam folder
laravel_apptersebut, KECUALI isi dari folderpublic. - Pindahkan seluruh isi dari folder
publicmilik Laravel ke dalam direktoripublic_htmldi hosting Anda. - Buka file
index.phpyang sekarang berada dipublic_html. - Ubah jalur (path) ke
vendor/autoload.phpdanbootstrap/app.phpagar menunjuk ke folderlaravel_app. Contoh:require __DIR__.'/../laravel_app/vendor/autoload.php';
3. Penyesuaian Konfigurasi .env
Sesuaikan environment variables Anda untuk lingkungan shared hosting:
APP_ENV=productiondanAPP_DEBUG=false(Wajib, agar error teknis tidak bocor ke pengunjung).CACHE_STORE=fileataudatabase. Jangan gunakanredisataumemcachedkecuali Anda yakin paket hosting Anda menyediakannya.QUEUE_CONNECTION=sync(Ini sangat penting! Karena Anda mungkin tidak bisa menjalankan perintahphp artisan queue:worksecara permanen, gunakansyncagar semua antrean email atau tugas dieksekusi seketika).
4. Optimasi Caching
Setelah kode berhasil diunggah dan database terhubung, pastikan Laravel berlari secepat mungkin. Jika Anda memiliki akses SSH (Terminal di cPanel), jalankan:
php artisan optimize:clear
php artisan optimize
Perintah ini akan menyatukan seluruh konfigurasi, rute, dan views ke dalam file statis, memangkas waktu muat (load time) secara signifikan. Jika tidak ada SSH, Anda bisa membuat rute sementara di routes/web.php yang memanggil Artisan::call('optimize').
Dengan kedisiplinan pada keempat poin di atas, aplikasi Laravel Anda tidak hanya aman, tetapi juga mampu memberikan performa luar biasa meski hanya bersandar pada infrastruktur cloud hosting standar.