maanantai 21. marraskuuta 2016

Datatiedostojen oikeudet Apachessa

Sovelluskehitysympäristöt kuten Laravel ja CakePHP kirjoittavat datatiedostoja WWW-hakemiston alle. Jotta näitä datatiedostoja pääsee käsittelemään sekä komentoriviohjelmista että Apachesta, niin on tarpeellista antaa hakemistoille lisää oikeuksia.

Lisää aluksi oma käyttäjätunnuksesi http-ryhmään komennolla
sudo usermod -a -G http teppo
missä teppo on käyttäjätunnuksesi. Tämä tarvitsee tehdä vain kerran.

Siirry juurihakemistoon komennolla
cd ~/public_html/laravel

Aseta yksittäinen hakemisto http-ryhmän hallintaan komennolla
chgrp -R http storage/cache
missä storage/cache on Apachen ja komentoriviohjelman kirjoittama hakemisto.

Anna ryhmälle kirjoitusoikeus hakemistoon:
chmod -R g+rw storage/cache

Aseta set-group -bitti hakemistoon ja kaikkiin alihakemistoihin, jotta uudet tiedostot ja hakemistot syntyvät oletuksena http-ryhmän hallintaan
sudo find storage/cache -type d -exec chmod g+sx {} \;

Aseta lukuoikeus ryhmän tulevaisuudessa luomiin tiedostoihin komennoilla
find storage/cache -type d -exec setfacl -dm g::rwx {} \;