Table of contents

Pernah mengalami file upload Laravel tidak muncul di website meski sudah tersimpan di hosting? Kondisi ini biasanya terjadi karena folder storage belum terhubung ke public_html. Lewat panduan membuat Symlink di cPanel hosting ini, kamu akan belajar cara menghubungkan storage dan public_html dengan aman, praktis, dan mudah dipahami.

Symlink atau Symbolic Link adalah tautan khusus pada sistem operasi Linux yang berfungsi seperti shortcut menuju file maupun folder lain. Jadi, file asli tetap berada di lokasi awal, tetapi dapat diakses dari direktori berbeda tanpa perlu melakukan copy data.

Kalau diibaratkan, symlink mirip seperti pintu penghubung antar ruangan. File aslinya tetap berada di tempat semula, tetapi server bisa mengaksesnya dari jalur lain yang lebih mudah dijangkau.

Di hosting berbasis Linux dan cPanel, symlink sering digunakan untuk:

  • Menghubungkan folder storage Laravel ke public_html
  • Membuat struktur file website lebih rapi
  • Mempermudah akses file upload
  • Mengurangi duplikasi data di server
  • Membantu maintenance website agar lebih efisien

Penggunaan symlink cukup populer pada framework seperti Laravel karena folder upload biasanya berada di direktori storage/app/public, sementara file website yang dapat diakses publik berada di public_html.

Tanpa symlink, file upload seperti gambar produk, avatar user, atau dokumen sering kali tidak dapat ditampilkan di browser meski file sebenarnya sudah tersimpan di hosting.

Selain lebih praktis, symlink juga membantu menghemat penggunaan disk space karena server tidak membuat salinan file baru. Ketika file asli diperbarui, semua symlink yang mengarah ke file tersebut otomatis ikut menampilkan versi terbaru.

Meski begitu, pembuatan symlink tetap perlu dilakukan dengan hati-hati. Salah konfigurasi path atau permission bisa menyebabkan file error, broken link, bahkan berpotensi membuka celah keamanan pada website.

Karena itu, penting memahami cara membuat symlink yang benar sebelum menerapkannya di hosting cPanel.

Ada beberapa metode yang bisa digunakan untuk membuat symlink di hosting cPanel. Pilihan caranya biasanya tergantung fitur yang tersedia pada paket hosting yang digunakan.

Sebagian pengguna lebih nyaman menggunakan Terminal karena prosesnya cepat. Namun jika hosting belum menyediakan akses SSH, kamu masih bisa menggunakan script PHP maupun Cron Jobs.

Berikut penjelasan lengkapnya.

Metode ini paling umum digunakan karena prosesnya cepat dan stabil. Biasanya dipakai developer yang menggunakan Laravel atau aplikasi berbasis Linux lainnya.

Cara ini dapat digunakan apabila hosting sudah mendukung akses SSH atau menu Terminal di cPanel.

Langkah-Langkah

  1. Login ke akun cPanel hosting terlebih dahulu.
  2. Masuk ke menu Terminal atau lakukan koneksi melalui SSH.
panduan membuat Symlink di cPanel hosting

Setelah berhasil masuk ke terminal, jalankan perintah berikut:

ln -s sumber_target_path link_path

Keterangan

  • sumber_target_path → lokasi file atau folder asli
  • link_path → lokasi symlink akan dibuat

Contoh Penggunaan

Misalnya ingin membuat symlink dari folder:

/storage/app/public

ke folder:

/public_html/storage

Maka perintah yang digunakan adalah:

ln -s /home/usercpanel/storage/app/public/home/usercpanel/public_html/storage
panduan membuat Symlink di cPanel hosting

Jika proses berhasil, folder storage pada direktori public_html akan otomatis terhubung dengan folder asli di storage/app/public.

panduan membuat Symlink di cPanel hosting

Biasanya setelah perintah dijalankan tidak muncul notifikasi apa pun. Ini normal di Linux. Untuk memastikan symlink berhasil dibuat, cek melalui menu File Manager di cPanel.

panduan membuat Symlink di cPanel hosting

Nantinya folder storage akan terlihat dengan ikon shortcut atau link khusus.

Tips Penting Saat Menggunakan SSH

Beberapa kasus gagal symlink biasanya disebabkan oleh:

  • Salah penulisan path direktori
  • Username cPanel tidak sesuai
  • Folder tujuan sudah ada sebelumnya
  • Permission hosting terlalu ketat

Kalau muncul error seperti:

File exists

berarti folder tujuan sudah tersedia dan perlu dihapus atau diganti namanya terlebih dahulu.

Tidak semua hosting menyediakan akses SSH. Pada shared hosting tertentu, fitur Terminal memang kadang dinonaktifkan demi alasan keamanan server.

Sebagai alternatif, symlink tetap bisa dibuat menggunakan script PHP.

Cara ini cukup praktis dan sering dipakai pengguna hosting biasa yang hanya memiliki akses File Manager.

Langkah-Langkah

Buat file baru bernama:

symlink.php
panduan membuat Symlink di cPanel hosting

Kemudian isi file tersebut dengan script berikut:

<?php
$target = dirname(__DIR__) . '/storage/app/public';
$link = dirname(__FILE__) . '/storage';
if (!file_exists($link)){
   symlink($target, $link);
   echo "Symlink $target dibuat di $link";
} else {
   echo "Gagal! symlink/folder sudah ada di $link";
}
?>

Keterangan Script

Pada bagian:

$target = dirname(__DIR__) . '/storage/app/public';

silakan sesuaikan dengan lokasi folder sumber.

Sedangkan bagian:

$link = dirname(__FILE__) . '/storage';

digunakan untuk menentukan lokasi symlink yang akan dibuat.

panduan membuat Symlink di cPanel hosting

Setelah file berhasil dibuat, jalankan script melalui browser:

https://namadomain.com/symlink.php

Jika berhasil, symlink akan otomatis dibuat sesuai path yang ditentukan.

Jangan Lupa Hapus File PHP

Bagian ini sering terlupakan pengguna hosting.

Setelah proses selesai, segera hapus file symlink.php demi keamanan. Jika dibiarkan, file tersebut berpotensi disalahgunakan pihak lain untuk menjalankan script tambahan di server.

Praktik sederhana seperti ini cukup penting untuk menjaga keamanan hosting tetap optimal.

Selain SSH dan PHP, symlink juga dapat dibuat menggunakan fitur Cron Jobs di cPanel.

Metode ini biasanya digunakan ketika akses Terminal tidak tersedia tetapi fungsi cron masih aktif.

Langkah-Langkah

  1. Login ke akun cPanel hosting
  2. Masuk ke menu Cron Jobs
  3. Pada bagian Common Settings, pilih:

Once Per Minute

  1. Pada kolom Command, masukkan perintah berikut:
ln -s /home/usercpanel/storage/app/public/home/usercpanel/public_html/storage

Sesuaikan usercpanel dengan username hosting milikmu.

panduan membuat Symlink di cPanel hosting
  1. Klik tombol Add New Cron Job

Tunggu sekitar satu menit, lalu cek melalui menu File Manager untuk memastikan symlink berhasil dibuat.

panduan membuat Symlink di cPanel hosting

Jika folder symlink sudah muncul, kembali ke menu Cron Jobs dan hapus cron job tersebut agar server tidak terus menjalankan proses berulang.

Kapan Cron Job Cocok Digunakan?

Metode ini biasanya dipilih ketika:

  • Hosting tidak menyediakan SSH
  • Fungsi symlink() pada PHP dinonaktifkan
  • Hanya tersedia akses cPanel standar

Meski terdengar sedikit unik, cara ini cukup efektif di beberapa konfigurasi shared hosting.

Bagi pengguna Laravel, symlink sebenarnya hampir selalu dibutuhkan ketika website menggunakan fitur upload file.

Secara default, Laravel menyimpan file upload di:

storage/app/public

Sementara browser hanya bisa mengakses file publik yang berada di:

public_html

Karena itu diperlukan penghubung berupa symlink agar file upload dapat diakses melalui URL website.

Di VPS atau local server, Laravel biasanya menggunakan perintah:

php artisan storage:link

Namun pada shared hosting cPanel, command artisan kadang tidak dapat dijalankan langsung. Itulah alasan kenapa metode manual seperti SSH, PHP, atau Cron Jobs masih sering digunakan.

Setelah symlink dibuat, lakukan pengecekan sederhana berikut:

1. Cek Melalui File Manager

Pastikan folder symlink muncul pada direktori tujuan.

Contoh:

/public_html/storage

2. Coba Akses File Upload

Upload satu file gambar, lalu akses melalui browser.

Contoh:

https://domainkamu.com/storage/gambar.jpg

Jika file tampil normal, berarti symlink sudah aktif.

3. Periksa Permission Folder

Pastikan permission folder tidak terlalu ketat. Umumnya permission standar berikut sudah cukup aman:

755

untuk folder dan:

644

untuk file.

Kesimpulan

Membuat symlink di cPanel hosting sebenarnya tidak sesulit yang dibayangkan. Selama memahami struktur path dan permission server, prosesnya bisa dilakukan hanya dalam beberapa menit.

Kamu bisa memilih metode SSH, script PHP, maupun Cron Jobs sesuai fitur hosting yang tersedia. Untuk pengguna Laravel, symlink bahkan menjadi bagian penting agar file upload dapat diakses dengan normal melalui browser.

Jika masih mengalami kendala saat membuat symlink di hosting cPanel, jangan ragu menghubungi tim teknis IDwebhost. Dukungan teknis yang responsif bisa membantu pengecekan path, permission, maupun konfigurasi hosting agar symlink berjalan dengan aman dan optimal.