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.