Tengo 3 sitios y un sitio predeterminado/de prueba que usa la página de prueba de mono.
Creé aFirst, c, d, e, zLast. zLast tiene reglas de reescritura que deben evaluarse en último lugar. Dado que el primer VirtualHost visto es el predeterminado, lo configuré en este
--aFirst--
<VirtualHost *:80>
ServerName www.domain.tld
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test
DirectoryIndex index.html index.aspx index.php
MonoDocumentRootDir "/var/www/test"
MonoServerPath rootsite "/usr/local/bin/mod-mono-server2"
MonoApplications rootsite "/:/var/www/test"
<Directory /var/www/test>
MonoSetServerAlias rootsite
SetHandler mono
AddHandler mod_mono .aspx .ascx .asax .ashx .config .cs .asmx
</Directory>
</VirtualHost>
El problema es que mi página predeterminada (la dirección IP de mi servidor) y el primer sitio web (csite.ddomain.net) tienen problemas (aunque csite está definido en c y no es el primer host virtual). La dirección IP de mi servidor y csite.ddomain.net SIEMPRE cargan el mismo sitio. O la página de prueba de monos o el csite. Se voltea cada vez que reinicio Apache. ¿Por qué la dirección IP del servidor no siempre carga la página predeterminada (página de prueba mono) y por qué csite.ddomain.net no siempre carga el sitio que quiero?
Aquí está la configuración para
--csite--
<VirtualHost *:80>
ServerName csite.testdomain.net
ServerAdmin webmaster@localhost
ServerAlias s.csite.testdomain.net
DocumentRoot /var/www/prjname
DirectoryIndex index.html index.aspx
MonoDocumentRootDir "/var/www/prjname"
MonoServerPath rootsite "/usr/local/bin/mod-mono-server2"
MonoApplications rootsite "/:/var/www/prjname"
<Directory /var/www/prjname>
MonoSetServerAlias rootsite
SetHandler mono
AddHandler mod_mono .aspx .ascx .asax .ashx .config .cs .asmx
</Directory>
</VirtualHost>
aFirst, c, d, e, zLast están todos habilitados.
Respuesta1
¿Tiene 'NameVirtualHost *:80' definido antes de todos sus hosts virtuales? ¿Están todos sus sitios listados en un archivo en orden?
Respuesta2
Utilicé esta página para instalar mono en mi Debian.http://blog.ruski.co.za/page/Install-Mono-on-Ubuntu.aspx
BajoConfigurar hosts virtuales Apache2muestra lo siguiente.
El problema fue que copié, pegué esto y cambié el directorio de cada uno de mis sitios. El nombre (en este caso sitio raíz) debe ser diferente, así que lo solucioné cambiando sitio raíz a prjname_site para cada uno de mis sitios. Ahora se reinicia sin problemas y no tengo ningún conflicto sobre qué dominio aparece y dónde.
Nota adicional: actualmente me gusta más mono 2.6.* que 2.8.* ya que 2.8 no me brinda información precisa sobre errores de carga. 2.6 maneja todo en .NET 3.5 AFAIK.
<VirtualHost *>
ServerName www.local.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test
DirectoryIndex index.html index.aspx
MonoDocumentRootDir "/var/www/test"
MonoServerPath rootsite "/usr/local/bin/mod-mono-server2"
MonoApplications rootsite "/:/var/www/test"
<Directory /var/www/test>
MonoSetServerAlias rootsite
SetHandler mono
AddHandler mod_mono .aspx .ascx .asax .ashx .config .cs .asmx
</Directory>
</VirtualHost>