I frequently find myself encountering problems (usually permissions)
Isso implica que você não possui um modelo de permissões.
How is your local development setup like?
Eu uso a entidade 'other' para permitir acesso ao apache uid, o 'group' é para as pessoas que precisam implantar / editar arquivos e o usuário é o usuário que criou os arquivos.
Então meus arquivos são parecidos com:
drwxrwsr-x symcbean webdev webroot/
-rw-rw-r-- other webdev webroot/a.php
-rw-rw-r-- symcbean webdev webroot/b.php
drwxrwxrwx symcbean webdev webroot/data
-rw-rw-rw- apache apache webroot/data/stuff.txt
drwxrwsr-x symcbean webdev webroot/include/
-rw-rw-r-- symcbean webdev webroot/include/def.php