Mengatur permission docroot /var/www atau lampp/htdocs di Linux dengan benar

Untuk memberikan akses atau permission write di document root atau docroot /var/www/html atau lampp/htdocs di linux memang agak sedikit berbeda.

Mungkin kita bisa langsung saja memberikan akses seperti #chmod 777 nama_folder pada sebuah folder di Linux untuk memberikan full akses, namun sebenarnya hal semacam itu bukan best practicenya.

Untuk memberikan akses ke dokumen root di Linux, katakanlah ada multiple user dan group yang menggunakan perangkat kita (karena asumsi web server berarti kemungkinan besar akan banyak user yang menggunakannya) karena itu akan sangat merepotkan jika untuk setiap user kita berikan full akses dan sedikit rentan juga jika full akses tersebut ditaruh di dokumen root, dimana aplikasi kita tersimpan.

Cara terbaiknya, sebagai contoh, umumnya default group untuk koten web di Ubuntu atau Debian based adalah www-data, sehingga kita cukup memberikan akses write pada group www-data. Selanjutnya, kita masukkan user yang ingin menggunakan akses tersebut ke group www-data.

Untuk menambahkan user ke group caranya adalah dengan:

sudo usermod -a -G www-data <some_user>

kemudian, kita set permission untuk docrootnya, katakanlah /var/www/

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

Sebagai tambahan, kita bisa membuat direktori dan semua direktori dibawhanya otomatis owned by www-data, sehingga kedepan kita tidak perlu repot-repot mengubah pengaturanya lagi.

sudo find /var/www -type d -exec chmod 2775 {} \;    

Cari dan set semua file di /var/www dan tambahakn permission read and write untuk owner dan group:

sudo find /var/www -type f -exec chmod ug+rw {} \;

Welldone, kalau pas dicoba belum bisa, bisa dicoba untuk logout dan login ulang jika kita mengedit permission untuk akun kita sendiri. Karena kadang-kadang session yang tersimpan perlu di update.