Penyebab Utama Error Permission Denied di Framework Laravel
Pesan kesalahan **UnexpectedValueException: The stream or file storage/logs/laravel.log could not be opened: failed to open stream: Permission denied** terjadi ketika proses web server (seperti Nginx atau Apache yang berjalan di bawah user `www-data` atau `nginx`) tidak memiliki hak akses tulis (*write permission*) pada direktori `storage` dan `bootstrap/cache`.
Langkah 1: Mengidentifikasi User Web Server di Server Linux
Buka terminal SSH dan periksa user yang menjalankan proses web server Nginx/Apache Anda:
ps aux | grep -E 'nginx|apache|www-data|httpd'Umumnya user web server pada Ubuntu/Debian adalah www-data, sedangkan pada CentOS/RHEL/AlmaLinux adalah nginx atau apache.
Langkah 2: Mengubah Kepemilikan (Ownership) Folder storage & bootstrap/cache
Ubah kepemilikan direktori `storage` dan `bootstrap/cache` agar dimiliki oleh user web server dan user login Anda:
# Ganti www-data dengan user web server Anda jika berbeda:\nsudo chown -R www-data:www-data storage bootstrap/cacheLangkah 3: Mengatur Hak Akses (Permissions 775 & 664) secara Presisi
Berikan hak akses baca dan tulis (*read-write-execute*) yang aman bagi grup web server:
# Atur izin direktori menjadi 775 (rwxrwxr-x):\nsudo find storage bootstrap/cache -type d -exec chmod 775 {} \;\n\n# Atur izin file di dalamnya menjadi 664 (rw-rw-r--):\nsudo find storage bootstrap/cache -type f -exec chmod 664 {} \;Langkah 4: Membersihkan Cache Framework & Menjalankan Storage Link
Jalankan perintah Artisan berikut untuk meregenerasi cache dan membuat symbolic link storage:
php artisan config:clear\nphp artisan cache:clear\nphp artisan storage:link“Memberikan chmod 777 pada seluruh direktori aplikasi sangat berbahaya bagi keamanan server. Gunakan izin 775 pada storage dan bootstrap/cache untuk standar keamanan produksi terbaik.” — Tim DevOps AN Media Jember
Kesimpulan & Layanan Maintenance Laravel AN Media
Mengaplikasikan langkah-langkah di atas akan menyelesaikan kendala **Permission Denied di Laravel** secara aman dan tuntas. Jika Anda memerlukan **Jasa Server Deployment & Maintenance Laravel di Jember**, hubungi tim **AN Media**.