Cara Upload dan Menjalankan Laravel di cPanel Tanpa Error
Laravel merupakan salah satu framework PHP yang banyak digunakan untuk membangun website dan aplikasi berbasis web. Saat proses pengembangan selesai di localhost, langkah berikutnya adalah melakukan deployment ke hosting agar aplikasi dapat diakses melalui internet.
Bagi pengguna shared hosting, cPanel masih menjadi control panel yang paling banyak digunakan. Namun, banyak developer mengalami kendala ketika mengunggah Laravel ke cPanel karena struktur folder Laravel berbeda dengan website PHP biasa.
Kesalahan konfigurasi dapat menyebabkan berbagai error, seperti halaman kosong, HTTP Error 500, Vite Manifest Not Found, atau aplikasi tidak dapat terhubung ke database.
Melalui tutorial ini, Anda akan mempelajari cara upload Laravel ke cPanel dengan benar sehingga aplikasi dapat berjalan dengan lancar.
Persiapan Sebelum Upload
Sebelum mengunggah project Laravel, pastikan beberapa hal berikut sudah dipenuhi.
Project Laravel sudah berjalan normal di localhost.
Semua dependency telah terinstal.
Database sudah siap.
Akun hosting mendukung versi PHP yang sesuai.
Akses ke cPanel tersedia.
Jika aplikasi menggunakan Node.js dan Vite, lakukan proses build terlebih dahulu sebelum diunggah.
Build Project Laravel
Masuk ke folder project Laravel.
Jalankan perintah berikut.
npm install
Kemudian lakukan build.
npm run build
Setelah proses selesai akan terbentuk folder:
public/build
Folder ini wajib ikut diunggah ke server.
Jika langkah ini dilewati, biasanya akan muncul error:
Vite manifest not found
Optimasi Laravel Sebelum Upload
Agar aplikasi lebih optimal di server production, jalankan beberapa perintah berikut.
Membersihkan cache:
php artisan optimize:clear
Cache konfigurasi:
php artisan config:cache
Cache route:
php artisan route:cache
Cache view:
php artisan view:cache
Langkah ini membantu meningkatkan performa aplikasi setelah diunggah.
Upload Project ke Hosting
Masuk ke cPanel kemudian buka File Manager.
Upload seluruh project Laravel ke folder di luar public_html.
Contoh struktur yang direkomendasikan:
/home/username/laravel-app/
/home/username/public_html/
Folder laravel-app berisi seluruh project Laravel.
Sedangkan public_html hanya berisi file yang memang boleh diakses melalui browser.
Struktur ini lebih aman dibandingkan meletakkan seluruh project di dalam public_html.
Memindahkan Folder Public
Masuk ke folder Laravel.
Buka folder:
public
Salin seluruh isi folder tersebut ke dalam:
public_html
Jangan memindahkan foldernya, tetapi salin seluruh isinya.
Contohnya:
index.php
favicon.ico
robots.txt
build/
storage/
Jika menggunakan Vite, pastikan folder:
build
ikut tersalin.
Mengubah Lokasi Bootstrap
Buka file:
public_html/index.php
Ubah bagian berikut sesuai lokasi project Laravel.
Contoh:
require __DIR__.'/../laravel-app/vendor/autoload.php';
$app = require_once __DIR__.'/../laravel-app/bootstrap/app.php';
Sesuaikan nama folder dengan lokasi project Anda.
Kesalahan pada bagian ini sering menyebabkan HTTP Error 500.
Mengatur File .env
Buka file .env.
Sesuaikan konfigurasi berikut.
APP_ENV=production
APP_DEBUG=false
APP_URL=https://domainanda.com
Kemudian atur koneksi database.
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=username_database
DB_PASSWORD=password_database
Pastikan nama database sesuai dengan yang dibuat di cPanel.
Import Database
Masuk ke phpMyAdmin.
Pilih database yang telah dibuat.
Import file SQL hasil export dari localhost.
Apabila menggunakan migration, Anda juga dapat menjalankan migration melalui SSH jika hosting mendukung.
Mengatur Permission Folder
Laravel membutuhkan hak akses untuk beberapa folder.
Pastikan folder berikut dapat ditulis oleh sistem.
storage
bootstrap/cache
Permission yang umum digunakan:
Folder:
755
File:
644
Jangan menggunakan permission 777 karena berisiko terhadap keamanan.
Membuat Storage Link
Jika aplikasi menggunakan upload gambar atau dokumen, Laravel memerlukan symbolic link.
Jika hosting mendukung SSH, jalankan:
php artisan storage:link
Apabila tidak memiliki akses SSH, Anda dapat membuat symbolic link secara manual melalui terminal hosting atau menggunakan fitur yang disediakan penyedia hosting.
Mengubah Versi PHP
Pastikan versi PHP sesuai dengan kebutuhan Laravel.
Melalui menu Select PHP Version di cPanel, pilih versi PHP yang direkomendasikan oleh Laravel yang digunakan.
Versi PHP yang terlalu lama sering menyebabkan aplikasi gagal dijalankan.
Error yang Sering Terjadi Beserta Solusinya
1. HTTP Error 500
Penyebab:
Path
index.phpsalah.File
.envbermasalah.Permission folder salah.
Versi PHP tidak sesuai.
Solusi:
Periksa kembali path project.
Aktifkan sementara
APP_DEBUG=true.Lihat file log Laravel.
2. Vite Manifest Not Found
Error:
Vite manifest not found
Penyebab:
Folder build belum dibuat atau belum diunggah.
Solusi:
Jalankan:
npm run build
Kemudian upload folder:
public/build
3. Storage Tidak Bisa Diakses
Penyebab:
Storage Link belum dibuat.
Solusi:
Buat symbolic link atau storage link sesuai konfigurasi hosting.
4. Error 404 Setelah Upload
Penyebab:
File .htaccess tidak sesuai atau konfigurasi rewrite belum aktif.
Solusi:
Pastikan Apache Rewrite aktif dan file .htaccess Laravel tidak berubah.
5. Database Tidak Terhubung
Pesan error biasanya seperti:
SQLSTATE[HY000]
Solusi:
Periksa:
Nama database.
Username.
Password.
Host database.
Hak akses user database.
6. Could Not Find Driver
Penyebab:
Extension database belum aktif.
Solusi:
Aktifkan extension PDO MySQL melalui pengaturan PHP di cPanel jika tersedia, atau hubungi penyedia hosting.
7. Halaman Blank (White Screen)
Penyebab:
Fatal error yang tidak ditampilkan.
Solusi:
Aktifkan sementara:
APP_DEBUG=true
Kemudian lihat file log.
storage/logs/laravel.log
Tips Agar Laravel Berjalan Stabil di Hosting
Beberapa tips berikut dapat membantu mengurangi potensi masalah setelah deployment.
Gunakan PHP versi terbaru yang didukung Laravel.
Selalu jalankan
npm run buildsebelum upload.Simpan project Laravel di luar
public_html.Jangan menghapus folder
vendor.Pastikan folder
buildikut diunggah.Gunakan SSL agar website berjalan melalui HTTPS.
Lakukan backup sebelum memperbarui aplikasi.
Periksa log Laravel apabila terjadi error.
Kapan Sebaiknya Menggunakan VPS?
Untuk website dengan trafik tinggi atau aplikasi yang kompleks, VPS sering menjadi pilihan yang lebih fleksibel dibanding shared hosting.
VPS memberikan kontrol penuh terhadap:
Versi PHP.
Konfigurasi server.
Nginx atau Apache.
Queue.
Scheduler.
Redis.
Supervisor.
SSL.
Deployment otomatis.
Namun, untuk website company profile atau aplikasi dengan trafik ringan hingga menengah, shared hosting yang berkualitas masih dapat menjadi pilihan.
Mengapa Memilih Ovla Media?
Ovla Media tidak hanya membantu membangun website dan aplikasi berbasis Laravel, tetapi juga menyediakan layanan deployment dan optimasi server agar aplikasi berjalan dengan stabil.
Layanan kami meliputi:
Deploy Laravel ke cPanel.
Deploy Laravel ke VPS.
Konfigurasi Nginx dan Apache.
Optimasi performa aplikasi.
Konfigurasi SSL HTTPS.
Integrasi Payment Gateway.
Integrasi WhatsApp API.
Maintenance Laravel.
Perbaikan error Laravel.
Optimasi SEO Website.
Tim kami berpengalaman menangani berbagai kendala deployment Laravel sehingga proses implementasi menjadi lebih cepat, aman, dan sesuai standar.
Kesimpulan
Mengunggah Laravel ke cPanel memerlukan beberapa langkah tambahan dibandingkan website PHP biasa. Dengan memahami struktur folder Laravel, melakukan build Vite sebelum upload, mengatur file .env, mengonfigurasi index.php, serta memastikan permission dan database telah sesuai, proses deployment dapat berjalan dengan lancar.
Selain itu, memahami penyebab error yang umum terjadi akan membantu Anda menyelesaikan masalah dengan lebih cepat ketika aplikasi dijalankan di server.
Jika Anda membutuhkan bantuan untuk deploy Laravel, migrasi hosting, optimasi server, atau pengembangan aplikasi berbasis Laravel, Ovla Media siap membantu menghadirkan solusi yang aman, cepat, dan profesional.
Artikel Terkait
Cara Menjalankan Queue Worker Laravel di cPanel Tanpa Supervisor
Queue Worker Laravel digunakan untuk memproses pekerjaan di belakang layar, seperti pengiriman email, notifikasi, pembuatan laporan, sinkronisasi API, dan pemrosesan data. Pada VPS, worker biasanya dijaga menggunakan Supervisor. Namun, pada shared hosting cPanel yang tidak menyediakan Supervisor, queue tetap dapat dijalankan menggunakan Cron Job dan perintah queue:work --stop-when-empty.
Cara Integrasi WhatsApp Cloud API dengan Laravel
WhatsApp Cloud API memungkinkan aplikasi Laravel mengirim pesan, notifikasi, dan template WhatsApp melalui layanan resmi Meta. Integrasi ini dapat digunakan untuk konfirmasi pesanan, invoice, pengingat pembayaran, customer service, hingga chatbot. Artikel ini membahas konfigurasi token, pengiriman pesan, serta penerimaan webhook menggunakan Laravel.
Cara Membuat Role dan Permission Laravel Tanpa Package
Role dan permission digunakan untuk membatasi akses pengguna berdasarkan tugas dan kewenangannya. Tanpa memasang package tambahan, Laravel dapat membuat sistem hak akses menggunakan migration, relasi Eloquent, middleware, Gate, Policy, dan Blade Directive. Artikel ini membahas pembuatan role dan permission dari awal, mulai dari struktur database, model, seeder, middleware, hingga penerapannya pada route dan tampilan.