Cara Upload Laravel ke cPanel: Panduan Langkah-demi-Langkah
Viewing
Untuk memudahkan melihat gambar pada browser, silahkan zoom in terlebih dahulu
dengan perintah pada keyboard command dan + untuk pengguna mac dan untuk
windows bisa gunakan perintah ctrl dan +
Happy reading, everyone! 😁🚀
Note
Project aplikasi Laravel yang menggunakan domain-utama dan Document root
defaultnya berada di public_html, Data-data aplikasinya di pindahkan ke
folder tersebut, dan buat file bernama .htaccess di dalam folder
public_html. Klik link ini untuk lihat detailnya Deploy Laravel to
cPanel.
Mengapa Laravel Sering Terlihat Sulit di Shared Hosting? 🤔
Banyak pengembang merasa kesulitan saat pertama kali mencoba mengdeploy aplikasi Laravel ke Shared Hosting cPanel biasa. Ini karena Laravel memiliki struktur folder yang spesifik, terutama direktori public yang harus menjadi Document Root (akar dokumen) agar aplikasi berjalan dengan aman dan benar.

1. Persiapan Awal (Requirements)

Gambar ini adalah tampilan user interface cPanel untuk requirement setup Domain dan PHP Version.
2. Persiapan Data-data Aplikasi / Proyek
Untuk mempermudah proses upload, kompres seluruh folder proyek Laravel Anda ke dalam format .zip. Pastikan Anda mengkompres isi folder utama proyek (dan pastikan untuk hidden file ikut terkompres). Ada berbagai cara untuk melakukan kompress folder atau file sepeti gambar di bawah ini.

3. Export Database
Untuk mengekspor database, Anda bisa menggunakan perintah mysqldump di terminal Local Komputer atau Laptop. Perintah ini akan menghasilkan file SQL yang berisi semua skema (struktur tabel) dan data dari database Anda.

Perintah yang terlihat pada gambar adalah:
mysqldump -u root -p laravel12 > laravel12 | gzip > laravel12.sql.gz
Setelah Anda menjalankan perintah ini dan memasukkan password dengan benar, sebuah file bernama laravel12.sql.gz akan dibuat di direktori tempat Anda menjalankan perintah tersebut. File ini siap untuk diimpor ke server cPanel Anda.
4. Preview Local
Sebelum memulai proses deployment ke cPanel, sangat penting untuk memastikan bahwa aplikasi Laravel Anda sudah berjalan dengan sempurna di lingkungan lokal. Seperti yang terlihat pada gambar, aplikasi Laravel sudah berhasil diakses melalui browser dengan URL http://127.0.0.1:8000 atau localhost.

Ini menunjukkan bahwa:
- Semua route dan controller berfungsi dengan baik.
- Koneksi ke database (jika ada) sudah berhasil.
- Tampilan (view) aplikasi sudah sesuai dengan yang diharapkan.
Jika aplikasi Anda sudah berfungsi dengan baik di lokal, Anda bisa melanjutkan ke langkah berikutnya dengan keyakinan bahwa masalah yang mungkin muncul setelah deployment bukanlah berasal dari kode inti aplikasi, melainkan dari konfigurasi server.
5. Upload Data
Unggah File Aplikasi ke cPanel, Setelah Anda mengkompresi proyek Laravel menjadi file .zip atau .tar.gz, langkah selanjutnya adalah mengunggahnya ke server cPanel.

Pada gambar ini data-data aplikasi di upload pada direktory nama-domain-anda atau nama-subdomain-anda tidak di dalam folder /public dikarenakan dari awal struktur data-data aplikasi laravel sudah terdapat folder /public sehingga nantinya akan di timpa isi untuk folder /public yang saat ini sudah ada pada di server.
6. Setup Struktur Folder

Ekstrak dan Pindahkan data-data Aplikasi
- Di File Manager, klik kanan pada file arsip (misalnya, example-app.tar.gz) dan pilih Extract, Setelah proses ekstraksi selesai, sebuah folder baru (misalnya, example-app) akan muncul di direktori yang sama.
- Masuk ke dalam folder example-app.
- Pilih semua file dan folder yang ada di dalamnya, lalu klik Move di bagian atas menu.
- Pada dialog Move, ubah jalur destinasi menjadi direktori root domain Anda, yaitu nama folder domain / subdomain. Klik Move Files.
Note
Untuk project web aplikasi yang menggunakan domain-utama dan Document root
defaultnya berada di public_html pindahkan data ke nama folder tersebut
untuk data-data aplikasinya, dan buat file bernama .htaccess di dalam
folder public_html. Klik link ini untuk lihat detailnya Laravel on
cPanel.
7. Struktur Folder
Berikut ini adalah tampilan dari struktur folder data aplikasi.

8. Create Database di cPanel
Untuk setup database ini semua berada di halaman cPanel > Manage My Databases seperti gambar berikut :

Membuat Database dan Pengguna (User)
Setelah file aplikasi Anda terunggah, langkah selanjutnya adalah menyiapkan database yang akan digunakan oleh Laravel.
- Di menu utama cPanel, cari dan klik Manage My Databases. Pada bagian Create New Database, masukkan nama database yang Anda inginkan (misalnya, laravel12), lalu klik Create Database.
- Gulir ke bawah ke bagian Add New User. Masukkan nama pengguna (misalnya, laravel12) dan password yang kuat. Pastikan untuk mencatat nama database, nama pengguna, dan password karena Anda akan membutuhkannya untuk konfigurasi file .env Laravel.
- Setelah membuat pengguna, gulir ke bagian Add User to Database. Pilih pengguna yang baru saja Anda buat dari menu User dan database yang juga baru Anda buat dari menu Database, lalu klik Add.
- Pada halaman Manage User Privileges, centang kotak ALL PRIVILEGES untuk memberikan semua hak akses kepada pengguna tersebut. Setelah itu, klik Make Changes.
Database Anda kini sudah siap dan memiliki pengguna dengan hak akses penuh yang dapat digunakan oleh aplikasi Laravel Anda.
9. Konfigurasi File .env
File .env berisi semua konfigurasi penting untuk aplikasi Laravel Anda, seperti pengaturan database dan URL aplikasi.

- Di File Manager, buka folder utama proyek Laravel Anda (misalnya, example-app).
- Cari file .env dan klik dua kali untuk membukanya di editor cPanel.
- Konfigurasi Aplikasi:
- Pastikan APP_ENV disetel ke production.
- Pastikan APP_URL disetel ke URL domain atau subdomain Anda, misalnya http://laravel.kimino.my.id.
- Konfigurasi Database:
- Masukkan detail database yang telah Anda buat sebelumnya.
- Isi DB_DATABASE dengan nama database Anda.
- Isi DB_USERNAME dengan nama pengguna database Anda.
- Isi DB_PASSWORD dengan kata sandi database Anda.
- Setelah semua perubahan selesai, klik Save Changes di pojok kanan atas untuk menyimpan file.
Setelah file .env dikonfigurasi dengan benar, aplikasi Anda akan tahu cara terhubung ke database dan beroperasi di lingkungan live.
10. Import Database
Setelah database dan pengguna berhasil dibuat, langkah selanjutnya adalah mengimpor data dari database lokal Anda ke server cPanel. Ada dua cara yang bisa Anda gunakan:
Metode 1: Impor Melalui phpMyAdmin

- Di cPanel, cari dan klik phpMyAdmin.
- Di sisi kiri, pilih nama database yang telah Anda buat sebelumnya (misalnya,
laravel12). - Klik tab Import di bagian atas menu.
- Klik Choose File, lalu cari dan pilih file
.sqlyang telah Anda ekspor dari database lokal. - Setelah file terpilih, klik Import di bagian bawah halaman.
Metode 2: Impor Melalui SSH (Terminal)

- Buka Terminal di cPanel Anda.
- Unggah file
.sqlAnda ke direktori yang mudah diakses di server. - Jalankan perintah berikut:
gunzip < [nama_database.sql.gz] | mysql -u [username] -p [nama_database] - Tekan Enter dan masukkan password database Anda saat diminta. Jika tidak ada pesan error, berarti impor berhasil.
Aplikasi Berhasil di-Deploy! 🎉
Selamat! Aplikasi Laravel Anda kini telah berhasil di-deploy dan dapat diakses secara online. Seperti yang terlihat pada gambar, URL aplikasi sudah mengarah ke subdomain Anda (
https://laravel.kimino.my.id), dan halaman yang tadinya hanya bisa diakses di lokal sekarang sudah tampil di internet.
Dan silahkan sesuaikan url pada script aplikasi Anda jika sebelumnya pada script masih ada url yg masih mengarah ke Local atau http://127.0.0.1:8000 ganti ke nama-domain-anda atau ke subdomain-anda. untuk /products atau /users atau lainnya biarkan saja yang di ganti hanya http://localhost atau http://127.0.0.1:8000
Langkah Opsional: Konfigurasi Lanjutan
Meskipun aplikasi sudah berhasil online, ada beberapa perintah Laravel yang mungkin perlu Anda jalankan di server untuk menyelesaikan konfigurasi. Anda bisa melakukannya melalui Terminal di cPanel (SSH) dan pastikan sudah berada di direktory data-data aplikasi berada.
-
Symbolic link: Agar file yang disimpan oleh aplikasi Laravel (misalnya hasil upload) bisa diakses publik lewat browser. Anda dapat membuat symbolic link dari terminal dan jalankan di path / Direktory root aplikasi:
php artisan storage:link -
Generate APP_KEY: Jika Anda tidak menyalin
APP_KEYdari file.envlokal, Anda bisa membuatnya di server dengan perintah ini:php artisan key:generate -
Migrasi Database: Jika Anda memiliki perubahan pada skema database, Anda dapat menjalankan migrasi dari terminal:
php artisan migrate -
Jalankan Seeder (jika ada): Untuk mengisi database dengan data awal, jalankan seeder:
php artisan db:seed
Note
Pilih Document Root Domain pada cPanel yang menunjuk langsung ke folder /public, contoh:
- public_html/nama-folder-anda/public
- subdomain-anda/public Jika Document Root Domain tidak pada /public gunakan:
- folder terpisah dari public_html sehingga isi public_html adalah /public laravel anda. Link: Deploy Laravel to cPanel.
- buat folder baru di luar nama-subdomain-anda yg isinya data-data laravel anda kecuali /public, dan isi /public ini yg di pindahkan ke dalam folder nama-subdomain-anda
Ini adalah cara yang paling aman, paling efisien, dan paling sesuai dengan arsitektur keamanan Laravel.
Dengan langkah-langkah tambahan ini, aplikasi Laravel Anda akan benar-benar siap beroperasi secara penuh di lingkungan production.
Selamat berkarya!



