Featured image of post Cara Deploy Web Laravel Ke Hosting Cpanel

Cara Deploy Web Laravel Ke Hosting Cpanel

Setelah membuat web berbasis laravel tentunya kita akan melakukan deploy ke production. Nah, berikut adalah tutorial untuk kalian jika ingin deploy web berbasis laravel ke prouction lewat cpanel hosting.

Jika kita ingin deploy sebuah website yang dibuat dengan framework laravel, ada beberapa hal yang perlu kita perhatikan. Hal tersebut karena ada sedikit perbedaan jika kita ingin melakukan deploy atau meng-online-kan website kita sehingga dapat diakses oleh seluruh user yang ada di internet.

Cara deploy atau hosting di laravel lewat cpanel

Build web di lokal

Sebelum kita melakukan konfigurasi di cpanel, pertama kita harus melakukan build terlebih dahulu, hal ini sangat penting terlebih jika kalian menggunakan vite di dalam website yang kalian buat. caranya cukup mudah, yaitu:

1
npm run build

Jalankan perintah diatas didalam folder web laravel kalian

Compress file dengan zip

Setelah melakukan build kita perlu compress file web kita. Compress semua file termasuk folder node_modules dan juga vendor 2 folder ini sangat penting untuk website laravel kalian. Jika kalian tidak menyertakan kedua folder ini, pastinya website kalian tidak akan dapat berjalan dengan baik.

Upload ke cpanel

halaman cpanel

Buka file manager di cpanel kalian, lalu upload berkas zip tadi–yaitu berkas web kalian–ke dalam folder public_html atau folder lain di tempat kalian ingin melakukan deploy di cpanel.

Ekstrak file zip

cpanel ekstrak

Setelah berhasil upload, kalian perlu ekstrak file tadi ke dalam folder tempat kalian akan deploy. Pastikan semua file yang kalian butuhkan untuk laravel ada setelah di ekstrak. Misalnya file .env, file ini sangat penting dan kalian harus memiliki file ini agar dapat berjalan dengan lancar.

Buat file .htacceess

Setelah upload, kita perlu membuat file .htaccess. Sebenarnya saat ini web laravel kalian sudah dapat diakses dengan url url_web_kalian/public. Dengan mengakses url tersebut kalian akan mendapatkan halaman utama web kalian, akan tetapi jika kita tidak membuat file .htaccess kita perlu mengakses web kita melalui url /public seperti diatas, misal kalian punya route yang mengarah ke /login maka kalian perlu menuliskan seperti ini url_web_kalian/public/login alih alih ``url_web_kalian/login`.

Tentunya kita tidak mau repot repot menuliskan /public setiap kali ingin mengakses route yang sudah kita buat. Nah, file .htaccess ini berfungsi untuk meneruskan atau redirect semua route, misal route /login akan di arahkan ke /public/login tanpa kita tuliskan secara manual.

Caranya, kalian buat berkas bernama .htaccess (pastikan penamaan file benar, kalian perlu menuliskan karakter titik diawal) didalam root folder. Lalu isikan dengan code berikut:

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

Simpan file tersebut, lalu silakan coba akses halaman web kalian tanpa /public seharusnya sekarang web laravel kalian sudah dapat diakses.

Hapus file hot di folder public

Terakhir, kalian perlu menghapus sebuah file bernama hot yanga ada di folder public/. File ini biasanya akan berisi link yang mengarah ke localhost. File ini akan mengganggu css dan juga javascript kalian ketika di deploy, karena server akan me-request-ke halaman localhost alih-alih ke halaman web kalian.

(opsional) Atur file di .env

Hal ini dapat kalian lakukan untuk menyembunyikan pesan error yang tampil di procution. Dengan cara merubah APP_DEBUG pada file .env

Awalnya file .env kalian akan tampak seperti ini

1
2
3
4
5
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:mXBb8FXnv+0qYgPPZp7DDVti52pbqzoCDbTIByMSKjQ=
APP_DEBUG=true
APP_URL=http://localhosht:8000

lalu ubah menjadi

1
2
3
4
5
APP_NAME="Nama Website Kalian"
APP_ENV=production
APP_KEY=base64:mXBb8FXnv+0qYgPPZp7DDVti52pbqzoCDbTIByMSKjQ=
APP_DEBUG=false
APP_URL=https://url_kalian.com

Diatas kita merubah beberapa hal, seperti APP_NAME yang digunakan untuk memberikan nama pada web laravel kita, biasanya key ini digunakan untuk title website. Lalu ada APP_ENV kita ubah menjadi production dan juga APP_DEBUG kita ubah ke false dengan demikian, ketika ada error pada web laravel kita, laravel tidak akan menampikan pesan error dan error pada baris ke berapa seperti hal nya dilocal, melainkan hanya akan menampilkan halaman 500 - server error atau halaman lain. sebelum diubah sesudah diubah

Kesimpulan

Itu tadi beberapa langkah agar dapat deploy web laravel kita di hosting melalui cpanel, jika ada yang ditanyakan silakan komentar dan semoga artikel dapat membantu 😁

Dibangun dengan Hugo
Tema Stack dirancang oleh Jimmy