Als je gebruik maakt van virtual hosts, dan kun je in Apache 2.4 met de directive VHostUser bepalen onder welk userid de betreffende virtuele host draait. Dat is wellicht een oplossing die nog net iets sjieker is dan sudo.
sudo groupadd symfonydevloper
sudo useradd symfonysite
# add Frank to symfonydevloper group
sudo usermod -a -G symfonydevloper frank
# add apache to symfonydevloper group
sudo usermod -a -G symfonydevloper apache
Ik draai thuis Apache onder mijn username/group.
Dan kan ik als user gewoon alles doen wat Apache ook mag.
Dat heeft als nadeel dat Apache ook alles mag wat jij mag. Is niet echt handig als je server wordt gehackt. ;-) Dat is trouwens ook het nadeel van de VHostUser-setting. Je moet er dus voor zorgen dat je onder je eigen account minimale rechten hebt.
> vergeet de chmod -R g+rwx for de new uploaded files niet.
Je kan ook een "chmod g+s op /var/www/projects/symfony/" doen vóórdat je daar alle bestanden naartoe kopieert (heb je al een directorystructuur dan kun je dat met "find /var/www/projects/symfony/ -type d -exec chmod g+s {} \;" alsnog regelen).
Door het s-bitje op de directory zullen alle bestanden die je aanmaakt automatisch de group van de betreffende directory erven.
SanThe, Die van jou klinkt logisch en makkelijk. Neem aan dat de group niet wheel is?
Ik vroeg mezelf voornamelijk af hoe het dan gedaan wordt bij een shared server, dat antwoord ligt dan waarschijnlijk in de tweede post van Willem: VHostUser's.
Hierbij wordt dan eigenlijk ook de oplossing van SanThe gebruikt? uiteraard zijn het dan geen sudoers..