Pengaturan Permission Folder Laravel yang Aman
Berikut adalah panduan pengaturan permission (izin akses) folder dan file untuk aplikasi Laravel yang aman dan benar.
Asumsi
- User:
akhmad - Web Server User:
www-data(standar Nginx/Apache) - Lokasi Project:
/var/www/html/project-anda
Langkah-langkah
1. Mengatur Owner (Kepemilikan)
Ubah kepemilikan semua file ke user akhmad dan group www-data. Ini memastikan Anda bisa mengedit file, dan web server bisa membacanya.
sudo chown -R akhmad:www-data /var/www/html/project-anda2. Mengatur Permission Standar
Set permission standar untuk semua file dan folder agar aman (tidak terlalu terbuka).
- Folder:
755(User bisa tulis/baca, Group/Others hanya baca/eksekusi) - File:
644(User bisa tulis/baca, Group/Others hanya baca)
sudo find /var/www/html/project-anda -type f -exec chmod 644 {} \;
sudo find /var/www/html/project-anda -type d -exec chmod 755 {} \;3. Mengatur Permission Khusus (Storage & Cache)
Laravel membutuhkan akses tulis (write) ke folder storage dan bootstrap/cache. Kita berikan akses tulis kepada group (www-data).
sudo chmod -R 775 /var/www/html/project-anda/storage
sudo chmod -R 775 /var/www/html/project-anda/bootstrap/cache4. Tambahkan User ke Group (Opsional)
Agar user akhmad bisa mengedit file yang mungkin dibuat otomatis oleh Laravel (misal file log atau cache) tanpa masalah permission di kemudian hari, tambahkan user akhmad ke group www-data.
sudo usermod -a -G www-data akhmadCatatan: Setelah menjalankan perintah ini, Anda mungkin perlu logout dan login kembali agar efeknya terasa.
Ringkasan Keamanan
Dengan konfigurasi ini:
- Aman: File sistem inti Laravel tidak bisa diubah oleh web server.
- Fungsional: Web server tetap bisa menulis log, cache, dan session.
- Mudah Dikelola: User
akhmadmemiliki kontrol penuh.