Setelah menyelesaikan semua materi di dalam ebook, baik dari sisi backend (Laravel) dan
frontend (React.js), maka sekarang kita akan lanjutkan lagi belajar bagaimana cara melakukan
deployment atau proses meng-onlinekan project yang sudah kita buat agar dapat
diakses secara global di internet.
Disini saya akan berikan rekomendasi Hosting atau cPanel yang sudah support
Laravel dan akan mendapatkan potongan harga dengan memasukkan kode kupon. Dan untuk fitur-fitur dari
cPanel yang direkomendasikan ini kurang lebih seperti berikut :
- Git
- SSH
- Composer
- Terminal
- Dan lain-lain.
- Gratis SSL (https://)
Kupon Diskon Hosting di RiauCyberSoluion.net
👉 Link pembelian Hosting : https://riaucybersolution.net/cart.php?gid=58
👉 Kupon/Voucher : SantriKodingFullstack
❗️ CATATAN : Minimal pembelian Hosting 3 bulan
Disini saya akan menggunakan domain https://appdev.my.id dan untuk Laravel atau backend-nya nanti akan kita
letakkan di dalam subdomain, katakanlah di subdomain berikut ini https://backend-travel.appdev.my.id.
Untuk nama subdomain ini sifatnya bebas dan silahkan disesuaikan dengan keinginan
masing-masing.
Langkah 1 - Membuat Subdomain
Sampai disini saya kira teman-teman semuanya sudah mempunyai domain dan hosting untuk
proses pembelajaran, pertama kita akan belajar bagaimana membuat subdomain baru di dalam
cPanel.
Silahkan buka cPanel dengan mengetikan http://namadomain.com/cpanel, jika berhasil maka akan muncul halaman
login dari cPanel kurang lebih seperti berikut ini :
CATATAN! : silahkan ganti namadomain.com sesuai dengan domain yang
teman-teman miliki.
Jika berhasil melakukan otentikasi, maka akan masuk ke dalam halaman dashboard dari
cPanel, kurang lebih seperti berikut ini :
Setelah itu, silahkan klik menu Subdomains dan jika berhasil akan membuka halaman
seperti berikut ini :
Sekarang, kita akan membuat subdomain baru yang nantinya akan kita gunakan untuk menaruh
project Laravel. Silahkan buat subdomain sesuai dengan keinginan masing-masing. Dalam
contoh kali ini saya membuat seperti berikut ini :
Di atas saya berikan contoh untuk nama subdomain-nya adalah backend-travel dan
untuk domain yang digunakan adalah appdev.my.id. Maka nanti hasilnya seperti
berikut ini : https://backend-travel.appdev.my.id.
Langkah 2 - Export Database di Localhost
Sekarang kita akan melakukan export database yang ada di lokal komputer kita. Silahkan
buka http://localhost/phpmyadmin, kemudian
pilih database yang akan di export.
Langkah 3 - Buat dan Import Database di cPanel
Setelah di lokal database kita berhasil di export, sekarang kita lanjutkan untuk
import database kita di cPanel. Silahkan klik menu
MySQL Database, seperti pada gambar di bawah ini :
Silahkan buat nama database terlebih dahulu, di atas saya contohkan untuk nama
database-nya adalah appdev_travel, setelah itu klik create database.
Setelah database sudah berhasil terbuat, sekarang kita lanjutkan untuk membuat user
dan password untuk database kita. Masih di menu yang sama di
MySQL Database, akan tetapi kita secroll kebawah dan kita akan temukan inputan
untuk membuat user dan password, kurang lebih seperti ini :
Di atas saya membuat user-nya sama dengan nama travel, dan ini sesuai keinginan
kita, dengan syarat nanti harus bisa mengingatnya ya.
Kemudian untuk password silahkan diisi dengan password yang kita inginkan. Setelah
itu klik create user dan tunggu prosesnya sampai selesai.
Kemudian sekarang kita lanjutkan untuk assign untuk user dan database. masih
di menu yang sama, silahkan scroll kebawah dan kurang lebih seperti ini :
Di atas silahkan pilih user dan database yang sudah kita buat sebelumnya, maka kurang
lebih hasilnya seperti di atas. Kemudian klik add. Kemudian akan muncul
Manage User Privileges, Silahkan centang semua dan klik Make Changes.
Sekarang kita lanjutkan untuk proses import database kita di cPanel, silahkan
kembali ke halaman awal cPanel, kemudian masuk ke menu phpmyadmin. Kurang
lebih seperti berikut ini :
Tunggu beberapa saat, kita akan di arahkan ke halaman phpmyadmin milik
cPanel dan kita bisa lakukan proses import database yang sudah kita
export sebelumnya.
Langkah 4 - Upload Project
Laravel
Setelah kita berhasil import database di cPanel, sekarang kita lanjutkan untuk
upload project website-nya, langsung saja kita mulai. Silahkan klik kanan pada project
Laravel dan compress menjadi format .zip, kurang lebih seperti berikut ini :
Setelah project sudah berhasil menjadi zip file, sekarang kita kembali ke
halaman cPanel dan klik menu File Manager, kurang lebih seperti
berikut ini tampilannya.
Di atas, silahkan upload project dengan format zip. Jika sudah berhasil
terupload, kurang lebih seperti berikut ini :
Langkah 5 - Konfigurasi Project Laravel di cPanel
Setelah file project dengan format zip sudah terupload, sekarang
kita akan lakukan konfigurasinya. Langsung saja kita mulai. Silahkan extract file
zip-nya kurang lebih seperti beriku ini :
Di atas kita akan extract projectnya dengan nama backend-travel kemudian
silahkan tunggu proses extracting sampai selesai.
Kemudian klik reload di filemanager, maka kita sudah mendapatkan sebuah
folder dengan nama backend-travel kemudian buka folder tersebut maka kita
akan mendapatkan folder lagi dengan nama laravel-travel. Kemudian masuk ke
folder tersebut dan itulah project kita, hasilnya seperti berikut ini :
Kemudian kita lanjutkan untuk menampilkan hidden file, secara default cPanel
meng-hidden file dengan awalan dot (.) oleh karena itu file
.htaccess, .env, dan lain-lain semua di hidden.
Untuk menampilkannya kita bisa seperti berikut ini :
Setelah itu, disini kita akan melakukan move data 2 kali, silahkan masuk ke folder
backend-travel/laravel-travel/public kemudian select all file dan
folder kemudian pilih move. Kurang lebih seperti berikut ini :
Di atas kita move ke dalam folder /backend-travel.appdev.my.id. Folder
tersebut merupakan folder dimana subdomain kita berada.
Setelah itu kita juga akan move lagi semua file yang ada di dalam folder
laravel-travel ke dalam folder backend-travel. Yaitu mengeluarkan
satu tingkat.
Sekarang, kita lanjutkan untuk merubah beberapa kode di dalam file index.php di
folder backend-travel.appdev.my.id, silahkan masuk ke
backend-travel.appdev.my.id kemudian pilih file index.php klik kanan
dan klik edit. Kurang lebih seperti berikut ini :
Ubah di bagian autoload.php menjadi seperti berikut ini :
require __DIR__.'/../backend-travel/vendor/autoload.php’;
Kemudian ubah juga bagian app.php menjadi seperti beirkut ini :
$app = require_once __DIR__.'/../backend-travel/bootstrap/app.php’;
Kemudian kita juga akan merubah beberapa kode lagi untuk App Service Providers, silahkan
ikuti gambar di bawah ini :
Dari gambar di atas, pada bagian function boot, silahkan tambahkan kode berikut ini :
$this->app->bind('path.public', function() {
return base_path().'/../backend-travel.appdev.my.id';
});
Jadi di atas kita set untuk base path dari project kita adalah
folder backend-travel.appdev.my.id.
Setelah itu kita akan lanjutkan untuk konfigurasi file .env untuk mengatur koneksi
database kita, silahkan buka file .env di dalam folder
backend-travel. Kemudian klik kanan dan edit.
Langkah 6 - Menjalankan Storage:link Laravel
Sebelum kita menjalankan storage:link atau symlink, kita harus hapus
symlink yang lama bawaan dari localhost terlebih dahulu. Silahkan masuk ke
folder backend-travel.appdev.my.idl. kemudian klik kanan pada
folder storage dan delete.
Sekarang kita lanjutkan untuk menjalankan php artisan storage:link di
cPanel, silahkan buka menu terminal di halaman utama
cPanel, kurang lebih seperti berikut ini :
Sebelum menjalankan perintah berikut ini, silahkan perhatikan gambar di atas, silahkan ganti
appdev dengan username cPanel kalian dan ganti
backend-travel.appdev.my.id dengan subdomain atau domain kalain. Setelah
itu jalankan perintah berikut ini di dalam terminal :
ln -s /home/username_cpanel/backend-travel/storage/app/public /home/username_cpanel/subdomain_kalian.com/storage
Langkah 7 - Mencoba Project
Sekarang jika kita coba jalankan project admin dari travel onlin-nya, dalam studi kasus
kali ini saya menggunakan nama domain https://backend-travel.appdev.my.id/ dan kurang lebih hasilnya seperti berikut
ini :
Terus kita coba akses salah satu Rest API-nya di link berikut ini https://backend-travel.appdev.my.id/api/web/places, jika berhasil maka kurang
lebih hasilnya seperti berikut ini :