Pada artikel sebelumnya kami telah menjelaskan cara upload Laravel ke hosting untuk domain utama. Pada panduan ini, kami akan menjelaskan cara upload laravel ke hosting untuk subdomain.
Laravel adalah salah satu framework PHP open source dengan desain MVC (Model-View-Controller) yang digunakan untuk membangun aplikasi website. Ada perbedaan struktur direktori antara file laravel dan file website biasa. Untuk itu, agar upload laravel ke Hosting khususnya untuk subdomain dapat berjalan dengan lancar, maka harus mengubah struktur direktorinya terlebih dahulu.
Laravel dengan Frontend Berbasis NodeJS
Pada rilis awal, frontend Laravel atau desain View dibangun menggunakan PHP dan Blade Templates. Pada perkembangannya, Anda dapat membangun frontend website menggunakan framework berbasis Javascript/NodeJS seperti Vue, React, serta Mix/Vite.
Jika Anda menggunakan frontend berbasis NodeJS, ada perbedaan langkah sebelum melakukan upload file website. Anda perlu melakukan pembuatan bundle assets yang siap untuk digunakan dalam production mode terlebih dahulu menggunakan panduan Cara Upload Laravel dengan Frontend ReactJS atau VueJS
Cara upload laravel di subdomain
Pada artikel ini kami akan mengupload file laravel di subdomain. Langkah-langkah upload laravel di subdomain adalah sebagai berikut.
Langkah 1: Menyesuaikan struktur direktori
Berikut direktori asli yang ada di local komputer :
1. Buat folder baru dengan nama “laravel”, dan pindahkan semua file dan folder ke folder “laravel” kecuali folder public. Direktori setelah dirubah akan menjadi seperti berikut :
2. Kemudian ubah nama folder “public” menjadi “subdomainX” karena kita akan menguploadnya di subdomain (sesuaikan dengan nama subdomain kita) seperti gambar berikut :
3. Selanjutnya Edit file “index.php” yang awalnya seperti gambar berikut ini :
Dirubah source kodenya menjadi seperti gambar berikut ini :
4. Untuk laravel 4, Edit file “subdomainX/bootstrap/paths.php” menjadi berikut ini :
Untuk laravel 5 ke atas, edit kembali pada file “subdomainX/index.php” dan tambahkan source kodenya berikut ini :
//set the public to this directory
$app->bind('path.public', function() {
return __DIR__ ;
});
Menjadi seperti berikut ini :
Setelah edit source kode file index.php selesai, kita simpan file index.php tersebut dan kembali ke local komputer untuk melakukan extract files and folder.
Khusus Laravel Vite/Mix
Langkah ini adalah langkah tambahan bagi Anda yang menggunakan framework berbasis javascript seperti Vite/Mix. Jika Anda tidak menggunakannya, Anda dapat langsung melanjutkan ke Langkah 2 dan tidak perlu melakukan langkah ini.
- Setelah melakukan build laravel Vite/Mix, akan menghasilkan file bundle berupa assets dan manifest di dalam folder build. Contoh hasil foldernya seperti gambar berikut.
2. Khusus untuk Laravel Vite buat folder bernama “public” di dalam folder laravel.
3. Lalu buat folder baru dan beri nama “build” ke dalam folder /laravel/public seperti berikut:
4. Pindahkan file manifest yang terletak di folder /subdomainX/build ke folder /laravel/public/build
5. Pastikan folder assets tetap berada di folder /subdomainX/build. Hal ini diperlukan agar assets pada website dapat tampil, terutama hasil build pada file JS dan CSS.
Langkah 2: Cara Upload Laravel di Subdomain ke Hosting
Pada tahap persiapan tadi, kita telah mengubah direktori file laravel. Hanya ada 2 folder yaitu folder “subdomainX” dan folder “laravel” serta satu file zip. Sekarang saatnya melakukan upload satu file zip tersebut ke hosting khususnya untuk subdomain.
1. Upload file bisa dilakukan melalui Upload FTP atau bisa langsung dilakukan melalui cPanel pada menu File Manager > public_html > Directory subdomainnya.
2. Tampilan setelah diupload dan diekstrak di folder subdomainnya sebagai berikut :
3. Selanjutnya, silahkan move folder laravel ke directory /home. Gambarnya sebagai berikut:
4. Sedangkan untuk file yang ada di folder subdomainX di move ke directory subdomainnya. Hasilnya sebagai berikut :
5. Jika Laravel Anda menggunakan database, maka silahkan dilakukan konfigurasi database laravel yang detailnya bisa dipelajari melalui link berikut : Koneksi Database Laravel
Alternatif Cara Upload Laravel
Selain menggunakan langkah di atas, terdapat beberapa alternatif lain untuk upload laravel di cPanel. Pada bagian ini Anda akan membuat beberapa file PHP atau file .htaccess yang akan digunakan sebagai indexing folder public. Silakan dapat memilih salah satu opsi alternatif berikut ini.
Opsi 1: Buat file index.php
Secara default dokumen root Laravel tidak memiliki file index.php karena proses kontennya dilakukan di folder public/. Silahkan buat file baru dan beri nama index.php dan letakkan difolder root Laravel (diluar folder public).
Edit file index.php dan isi dengan script berikut:
<?php
require_once(__DIR__ . '/public/');
?>
Untuk memastikan konfigurasi telah berjalan, silakan dapat melakukan tes akses webnya.
Opsi 2. Buat file server.php dan .htaccess
Alternatif opsi lainnya yaitu dengan membuat file server.php dan .htaccess. Perlu diketahui pada beberapa versi laravel, file server.php telah disediakan. Jika sudah disediakan Anda hanya perlu merubah setting .htaccess agar bisa menjadikan server.php sebagai file indexing.
Jika belum terdapat script server.php, silakan dapat membuat file server.php dengan isi script berikut:
<?php
$uri = urldecode(
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
return false;
}
require_once __DIR__.'/public/index.php';
?>
Berikut tambahan isi script .htaccess:
DirectoryIndex server.php
Kedua opsi alternatif yang kami berikan diatas dapat mempermudah Anda dalam mengupload Laravel ke hosting cPanel Rumahweb, namun kami lebih merekomendasikan Anda tetap menggunakan cara yang pertama yaitu dengan menyesuaikan struktur folder dan file root laravelnya.
Jika Anda masih temui kendala, jangan sungkan untuk menghubungi kami melalui email teknis(@)rumahweb.com untuk bantuan pengecekannya. Demikian panduan cara upload file laravel di subdomain. Semoga bermanfaat dan selamat mencoba.