Pada artikel ini, akan dijelaskan langkah-langkah untuk meng-upload project Laravel versi terbaru (saat artikel ini dibuat versi terbaru adalah 8.x) ke hosting. Output dari artikel ini adalah aplikasi berbasis Laravel yang dapat diakses secara live.

Cek Versi PHP

Hal pertama yang perlu diperhatikan adalah mengecek persyaratan (requirement) Laravel 8.x khususnya versi php yang digunakan. Pada dokumentasi resmi Laravel laravel.com/docs/8.x/deployment, disebutkan bahwa versi php yang dibutuhkan adalah versi 7.3 atau yang lebih baru. Oleh karena itu kita harus mengecek versi php yang digunakan oleh hosting yang kita sewa dengan cara login ke cpanel.

Buat kamu yang belum tahu cara mengubah versi php di cpanel, caranya cukup mudah, setelah berhasil login di Cpanel, cari menu “Select PHP Version” pada tab Software. Klik menu tersebut dan Anda bisa pilih versi php lewat opsi dropdown yang tersedia.

Pilih Versi Php
Pilih Versi php di Cpanel

Jika current php version-nya belum sesuai requirement Laravel 8, silakan sesuaikan terlebih dahulu dengan versi php 7.3 ke atas.

Langkah selanjutnya adalah meng-compress project Laravel kita ke dalam bentuk zip. Caranya yaitu dengan melakukan klik kanan pada folder project Anda lalu pilih Add to archive dan beri nama file kompresi tersebu dengan “nama_project.zip”.

Untuk nama project disarankan tidak menggunakan spasi, jika nama project tersebut lebih dari satu kata bisa dipisahkan dengan underscore (contoh: nama_project) atau huruf kapital (contoh: NamaProject). Dalam hal ini, project Laravel yang dijadikan contoh bernama “blog8”.

Upload Project Laravel Anda

Langkah selanjutnya adalah meng-upload project kita yang sudah berbentuk .zip ke folder “public_html” di hosting dengan cara masuk ke folder “public_html” lalu klik “upload”. Untuk kamu yang belum memiliki file Laravel versi lengkap (dengan modul plus file composer), kamu dapat mengunduhnya lewat tautan berikut:

Sebenarnya, Anda bisa saja mengunduh Laravel resmi via GitHub (github.com/laravel/laravel/). Hanya saja, dengan adanya gitignore, Anda tetap harus jalankan command “composer install” atau “composer update” yang berarti kamu harus install composer dulu agar file Laravel dapat dijalankan (perihal ini akan dijelaskan di artikel selanjutnya).

Lalu, kita akan kembali ke halaman “public_html” dengan tambahan project Laravel kita dalam bentuk .zip. Langkah selanjutnya adalah mengekstrak file tersebut.

Setelah proses ekstraksi selesai, project kita yang berbentuk zip boleh dihapus. Di tahap ini, sebenarnya kita sudah bisa mengakses project Laravel kita dengan mengunjungi url berikut:

“http://nama_domain/nama_project/public”

Sebagai contoh, url penulis adalah cekips.com/laraproject/public/ dan akan tampil landing page yang sama dengan landing page default Laravel.

Tampilan Default Laravel 8 Dengan Php V7.4
Tampilan Default Laravel 8 Dengan php v7.4

Buat File .htaccess

Agar landing page bisa muncul ketika kita mengunjungi url http://nama_domain, maka kita buka kembali folder “public_html” lalu buat file “.htaccess”.

Secara default, halaman “File Manager” akan menyembunyikan file yang penamaannya diawali titik (dot) seperti file dengan nama “.htaccess” atau “.env”. Hal ini akan cukup merepotkan karena saat men-develop aplikasi berbasis website kita terkadang perlu mengedit file-file tersebut secara manual. Agar file yang penamaannya diawali titik (dot) bisa terlihat, maka klik button “Settings” yang berada pada pojok atas dan pilih “Show Hidden Files (dotfiles)”.

Cara Menampilkan File Tersembunyi Di Cpanel
Cara Menampilkan File Tersembunyi Di Cpanel

Setelah itu edit file “.htaccess” dan tabahkan kode berikut di dalam file tersebut:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ nama_project/public/$1 [L]
</IfModule>

Kemudian klik “Save Changes”. Jangan lupa untuk mengubah “nama_project” dengan nama sebenarnya dari folder yang sudah Anda unggah ke hosting. Berikutnya ketika kita mengunjungi url dengan mengetikkan nama domain kita, maka akan muncul halaman landing page project kita.

Koneksi Laravel ke Database

Langkah selanjutnya adalah mengatur (setting) koneksi database. Jika kita membuka halaman yang meng-query data dari database, maka akan muncul kata-kata error sebagai berikut:

illuminate\Database\QueryException
SQLSTATE[HY000] [1045] Access denied for user Laravel ...

Untuk mengatasi error tersebut, kita harus menyiapkan database di SQL server yang nantinya ingin kita hubungkan ke aplikasi laravel. Berikut diantara cara yang bisa Anda gunakan untuk mendapatkan database laravel di SQL server hosting Anda:

  • Import file .sql laravel yang sudah Anda punya via phpMyAdmin
  • Buat database baru dan sesuaikan tabelnya lewat tutorial instalasi Laravel berikut
  • Gunakan file .sql kami yang dapat diunduh pada tautan di bawah ini

Setelah database tersebut diimpor via phpMyAdmin, jangan lupa untuk mengatur privilage database atau membuatkan akun yang memiliki akses ke DB tersebut. Selanjutnya, Anda perlu menyiapkan detail sebagai berikut untuk nantinya dimasukkan dalam pengaturan file .env dalam aplikasi Laravel:

  • DB_CONNECTION=
  • DB_HOST=
  • DB_PORT=
  • DB_DATABASE=
  • DB_USERNAME=
  • DB_PASSWORD=

Pada umumnya, pada bagian DB_CONNECTION bisa Anda isi dengan mysql, sedangkan untuk 5 kolom lainnya, bisa Anda sesuaikan dengan pengaturan hosting atau server yang Anda miliki. Berikut salah satu contoh pengisian .env di aplikasi cek IP Adress edngan engine Laravel, Cekips.com:

APP_NAME="CekIPs"
APP_ENV=production
APP_KEY=base64:8vRGIw**********************=
APP_DEBUG=false
APP_URL="https://cekips.com"

LOG_CHANNEL=stack

DB_INSTALLED="1"
SYSTEM_INSTALLED="1"
EMAIL_SERVER_SET="0"
DEMO="0"
TIME_ZONE="Asia/Makassar"

DB_CONNECTION=mysql
DB_HOST="localhost"
DB_PORT=51623
DB_DATABASE="db_appscekip"
DB_USERNAME="u_appscekip"
DB_PASSWORD="XRTDXXsyii"

Oke, jika semua tahapan diatas sudah kamu lakukan, maka selamat, karena aplikasi Laravel kamu sudah berhasil ter-upload ke hosting yang Anda miliki. Untuk menguji apakah koneksi database kamu ke aplikasi Laravel sudah terhubung, silakan kamu akses url dengan format berikut:

https://domain_kamu/folder_laravel/public/order

Jika sukses menggunakan semua modul contoh yang sudah kami sediakan di atas, kamu akan melihat tampilan persis seperti pada url demo berikut:

https://cekips.com/laraproject/public/order

Pada halaman diatas, Anda dapat memasukkan sebuah data yang akan tersimpan pada database, dan akan muncul walaupun halaman tersebut Anda reload. Jika terjadi error, periksa kembali database Anda dan pastikan isian file .env sudah benar. Selamat mencoba!