Cara Memindahkan Project Laravel Dari Server Lokal Ke Hosting Cpanel
Memindahkan proyek Laravel dari lingkungan pengembangan lokal (seperti XAMPP, Laragon, atau Valet) ke hosting berbasis cPanel adalah proses penting saat kamu ingin aplikasi Laravel-mu bisa diakses publik melalui internet. Panduan ini akan membahas langkah-langkah detail untuk memindahkan aplikasi Laravel ke hosting shared (misalnya yang menggunakan cPanel), lengkap dengan pengaturan direktori, database, dan konfigurasi environment.
1. Persiapan Proyek Laravel di Lokal
Sebelum melakukan pemindahan, pastikan proyek Laravel kamu berjalan normal di server lokal. Lakukan pembersihan cache untuk menghindari error setelah deploy:
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
Kamu juga bisa menjalankan:
composer install --no-dev
untuk memastikan dependencies utama sudah siap.
2. Kompres File Proyek
Agar proses upload ke server lebih cepat dan rapi:
Kompres seluruh folder proyek Laravel (kecuali
node_modules/
danvendor/
agar ukuran file tidak terlalu besar).Gunakan format ZIP agar mudah diekstrak di cPanel.
Contoh struktur sebelum dikompres:
my-laravel-app/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── .env
├── artisan
└── composer.json
3. Upload ke Hosting (cPanel)
A. Masuk ke cPanel
Login ke cPanel melalui URL seperti
namadomain.com/cpanel
Gunakan File Manager untuk mengelola file
B. Upload dan Ekstrak ZIP
Arahkan ke folder
public_html/
Upload file ZIP Laravel yang sudah kamu buat
Ekstrak file di dalam
public_html/
Setelah ekstrak, idealnya file Laravel tidak langsung berada di public_html/
, melainkan satu folder di atasnya. Kita akan atur struktur ini di langkah berikutnya.
4. Atur Struktur Direktori Laravel
Laravel menyimpan file publik (yang bisa diakses browser) di dalam folder public/
. Namun, di hosting, file yang bisa diakses publik biasanya adalah public_html/
. Maka kita harus memindahkan isi dari folder public/
ke public_html/
.
Langkah-langkah:
Masuk ke folder Laravel yang kamu ekstrak (misalnya
my-laravel-app/
)Buka folder
public/
dan pindahkan semua isinya kepublic_html/
Edit file
index.php
dipublic_html/
:
Ubah:
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
Menjadi:
require __DIR__.'/../my-laravel-app/vendor/autoload.php';
$app = require_once __DIR__.'/../my-laravel-app/bootstrap/app.php';
(Ganti my-laravel-app
dengan nama folder Laravel kamu jika berbeda)
5. Upload Folder vendor/
Kamu bisa melakukan ini dengan dua cara:
A. Jika Hosting Mendukung SSH:
Login SSH ke server kamu
Navigasikan ke folder Laravel
Jalankan:
composer install --no-dev --optimize-autoloader
B. Jika Tidak Mendukung SSH:
Di lokal, jalankan:
composer install --no-dev
Kompres folder
vendor/
Upload ke server (di folder Laravel), lalu ekstrak
6. Konfigurasi File .env
File .env
adalah konfigurasi utama Laravel. Di hosting, kamu harus sesuaikan isinya, terutama bagian database:
Contoh konfigurasi:
APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:isi-key-kamu
APP_DEBUG=false
APP_URL=https://namadomain.com
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=username_db
DB_PASSWORD=password_db
7. Set Izin Folder (Permissions)
Laravel membutuhkan akses tulis untuk beberapa folder:
storage/
bootstrap/cache/
Atur permissions ke 775 atau 755, tergantung kebutuhan:
chmod -R 775 storage
chmod -R 775 bootstrap/cache
Di cPanel, kamu bisa klik kanan pada folder >Change Permissions
8. Import Database
Jika kamu menggunakan database MySQL:
Export database dari lokal (file
.sql
)Masuk ke cPanel >phpMyAdmin
Buat database baru dan user
Import file
.sql
ke databasePastikan koneksi database di
.env
sesuai dengan info di cPanel
9. Jalankan Migration atau Seeder (Opsional)
Jika kamu belum mengisi database secara manual, kamu bisa jalankan perintah ini jika SSH tersedia:
php artisan migrate
php artisan db:seed
Jika tidak ada SSH, kamu bisa buat script sementara untuk memanggil perintah artisan dari browser (jika perlu).
10. Cek Website
Akses domain kamu, misalnya:
https://namadomain.com
Jika semua langkah sudah benar, website Laravel-mu akan tampil normal seperti di localhost.
Troubleshooting Umum
Masalah | Solusi |
---|---|
500 Internal Server Error | Cek storage/logs/laravel.log , pastikan file vendor/ dan .env sudah ada |
404 Not Found | Pastikan .htaccess di public_html/ tidak terhapus |
Database tidak konek | Periksa konfigurasi .env dan izin user MySQL di cPanel |
Blank Page | Aktifkan APP_DEBUG=true sementara untuk melihat pesan error |
Memindahkan Laravel dari localhost ke hosting memang membutuhkan beberapa penyesuaian, terutama terkait struktur direktori dan konfigurasi file .env
. Namun, setelah terbiasa, proses ini bisa dilakukan dengan sangat cepat. Dengan mengikuti langkah-langkah di atas, kamu bisa membuat aplikasi Laravel kamu go live dengan lancar.
0 Comments