Eu nunca tentei Acabei de testar usando a diretiva Apaches DocumentRoot
sem o correspondente ServerName
host nomeado - e consegui que funcionasse na minha máquina.
A idéia é tentar obter o host virtual para corresponder a um caminho de arquivo, tente substituir isso:
Alias /site2 /home/user/www/site2/
com
DocumentRoot /home/user/www/site2
The DocumentRoot should be specified without a trailing slash.
para que você obtenha
<VirtualHost *:8080>
DocumentRoot /home/user/www/site2
AddHandler cgi-script cgi
<Directory "/home/user/www/site2/">
AllowOverride All
Options +ExecCGI
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
DirectoryIndex index.cgi
</Directory>
</VirtualHost>
Experimente uma combinação de site virtual, se funcionar, repita nos outros. - não se esqueça de reiniciar o apache depois de modificar os vhosts - você provavelmente terá que alterar a diretiva Listen
.
O Apache tem um guia sobre a execução de vários sites em diferentes portas .
Isso é baseado no apache 2.2 e os documentos dizem
[you must use] NameVirtualHost x.x.x.x:8080 - without the NameVirtualHost name:port or you try to use the Listen directive, your configuration will not work.
Eu testei no 2.4 no Ubuntu sem o NameVirtualHost
e funcionou bem para mim