
Artikel ini dikhususkan buat temen-temen developer web yang menggunakan fitur storage-link pada Laravel, dan ingin mempublikasikan webnya ke server shared hosting Cpanel.
Prosesnya memang ada beberapa konfigurasi yang perlu dilakukan pada file-file laravel project web kita. Paling dasar dan utama biasanya adalah mengatur settingan pada file .env dll.
Tentu temen-temen akan menjalankan perintah atau command:
php artisan storage-link
command tersebut digunakan untuk membangun symlink antara folder storage/public/app pada laravel, dengan folder public/storage.
Hanya saja perintah tersebut tidak diizinkan digunakan pada server shared hosting, karena untuk keamanan peretasan yang mungkin bisa saja dilakukan oleh hacker melaui base terminal / sheel script.
Biasanya jika kita memaksa menggunakan fungsi itu di Laravel, maka kita akan menggunakan code berikut pada route file web.php, seperti ini:
Route::get('/linkstorage', function () { Artisan::call('storage:link'); });
Maka akan muncul error notifikasi:
symlink() has been disabled for security reasons
Artinya fungsi tersebut tidak dapat dipanggil atau di disable dengan alasan keamanan oleh penyedia layanan hostingnya.
Lalu, bagaimana solusinya? bagaimana nasib para developer minim budget yang baru bisa pakai server shared hosting, dan belum mampu beli server VPS?, tenang ada solusinya. Ini dia!!!
Langkah 1: Login dulu ke CPanel
Langkah 2: Cari menu terminal dan klik

Langkah 3: Masuk ke folder project laravel kamu, dengan command:
cd laravel
Ketik command berikut untuk melihat daftar file / folder didalam folder laravel kamu. Kamu akan melihat folder public & storage yang terpisah.
ls
Langkah 4: Masuk ke folder public dengan command:
cd public
Langkah 5: Buat Symlink antara kedua folder public dan storage dengan command seperti ini:
ln -s /home/namauser/public_html/laravel/storage/app/public storage
untuk ‘nama user’, disesuaikan dengan nama user kamu ya. Untuk lebih memudahkan lihat path urlnya kamu bisa mengetikan command ini terlebih dahulu.
pwd
Maka akan muncul path lengkap url kamu, tinggal terapkan saja command pada Langkah 5.
Jika 5 step tersebut sudah dilakukan, maka folder storage di public akan muncul dan yang artinya berhasil, kalo kita reload web kita, maka gambar seharusnya sudah bisa muncul ya.
Insight lainnya:
Jika teman-teman mengalami masalah icons yang tidak bisa ditampilkan, meskipun semua url link css atau icon sudah sesuai dan bisa di akses. Kemungkinan ada masalah dengan file permissionnya.
Jadi, teman-teman dapat mengubah isi dari file .htaccess yang ada di root folder menjadi seperti ini:
Options -Indexes <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] RewriteRule ^(.*)$ public/$1 [L] </IfModule>
Sekian pengetahuan yang bisa disampaikan, semoga berguna buat teman-teman. Jika ada yang mengalamai kendala, silahkan sampaikan lewat comment, admin akan membalas segera mungkin.