Tiga Cara Storage Link Laravel di Hosting

Rifqi Khoeruman Azam
3 min readApr 6, 2022

--

Setelah upload ke hosting dan konfigurasi laravel selesai, jika Anda menggunakan fitur storage di laravel, ada salah satu command yang harus dieksekusi yaitu php artisan storage:link.

Pada dasarnya command tersebut membuat symlink antara folder storage/app/publicke folder public/storage. Tidak seperti di vps yang tinggal menjalankan command tersebut, di hosting ada berbagai cara untuk ini, diantaranya sebagai berikut.

Sebelum masuk ke langkah utama, ketika Upload Laravel ke Hosting biasanya folder storage di folder public ikut terbawa juga. Oleh karena itu hapus dulu folder tersebut, jika sudah lanjut ke tahap selanjutnya.

Cara Pertama — Membuat route

Untuk menggunakan cara pertama ini pastikan hosting yang Anda gunakan tidak mendisabled fitur symlink. Jika ternyata disabled anda bisa melewati cara pertama ini.

Disini kita akan membuat routing baru yang mana akan menjalankan peritah artisan menggunakan class facade Artisan.

  • Buka file manager melalui CPanel
  • Edit file routes/web.php
Edit file web.php
  • Tambahkan baris kode berikut ke file web.php
Route::get('/generate', function(){
\Illuminate\Support\Facades\Artisan::call('storage:link');
echo 'ok';});
Response jika berhasil
  • Buka file manager kembali, seharusnya folder storage di public sudah berhasil terbuat.
symlink folder storage sudah berhasil

Cara Kedua — Symlink menggunakan terminal

Buka CPanel hosting Anda, masuk ke menu Terminal

Masuk ke menu Terminal di CPanel

Selanjutnya jalankan perintah berikut.

ln -s /path/to/laravel/storage/app/public /path/to/laravel/public/storage

Sesuaikan lokasi folder dengan lokasi projek di hosting Anda.

Menjalankan perintah symlink di terminal

Sampai sini jika tidak ada pesan error, proses symlink sudah berhasil. Anda bisa cek menggunakan file manager, folder storage di public sudah berhasil dibuat.

Cara Ketiga — Menggunakan fitur Cron Job

Jika fitur symlink di disable dan tidak ada fitur terminal maka cara terakhir adalah menggunakan cron job.

Caranya adalah, pertama buka CPanel, lalu masuk ke menu Cron Jobs.

Masuk ke menu Cron Jobs di CPanel

Di bagian Common Settings pilih Once Per Minute (* * * * * *), lalu isi field Command dengan perintah seperti di cara kedua.

ln -s /path/to/laravel/storage/app/public /path/to/laravel/public/storage

Sesuaikan lokasi folder dengan lokasi projek di hosting Anda.

Membuat script cron untuk menjalankan perintah symlink

Selanjutnya klik tombol Add New Cron Job.

Untuk memastikan cron job sudah menjalankan perintah symlink, buka file manager di Cpanel, masuk ke folder public laravel.

Tunggu 1–2 menit jika masih belum ada, seharusnya symlink folder storage sudah berhasil dibuat.

Karena untuk menjalankan symlink cukup sekali, setelah berhasil hapus cron job yang sudah dibuat tadi.

Menghapus cronjob

Selesai.

Kesimpulan

Tiga cara diatas sesuaikan dengan hosting provider yang Anda pakai.
- Cara Pertama : Jika fungsi symlink() tidak di disabled
- Cara Kedua: jika fitur terminal tersedia
- Cara Ketiga: Jika kedua cara diatas tidak bisa, maka gunakan cara ini.

Jika ada kendala, kritik, saran ataupun koreksi silahkan tinggalkan komentar. Semoga bermanfaat :)

Artikel Terkait:
- Upload Laravel ke Hosting tanpa ribet tanpa ubah struktur folder

--

--

Responses (1)