Cara Upload File Folder Laravel ke Website Hosting InfinityFree dengan FileZilla

Halo guys! Kali ini kita akan memberikan Tutorial Singkat mengenai Cara Upload File Folder Laravel ke Website Hosting InfinityFree dengan FileZilla.

Sumber : Forum.Infinityfree.com (118578)


Laravel merupakan salah satu framework PHP yang paling populer. Namun, Laravel pada dasarnya tidak dirancang secara khusus untuk digunakan pada layanan shared web hosting seperti InfinityFree. Oleh karena itu, beberapa fitur Laravel dapat berjalan langsung di InfinityFree tanpa konfigurasi tambahan, sementara fitur lainnya memerlukan penyesuaian tertentu. Bahkan, terdapat beberapa fitur yang sama sekali tidak dapat digunakan pada lingkungan hosting tersebut.

Artikel ini membahas langkah-langkah yang perlu dilakukan untuk menjalankan Laravel di InfinityFree, berbagai hal yang perlu diperhatikan selama proses instalasi dan deployment, serta sejumlah keterbatasan yang harus diatasi dengan menggunakan solusi alternatif atau workaround.

1. Membuka FileZilla dan Menghapus File Folder pada Website Hosting

Pertama, bukalah FileZilla dan lihatlah apabila masih ada File yang masih tersisa di salah satu Website Domain Hosting di InfinityFree.

Kemudian, bukalah File Manager di InfinityFree untuk membuat Folder laravel terlebih dahulu untuk Proyek Laravel tersebut dengan mengeklik "New Folder". Tapi sebelum membuat Folder tersebut, arahkan pada Letak Folder :

Home / namadomainanda.infinityfreedomain.com / htdocs

Jika sudah, klik saja "Create".

2. Upload File Laravel

Saat Anda menginstal Laravel, Anda akan mendapatkan struktur folder yang kurang lebih seperti ini :

📁 my-laravel-app/
├── 📁 app/
├── 📁 bootstrap/
├── 📁 config/
├── 📁 database/
├── 📁 public/
│   └── index.php
├── 📁 resources/
├── 📁 routes/
├── 📁 storage/
├── 📁 vendor/
└── .env

Folder public pada Laravel dirancang sebagai web root atau direktori utama yang dapat diakses melalui browser. Sementara itu, seluruh file dan folder di luar public seharusnya bersifat privat. Ini termasuk file .env yang menyimpan kredensial database, kode aplikasi, file log, dependensi, dan berbagai file internal lainnya. File-file tersebut tidak boleh dapat diakses secara langsung melalui internet. Hanya folder public yang seharusnya dapat diakses oleh pengguna, karena folder ini berisi front controller (index.php), file CSS, JavaScript, serta file yang memang perlu tersedia secara publik seperti hasil unggahan pengguna.

Pada umumnya, web server memungkinkan administrator menentukan folder mana yang digunakan sebagai web root, dan Laravel mengharuskan web root tersebut diarahkan ke folder public. Namun, pada InfinityFree, web root ditetapkan secara otomatis ke folder htdocs pada akun hosting dan pengguna tidak dapat mengubah lokasi tersebut. Oleh karena itu, jika seluruh aplikasi Laravel diunggah langsung ke dalam htdocs tanpa penyesuaian, file-file internal seperti kode aplikasi, konfigurasi, hingga kredensial database berpotensi dapat diakses secara langsung melalui web.

Dengan kata lain, jangan menempatkan seluruh struktur aplikasi Laravel secara sembarangan di dalam htdocs. Struktur direktori perlu disesuaikan agar hanya isi folder public yang menjadi bagian yang dapat diakses dari internet, sedangkan file dan folder internal Laravel tetap berada di lokasi yang tidak dapat diakses secara langsung.

Solusinya :

Masalah tersebut dapat diatasi dengan menggunakan dua aturan .htaccess. Konsepnya cukup sederhana: unggah seluruh aplikasi Laravel ke dalam folder htdocs, kemudian gunakan aturan rewrite agar setiap permintaan yang masuk diproses seolah-olah permintaan tersebut berasal dari folder public.

Sebelum mengunggah aplikasi ke server, proyek Laravel perlu dipersiapkan terlebih dahulu di komputer lokal karena terdapat beberapa proses yang tidak dapat dilakukan langsung di server InfinityFree.

  • Instal dependensi yang diperlukan : Jalankan perintah composer install --no-dev di komputer lokal agar folder vendor terisi dengan dependensi yang memang dibutuhkan untuk lingkungan produksi. Folder ini biasanya tidak disertakan dalam version control, sehingga mungkin tidak tersedia jika proyek diperoleh melalui proses clone dari Git. Opsi --no-dev akan melewati paket-paket yang hanya digunakan untuk pengembangan, seperti PHPUnit dan berbagai alat debugging. Dengan demikian, jumlah file menjadi lebih sedikit dan Anda tidak perlu mengunggah kode yang sebenarnya tidak diperlukan di server.
  • Compile aset frontend : Jika proyek menggunakan Vite atau Laravel Mix, jalankan npm install kemudian npm run build pada komputer lokal untuk mengompilasi file CSS dan JavaScript menjadi aset yang siap digunakan dalam produksi. Perintah npm tidak dapat dijalankan langsung pada InfinityFree, sehingga proses ini harus dilakukan terlebih dahulu di komputer Anda sendiri.
  • Jangan mengunggah folder node_modules : Folder ini hanya diperlukan selama proses pengembangan dan kompilasi aset frontend, sehingga tidak diperlukan di server produksi. node_modules dapat berisi puluhan ribu file dan menghabiskan sebagian besar kuota inode hosting secara sia-sia.

Setelah seluruh persiapan selesai, unggah seluruh proyek Laravel ke dalam folder htdocs pada akun hosting InfinityFree Anda.

Setelah proses Upload selesai, struktur file dan folder proyek seharusnya akan terlihat seperti berikut :

📁 htdocs/
├── 📁 app/
├── 📁 bootstrap/
├── 📁 config/
├── 📁 public/
│   ├── index.php
│   └── .htaccess
├── 📁 storage/
├── 📁 vendor/
└── .env

Pastikan file .env Anda juga diunggah. Klien FTP terkadang menyembunyikan dotfiles secara default, jadi periksa pengaturan klien Anda jika Anda tidak melihatnya. Anda juga perlu membuat satu file lagi, .htaccess di folder htdocs, yang akan dibahas pada langkah selanjutnya.

A

A

Selanjutnya, kita langsung saja klik Kanan pada bagian Kiri Bawah, dan klik "Upload" untuk melakukan Upload File Laravel. Yang perlu kalian perhatikan adalah Pindahkan seluruh File/Folder yang ada di dalam Project Laravel ke dalam Folder htdocs.

Lalu, tunggulah sampai proses Upload (Deploy) selesai. Biasanya membutuhkan waktu yang sedikit lama tergantung dari Jumlah Filenya. Dan penyebabnya karena File /vendor/ yang memang agak banyak dan lumayan besar bobotnya.

Jika sudah selesai, maka akan seperti ini tampilannya.

2. Membuat/Mengedit File .htaccess Tambahan

Pada Folder htdocs/.htaccess, bukalah File .htaccess terlebih dahulu. Lalu, carilah dan gantilah dengan Kode berikut ini :

RewriteEngine On
RewriteRule (.*) /public/$1 [L]

Setelah itu, langsung klik "Save".

A

A

Jika ingin melihat apakah Website-nya sudah berhasil, kembalilah ke Dashboard InfinityFree, lalu klik pada salah satu Subdomain/Domain dan langsung saja klik "View Website".

Jika sudah berhasil, maka akan seperti ini tampilannya :

A

A




Agar lebih jelasnya, silakan Tonton beberapa Video ini di YouTube :


Itulah Tutorial Singkat Cara Upload File Folder Laravel ke Website Hosting InfinityFree dengan FileZilla. Selain InfinityFree, kalian juga bisa mencoba Website Hosting lainnya yang berbasis PHP & MySQL, baik itu yang Gratisan maupun yang Berbayar (Langganan Hosting), asalkan mendukung FileZilla.

Mohon maaf apabila ada kesalahan sedikit pun pada Tutorial ini.

Terima Kasih 😀😊😘👌👍 :)

Post a Comment

Previous Post Next Post