Você pode tentar usar o mod_myvhost
mod_myvhost is Apache module for dynamically configured name based mass virtual hosting with PHP, virtual host's configurations and PHP settings are stored in database.
No need to have every vhost in apache's configuration file, no need to restart apache after configuration changed (vhost added|deleted, vhost rootdir changed, vhost unblocked/unblocked...).