Tutorial Menjalankan Laravel di Hosting

Hai, Sobat Jagoan! Laravel merupakan framework aplikasi web berbasis PHP yang terkenal dengan sintaks yang rapi, mudah dibaca, dan memiliki struktur pengembangan modern. Salah satu keunggulan Laravel adalah menggunakan arsitektur MVC (Model-View-Controller). MVC adalah sebuah model aplikasi yang memisahkan antara logika aplikas, tampilan, dan data secara jelas.

Komponen utama MVC ada 3 yaitu, Model, View, dan Controller. Setiap komponen ini memiliki peran dan tugas yang unik dalam mendukung pengembangan aplikasi, yuk simak pembahasannya di bawah ini Sob!

Penjelasan Konsep MVC

Laravel menggunakan pola MVC (Model-View-Controller) yang terdiri dari:

  1. Model

Dalam konsep MVC, model adalah elemen yang terkait dengan database dan interaksi data. Model merepresentasikan tabel dalam database, sehingga kalau ingin melakukan perubahan pada data kamu tidak perlu mengubah melalui database langsung. Model akan menentukan jenis data yang harus ada dalam aplikasi dan jika ada perubahan, model akan memberi tahu controller dan tampilan. Di Laravel, file model berada di direktori app/Models.

  1. View

View adalah komponen yang terkait dengan tampilan pengguna dan mengelola logika presentasi dalam aplikasi web. View menentukan bagaimana data yang diterima akan ditampilkan kepada pengguna. View Laravel biasanya ditulis dengan template Blade (.blade.php) yang tersimpan di folder resources/views.

  1. Controller

Controller adalah komponen yang berisi logika untuk memperbarui tampilan atau model sebagai respon terhadap tindakan pengguna dalam aplikasi. Tugas controller meliputi: menyediakan variabel yang akan ditampilkan dalam view, menangani error, menjalankan berbagai proses logika aplikasi, dan melakukan validasi untuk mengakses basis data. Jadi, controller di Laravel untuk menghubungkan model dan view, serta menangani logika aplikasi. File controller ada di app/Http/Controllers.

Setelah memahami konsep dasar MVC, selanjutnya adalah memahami cara kerjanya supaya kamu bisa memanfaatkannya secara optimal. Berikut penjelasannya:

  1. Komponen View menampilkan User Interface (UI)

Ketika kamu menjalankan aplikasi PHP MVC, tampilan antarmuka pengguna akan ditampilkan. Tahap ini menjadi penentu seberapa baik respon dari pengguna terhadap aplikasi yang kamu buat. Ketika pengguna melalukan permintaaan pada aplikasi, view akan menangkap permintaan tersebut dan meneruskannya ke controller. Setelah itu, controller menerima permintaan dari view.

  1. Controller memberikan instruksi ke Model

Selanjutnya, kalau view memerlukan mengambil informasi database maka akan diteruskan ke komponen model tapi kalau tidak, controller akan mengembalikan permintaan langsung ke view. Controller memberikan instruksi langsung kepada model untuk menyiapkan informasi yang berkaitan dengan tampilan. Cara kerja MVC akan membantu mengumpulkan informasi yang diperlukan sebelum mengirimkannya kembali ke controller.

  1. Model memberikan hasil pengolahan informasi di database

Karena model mewakilkan interaksi dengan database, maka setelah mengambil informasi dari database, model akan menyerahkan hasil ke controller (bukan langsung ke view). Kemudian, view akan menggunakan data yang diterima controller untuk menampilkan kepada pengguna. Ketika mengelola informasi, model tidak bekerja sendiri, tapi akan mengandalkan logika pemrograman untuk mempercepat proses pengolahan data.

Nah, Laravel merupakan salah satu framework berbasis MVC yang populer untuk pengembangan aplikasi web modern dan telah menjadi pilihan favorit bagi banyak pengembang karena fitur-fiturnya yang kuat, kemudahan penggunaa, serta komunitas yang besar dan aktif.

Mengenal Framework Laravel

Sebelum masuk ke cara menjalankan Laravel di hosting seperti cPanel atau VPS, Yuk kenali dulu konsep utama Laravel dan kenapa penggunaannya sedikit berbeda dibanding aplikasi PHP biasa.

Konsep-Konsep Utama Laravel
  • MVC: Laravel memisahkan aplikasi web menjadi 3 komponen utama yaitu Model, View, dan Controller. Ini membantu dalam mengorganisasikan kode, logika, dan memudahkan pemeliharaan.
  • Routing: Laravel memungkinkan kamu mendefinisikan rute URL dan mengarahkannya ke metode di dalam controller.
  • Controller: Bagian ini mengatur logika bisnis aplikasi kamu.
  • Model: Model mewakili entitas dalam aplikasi dan digunakan untuk berinteraksi dengan database. Laravel mendukung Eloquent, ORM yang kuat untuk mengelola data dengan mudah.
  • View: Mengatur tampilan antarmuka yang dilihat oleh pengguna.
  • Blade Template: Blade merupakan mesin template yang memungkinkan membuat tampilan dengan mudah, dinamis dan menampilkan data dengan jelas.
  • Middleware: Bagian ini digunakan untuk memproses permintaan HTTP sebelum mencapai controller. Kamu bisa menggunakan middleware untuk menambahkan lapisan keamanan, otentikasi, dan otorisasi.
  • Basis Data dan Eloquent: Laravel mendukung berbagai jenis basis data dan menyediakan alat yang kuat untuk berinteraksi dengan basis data. Eloquent membuat pekerjaan dengan basis data menjadi lebih mudah dengan model berorientasi objek.
  • Autentikasi dan Otorisasi: Laravel menyediakan sistem otentikasi dan otorisasi yang sudah siap pakai untuk mengelola akses pengguna ke berbagai bagian aplikasi kamu.
  • Sistem Notifikasi: Kamu dapat dengan mudah mengirim email dan notifikasi ke pengguna dengan sistem notifikasi Laravel.
  • Komunitas dan Dokumentasi: Laravel memiliki komunitas yang besar, aktif, dan sumber daya yang kaya. Dokumentasi resmi Laravel sangat baik dan banyak tutorial dan paket sumber terbuka yang tersedia.

Setelah instalasi, proyek Laravel memiliki struktur direktori seperti ini:

project-laravel/
├── app/ # Logic aplikasi
├── public/ # Folder yang bisa diakses browser
├── resources/ # View (Blade template)
├── routes/ # File route (web.php)
├── storage/ # File upload & cache
├── .env # Konfigurasi environment (tidak dipublikasi)
└── artisan # Command-line tool Laravel

Catatan: Di Laravel, file yang bisa diakses browser hanya yang berada di dalam folder public/, bukan dari root project.

Laravel memiliki struktur proyek dan cara kerja yang lebih kompleks dan terstruktur dibandingkan aplikasi PHP konvensional. Karena itu, saat kamu mengunggah Laravel ke hosting, ada beberapa hal penting yang membuatnya tidak bisa langsung dibuka begitu saja seperti index.php biasa.

Berikut alasannya:

  1. Laravel menggunakan folder public/ sebagai entry point. Berbeda dengan PHP biasa yang langsung meletakkan file index.php di folder public_html atau direktori root. Jadi, kamu harus memindahkan isi folder public/ ke dalam public_html atau direktori root supaya aplikasi Laravel kamu tidak memunculkan error.
  2. Laravel menggunakan sistem autoloading via Composer. File public/index.php Laravel akan memuat semua dependensi aplikasi. Misalnya melalui baris berikut: require __DIR__.’/../vendor/autoload.php’;
    Ini berarti Laravel wajib memiliki folder vendor/ yang berisi semua dependensi dari Composer. Jika folder ini hilang atau path-nya berubah karena struktur tidak sesuai, maka aplikasi akan gagal dijalankan dan muncul error seperti “failed to open stream…”.
    Autoloading ini juga yang membuat Laravel bisa menjalankan controller, middleware, dan model secara otomatis sesuai kebutuhan.
  3. Aplikasi Laravel memerlukan dependensi tambahan setelah menginstal composer, membutuhkan folder tertentu (seperti storage/, bootstrap/cache/) memiliki permission write

Laravel adalah pilihan yang kuat untuk pengembangan aplikasi web modern dan dapat digunakan untuk berbagai jenis proyek, mulai dari aplikasi sederhana hingga proyek yang lebih kompleks. Dokumentasi resmi mengenai Laravel klik pada Laravel Documentation.

Laravel adalah framework modern yang kaya fitur, tapi juga membutuhkan lingkungan hosting yang sesuai spesifikasi teknis tertentu. Jika spesifikasi server terlalu rendah, performa Laravel akan melambat, muncul error tak terduga, atau bahkan gagal dijalankan.

Sebelum kamu melakukan deploy, pastikan hosting kamu memenuhi spesifikasi minimum berikut ini:

Minimal Spesifikasi Hosting Untuk Laravel
  1. Minimal PHP 8.1 (untuk Laravel 10) atau lebih tinggi
  2. Ekstensi yang harus aktif: mbstring, openssl, pdo, tokenizer, xml, dll.
  3. Dukungan composer untuk mengelola dependensi, menjalankan artisan
  4. Minimal RAM 512 MB (1GB untuk performa lebih stabil), CPU 1 core, dan storage minimal 1GB

Nah, kalau kamu masih bingung atau belum punya hosting yang sesuai, tenang aja Sob! Jagoan Hosting hadir dengan berbagai pilihan layanan yang cocok untuk mendeploy proyek Laravel. Composer sudah tersedia di semua paket, jadi kamu bisa dengan mudah mengelola dependensi, menjalankan perintah Artisan, dan melakukan update aplikasi tanpa ribet. Nggak perlu khawatir soal kompatibilitas, versi PHP selalu up-to-date, dan semua ekstensi penting Laravel sudah aktif sejak awal.

Menggunakan Laravel di Hosting

Untuk menggunakan Laravel di hosting, kamu perlu memahami hal-hal dasar yang berkaitan dengan konfigurasi file. Banyak pengguna baru bingung saat upload Laravel ke hosting, tapi ketika langsung membuka domain malah muncul error atau tampilan tidak sesuai. Ini wajar, karena Laravel memiliki struktur dan cara kerja berbeda dari aplikasi PHP biasa.

Berikut beberapa hal penting yang perlu kamu perhatikan sebelum Laravel bisa dijalankan dengan baik di hosting:

  1. File public/ dan Direktori Root Hosting
    Pada Laravel, browser akan mengakses file di dalam folder public/, seperti index.php, css, dan js. Di hosting, kamu perlu memindahkan folder ini ke public_html atau direktori root (utama) domain atau bisa juga mengarahkan domain/subdomain ke folder public/
  2. File public/index.php di Laravel menggunakan autoloading untuk memuat semua dependensi aplikasi melalui vendor/autoload.php. Jadi, pastikan path pada baris tersebut sesuai dengan struktur folder di hosting kamu. Jika tidak tepat, Laravel akan gagal dijalankan.
  3. File konfigurasi .env
    File .env berisi konfigurasi environment, termasuk database, app key, dan pengaturan lainnya. Pastikan file ini terisi dengan data yang sesuai dengan server hosting kamu.
    Di sini kamu juga perlu mengubah pengaturan:
    APP_DEBUG=false : mengatur Laravel agar berjalan dalam mode production (bukan development)
    APP_ENV=production : menonaktifkan tampilan error detail yang sensitif agar tidak muncul di browser publik
  4.  File konfigurasi di /config/database.php
    Laravel membaca konfigurasi database dari file ini, yang terhubung dengan .env. Pastikan koneksi ke database MySQL sesuai dengan yang kamu buat di cPanel.
  5. Storage link (symlink)
    Laravel menyimpan file yang diunggah (seperti PDF, gambar, dsb) di storage/app/public, tapi file tersebut tidak langsung bisa diakses oleh browser. Jadi, kamu perlu membuat symbolic link ke folder tersebut.
    Catatan:  Symlink harus dibuat di root hosting (tempat index.php berada) supaya file dapat diakses melalui URL. Jika tidak ada symlink ini, maka preview atau download file akan menghasilkan error 404 atau 400.
  6. Artisan command yang perlu dijalankan
    Di hosting (via terminal atau SSH), kamu perlu menjalankan perintah berikut setiap setelah mengubah isi file .env agar aplikasi optimal:
				
					php artisan config:cache
				
			

Nah, setelah memahami konsep kerja Laravel dan strukturnya di dalam hosting. Kamu bisa memulai memilih langkah berikutnya, kamu bisa memilih metode instalasi yang paling cocok:

  1. Tutorial Install Laravel di cPanel Jagoan Hosting
  2. Cara Install Laravel Dari Clone Git di cPanel
  3. Tutorial Upload Aplikasi Laravel ke Hosting Melalui cPanel
  4. Cara Deploy Laravel ke VPS Ubuntu

Selamat bereksplorasi, Sob! Kalau ada yang bikin kamu bingung, silahkan hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket. Dan kalau ada artikel panduan yang belum tersedia, silahkan untuk menyampaikannya juga, ya!

Related Posts
Tutorial Upload Aplikasi Laravel ke Hosting Melalui cPanel

Pengantar Hai, Sob! Buat kamu semua para developer yang lagi kepo gimana sih cara Upload Aplikasi Laravel ke Hosting? Nah, Read more

Tutorial Install Laravel di cPanel Jagoan Hosting

Hai Sob! Buat kamu semua para developer yang lagi kepo gimana sih cara Upload Aplikasi Laravel ke Hosting? Nah, tutorial Read more

Cara Install Laravel Dari Clone Git di cPanel

Halo Sob! Bagi developer handal seperti kamu, mendengar istilah laravel dan clone git adalah sesuatu yang familiar bukan? Nah, kali Read more

Cara Membuat Storage Link pada Laravel

Hai Sob! Sebagai seorang developer yang menggunakan laravel, kamu pasti tahu dong bahwa salah satu keuntungan menggunakan framework laravel adalah Read more