Skip to content

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.

bash
sudo chown -R akhmad:www-data /var/www/html/project-anda

2. 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)
bash
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).

bash
sudo chmod -R 775 /var/www/html/project-anda/storage
sudo chmod -R 775 /var/www/html/project-anda/bootstrap/cache

4. 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.

bash
sudo usermod -a -G www-data akhmad

Catatan: Setelah menjalankan perintah ini, Anda mungkin perlu logout dan login kembali agar efeknya terasa.

Ringkasan Keamanan ​

Dengan konfigurasi ini:

  1. Aman: File sistem inti Laravel tidak bisa diubah oleh web server.
  2. Fungsional: Web server tetap bisa menulis log, cache, dan session.
  3. Mudah Dikelola: User akhmad memiliki kontrol penuh.