Oui, c'est simple. J'ai déjà fait tourner une ferme web (en utilisant la 1.3.27) avec environ 1000 serveurs virtuels configurés sur chaque serveur exactement de cette façon - le démarrage prenait quelques secondes de plus mais sinon il y avait peu de différence avec un seul serveur virtuel. Il suffit de spécifier un répertoire pour contenir les définitions des serveurs virtuels (un par fichier) et de configurer une arborescence de répertoires pour chaque site web. La machine sur laquelle j'écris ces lignes est livrée avec Apache 2.2 préconfiguré pour gérer ce genre de cas ; dans le httpd.conf, il y a une ligne :
Include conf/vhosts.d/*.conf
Et la création d'un fichier, disons exemple.com.conf contenant :
<VirtualHost example.com>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/vhosts/example.com/www
CustomLog /var/vhosts/example.com/logs common
ErrorLog /var/vhosts/example.com/logs
</VirtualHost>
Vous pourriez créer un utilisateur en même temps et faire pointer son répertoire personnel vers l'emplacement de base (/var/vhosts/exemple.com). Je recommande de désactiver tous les liens cgi / shtml / php /symlinks etc. à moins que vous ne sachiez comment les configurer de manière sécurisée. Il est préférable d'autoriser l'override none également.
Une autre approche consiste à utiliser un serveur virtuel joker, toutes les demandes étant acheminées vers votre contrôleur frontal qui invoquerait alors des éléments spécifiques de la fonctionnalité, mais cela demande un effort de développement assez important.