Laravel adalah framework PHP yang populer untuk membangun aplikasi web modern. Setelah Anda selesai mengembangkan aplikasi Laravel Anda, langkah selanjutnya adalah mendeploy-nya ke server hosting agar dapat diakses oleh pengguna. Jika Anda menggunakan cPanel sebagai panel kontrol hosting Anda, artikel ini akan memandu Anda melalui proses deploy Laravel ke hosting cPanel dengan mudah.
Persiapan Sebelum Deploy Laravel ke cPanel
Sebelum memulai proses deployment, ada beberapa persiapan yang perlu Anda lakukan:
- Pastikan aplikasi Laravel Anda siap dideploy. Ini berarti semua fitur sudah berfungsi dengan baik, bug sudah diperbaiki, dan kode sudah dioptimalkan.
- Siapkan akun hosting cPanel. Anda memerlukan akses ke akun cPanel Anda dengan informasi login yang valid.
- Download aplikasi Laravel Anda dalam bentuk ZIP. Kompres seluruh direktori aplikasi Laravel Anda menjadi file ZIP.
- Buat database MySQL. Anda akan memerlukan database untuk menyimpan data aplikasi Laravel Anda. Buat database baru di cPanel dan catat nama database, username, dan password.
Langkah-Langkah Deploy Laravel ke Hosting cPanel dengan Mudah
Berikut adalah langkah-langkah detail tentang cara deploy aplikasi Laravel Anda ke hosting cPanel:
1. Upload File Aplikasi Laravel ke cPanel
Login ke akun cPanel Anda. Cari dan klik ikon "File Manager". Setelah File Manager terbuka, masuk ke direktori public_html (atau direktori lain tempat Anda ingin menempatkan aplikasi Laravel Anda). Klik tombol "Upload" di bagian atas halaman. Upload file ZIP aplikasi Laravel Anda yang telah Anda siapkan sebelumnya. Tunggu hingga proses upload selesai.
2. Ekstrak File Aplikasi Laravel
Setelah file ZIP berhasil diupload, klik kanan pada file tersebut dan pilih "Extract". Pilih direktori tempat Anda ingin mengekstrak file (biasanya di public_html). Pastikan semua file dan folder diekstrak ke direktori yang benar.
3. Pindahkan Isi Folder public ke public_html
Setelah diekstrak, Anda akan melihat sebuah folder bernama public di dalam direktori aplikasi Laravel Anda. Isi dari folder public ini (seperti index.php, .htaccess, dan folder assets) perlu dipindahkan ke direktori public_html. Caranya, masuk ke folder public, pilih semua file dan folder di dalamnya, klik kanan, dan pilih "Move". Pindahkan semua file dan folder tersebut ke direktori public_html.
4. Konfigurasi File .htaccess
File .htaccess berfungsi untuk mengatur konfigurasi server web. Jika Anda tidak melihat file .htaccess di direktori public_html, pastikan opsi untuk menampilkan file tersembunyi diaktifkan di File Manager. Edit file .htaccess dan tambahkan kode berikut:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Kode ini akan mengarahkan semua permintaan ke file index.php di dalam folder public, yang merupakan titik masuk utama aplikasi Laravel Anda.
5. Konfigurasi File .env (Environment Variables)
File .env berisi konfigurasi penting untuk aplikasi Laravel Anda, seperti koneksi database, pengaturan email, dan kunci aplikasi. Cari file .env di direktori utama aplikasi Laravel Anda (di luar public_html). Jika Anda tidak menemukannya, copy file .env.example dan rename menjadi .env. Edit file .env dan sesuaikan konfigurasi berikut:
APP_NAME: Nama aplikasi Anda.APP_URL: URL aplikasi Anda (misalnya,http://example.com).DB_CONNECTION: Tipe koneksi database (biasanyamysql).DB_HOST: Host database (biasanyalocalhostatau127.0.0.1).DB_PORT: Port database (biasanya3306).DB_DATABASE: Nama database yang telah Anda buat di cPanel.DB_USERNAME: Username database.DB_PASSWORD: Password database.
Pastikan Anda mengisi semua konfigurasi dengan benar. Kunci APP_KEY juga perlu di generate. Jalankan perintah php artisan key:generate melalui terminal untuk mengenerate kunci tersebut. Namun, karena kita deploy di cPanel dan tidak memiliki akses terminal, kita bisa lakukan ini secara manual dengan menambahkan baris APP_KEY=base64: diikuti string random sepanjang 32 karakter ke file .env. Anda bisa menggunakan online base64 generator untuk mendapatkan string tersebut.
6. Instalasi Composer Dependencies
Aplikasi Laravel biasanya memiliki dependencies yang perlu diinstal menggunakan Composer. Karena kita tidak memiliki akses terminal di cPanel, kita perlu melakukan instalasi dependencies di komputer lokal kita. Buka terminal atau command prompt di komputer Anda, masuk ke direktori aplikasi Laravel Anda, dan jalankan perintah composer install. Setelah semua dependencies terinstal, upload folder vendor ke direktori aplikasi Laravel Anda di cPanel.
7. Mengatur Symbolic Link (Jika Diperlukan)
Beberapa aplikasi Laravel mungkin memerlukan symbolic link untuk folder storage/app/public agar dapat diakses dari web. Jika aplikasi Anda membutuhkannya, Anda bisa membuat symbolic link menggunakan kode PHP berikut. Buat file PHP baru (misalnya, symlink.php) di direktori public_html dengan kode berikut:
<?php
symlink('/home/username/nama_aplikasi/storage/app/public', '/home/username/public_html/storage');
echo 'Symbolic link berhasil dibuat!';
?>
Ganti username dengan username akun cPanel Anda dan nama_aplikasi dengan nama direktori aplikasi Laravel Anda. Akses file symlink.php melalui browser Anda (misalnya, http://example.com/symlink.php). Setelah symbolic link berhasil dibuat, hapus file symlink.php untuk alasan keamanan.
8. Konfigurasi Cron Job (Jika Diperlukan)
Jika aplikasi Laravel Anda menggunakan scheduler, Anda perlu mengkonfigurasi cron job untuk menjalankan scheduler secara berkala. Login ke cPanel, cari dan klik ikon "Cron Jobs". Tambahkan cron job baru dengan perintah berikut:
* * * * * php /home/username/nama_aplikasi/artisan schedule:run >> /dev/null 2>&1
Ganti username dengan username akun cPanel Anda dan nama_aplikasi dengan nama direktori aplikasi Laravel Anda. Cron job ini akan menjalankan scheduler setiap menit.
Tips dan Trik Deploy Laravel ke cPanel
Berikut adalah beberapa tips dan trik yang dapat membantu Anda dalam proses deploy Laravel ke cPanel:
- Gunakan Git untuk deployment. Jika Anda menggunakan Git untuk mengelola kode aplikasi Anda, Anda dapat menggunakan fitur Git Deployment di cPanel untuk mempermudah proses deployment. Fitur ini memungkinkan Anda untuk secara otomatis menarik (pull) perubahan kode dari repository Git Anda ke server cPanel.
- Konfigurasi caching. Aktifkan caching untuk meningkatkan performa aplikasi Anda. Laravel menyediakan berbagai macam opsi caching, seperti file caching, database caching, dan Redis caching.
- Optimalkan gambar. Kompres gambar sebelum menguploadnya ke server untuk mengurangi ukuran file dan mempercepat waktu loading halaman.
- Gunakan CDN. Gunakan Content Delivery Network (CDN) untuk mendistribusikan aset aplikasi Anda (seperti gambar, CSS, dan JavaScript) ke server yang tersebar di seluruh dunia. Ini dapat membantu meningkatkan kecepatan akses aplikasi Anda bagi pengguna di berbagai lokasi.
Troubleshooting Masalah Umum Deploy Laravel ke cPanel
Berikut adalah beberapa masalah umum yang mungkin Anda temui saat deploy Laravel ke cPanel dan cara mengatasinya:
- Error 500 Internal Server Error. Error ini biasanya disebabkan oleh kesalahan konfigurasi pada file
.htaccessatau masalah dengan permissions file. Pastikan file.htaccessAnda dikonfigurasi dengan benar dan semua file dan folder memiliki permissions yang sesuai. - Halaman putih (blank page). Halaman putih biasanya disebabkan oleh kesalahan PHP. Aktifkan mode debug di file
.env(APP_DEBUG=true) untuk melihat pesan error yang lebih detail. Periksa log error server untuk informasi lebih lanjut. - Database connection error. Pastikan konfigurasi database di file
.envsudah benar dan database MySQL Anda berjalan dengan baik.
Kesimpulan
Deploy Laravel ke hosting cPanel memang membutuhkan beberapa langkah, tetapi dengan panduan ini, Anda dapat melakukannya dengan mudah. Pastikan Anda mengikuti semua langkah dengan teliti dan memperhatikan tips dan trik yang telah disebutkan. Dengan demikian, aplikasi Laravel Anda akan dapat berjalan dengan lancar di hosting cPanel Anda dan dapat diakses oleh pengguna di seluruh dunia.
Dengan mengikuti panduan ini, Anda tidak hanya berhasil melakukan cara deploy Laravel ke hosting cPanel dengan mudah, tetapi juga memahami setiap aspek penting dalam proses tersebut. Selamat mencoba, dan semoga sukses!