Ketika mengelola aplikasi Laravel di hosting, sering kali kita mendengar istilah symlink
dan storage link
. Keduanya merupakan fitur yang memanfaatkan symbolic link
, tetapi memiliki tujuan dan penggunaan yang berbeda. Dalam artikel ini, kami akan membahas perbedaan symlink dan storage link, terutama pada framework Laravel.
Apa Itu Symlink?
Symbolic link atau yang disingkat menjadi symlink adalah shortcut yang mengarah ke file atau folder lain dalam sebuah sistem file. Dengan menggunakan symlink, Anda dapat mengakses file atau direktori tertentu di lokasi yang berbeda, tanpa perlu menggandakan data.
Symlink sering digunakan untuk menyederhanakan struktur file atau menghubungkan direktori penting. Berikut adalah contoh penggunaan symlink secara umum:
- Menghubungkan direktori
/home/user/app
ke/var/www/html/app
untuk mempermudah akses aplikasi. - Membuat shortcut untuk file konfigurasi agar lebih mudah dikelola.
- Menyederhanakan pengaturan direktori pada server dengan beberapa aplikasi yang menggunakan data yang sama.
Cara membuat symlink di hosting
Di Linux, Anda bisa membuat symlink dengan perintah berikut:
# ln -s [target_path] [link_name]
Sebagai contoh, jika Anda ingin menghubungkan folder /home/user/project
ke /var/www/html/project
, Anda bisa menggunakan perintah:
# ln -s /home/user/project /var/www/html/project
BACA JUGA: Cara Membuat Symlink di cPanel Hosting
Apa Itu Storage Link?
Storage link adalah symlink khusus yang dibuat oleh framework Laravel untuk menghubungkan direktori storage/app/public
ke public/storage
. Storage link memungkinkan file yang disimpan di dalam direktori storage diakses melalui URL publik.
Ini sangat berguna untuk file seperti gambar, dokumen, atau media lainnya yang perlu diakses oleh pengguna aplikasi.
Cara Membuat Storage Link di hosting
Laravel menyediakan perintah bawaan untuk membuat storage link:
# php artisan storage:link
Perintah ini secara otomatis membuat symbolic link dari storage/app/public
ke public/storage
.
Setelah storage link dibuat, semua file yang disimpan di direktori storage/app/public
dapat diakses melalui URL seperti https://nama domain.com/storage/filename.jpg.
Tabel Perbedaan Symlink dan Storage Link
Meskipun storage link secara teknis adalah symlink, ada beberapa perbedaan utama antara keduanya:
Aspek | Symlink | Storage Link |
Fungsi Umum | Shortcut untuk file atau folder apa saja. | Shortcut khusus untuk Laravel. |
Konteks Penggunaan | Digunakan secara umum di sistem file. | Hanya digunakan di aplikasi Laravel. |
Tujuan | Menghubungkan folder atau file apa saja. | Mengakses file publik dari storage. |
Perintah | ln -s [target] [link_name] | php artisan storage:link |
Keamanan | Termasuk salah satu function php, dikontrol juga oleh hosting. | Dikontrol oleh Laravel, lebih spesifik. |
* beberapa hosting membatasi penggunaan function symlink(), sehingga perlu diaktifkan dari sisi server
Kendala Umum di Hosting
- Pembatasan Shared Hosting: Pada layanan shared hosting, fitur symlink sering kali dibatasi karena alasan keamanan. Hal ini dapat menjadi kendala jika aplikasi Laravel membutuhkan function storage link.
- Kesalahan Konfigurasi: Jika storage link tidak berfungsi, pastikan konfigurasi
APP_URL
di file.env
sudah benar dan permissions direktori storage telah disetel dengan benar. - Alternatif Tanpa SSH: Jika Anda tidak memiliki akses SSH di hosting, Anda bisa meminta bantuan penyedia hosting untuk membuatkan symlink.
Kesimpulan
Beberapa orang menganggap symbolic link (symlink) dan storage link adalah hal yang sama, namun sebenarnya, keduanya memiliki fungsi yang berbeda.
Symlink digunakan untuk menghubungkan file atau folder apa saja di Laravel, sementara storage link adalah fitur khusus Laravel untuk mengakses file dari direktori storage melalui URL publik. Dengan memahami perbedaan ini, Anda dapat mengelola aplikasi Laravel di hosting dengan lebih efektif.
Jika Anda menghadapi kendala dalam membuat symlink atau storage link, pastikan untuk memeriksa konfigurasi hosting Anda dan mencari solusi sesuai kebutuhan aplikasi Laravel Anda.