Vou sugerir usar o mpm-itk
Package: apache2-mpm-itk
Description: multiuser MPM for Apache 2.2
The ITK Multi-Processing Module (MPM) works in about the same way as the classical "prefork" module (that is, without threads),
except that it allows you to constrain each individual vhost to a particular system user. This allows you to run several different
web sites on a single server without worrying that they will be able to read each others' files. This is a third-party MPM that is
not included in the normal Apache httpd.
Please note that this MPM is somewhat less tested than the MPMs that come with Apache itself.
Com outro patch , você pode atribuir uid / gid dinamicamente. Estou usando essa solução há cerca de 2 anos sem nenhum problema.
<VirtualHost *:80>
ServerName www.example.net
ServerAlias *.example.net
UseCanonicalName Off
VirtualDocumentRoot /vhosts/example.net/%1
DirectoryIndex index.php index.html
AssignUserFromPath "^/vhosts/example.net/([^/]+)" mvh_$1 mvh_$1
<Directory /vhosts/example.net>
Options -Indexes +Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>