marzo 05, 2010

Apache - Serveralias

Ejemplo de serveralias en apache 2.2

Si quisieras redireccionar a un directorio varios dominios distintos


NameVirtualHost  xxx.xxx.xxx.xxx
<VirtualHost xxx.xxx.xxx.xxx>
ServerName mail.dominio1.com
ServerAlias mail.dominio2.com mail.dominio3.com mail.dominio4.com
DocumentRoot /var/www/html/mail/squirrelmail
</VirtualHost>



o si quisieras redireccionar a un directorio varios dominios con diferente region


NameVirtualHost  xxx.xxx.xxx.xxx
<VirtualHost xxx.xxx.xxx.xxx>
ServerName www.dominio.com
ServerAlias www.dominio.com www.dominio.org www.dominio.mx www.dominio.com.mx
   DocumentRoot /var/www/html/www
</VirtualHost>

18 comentarios:

fede dijo...

Hola,
necesito crear dos sitios en Apache.
¿he de configurar ambos com virtualhost o solo uno de ellos??

Gracias, saludos:D

Richard Site dijo...
Este comentario ha sido eliminado por el autor.
Richard Site dijo...

Una forma sería así

NameVirtualHost xxx.xxx.xxx.xxx
<VirtualHost xxx.xxx.xxx.xxx>
ServerName www.midominio1.com
DocumentRoot /var/www/html/midominio1/
</VirtualHost>

NameVirtualHost xxx.xxx.xxx.xxx
<VirtualHost xxx.xxx.xxx.xxx>
ServerName www.midominio2.com
DocumentRoot /var/www/html/midominio2/
</VirtualHost>

xxx.xxx.xxx.xxx es la IP de tu máquina

fede dijo...

Gracias por tu respuesta Rivhard

Este es mi codigo:
NameVirtualHost localhost:8080
NameVirtualHost localhost:9090


ServerName www.xyz.com
ServerAlias xyz.com
DocumentRoot "C:/Archivos de programa/Apache Group/Apache2/htdocs/"



ServerName www.abc.net
ServerAlias abc.net
DocumentRoot "C:/Archivos de programa/Apache roup/Apache2/htdocs/prjABC/"
DirectoryIndex index.html
errordocument 403 /sos/e403.png


el serverAlias abc.net:9090 me funciona OK, pero xyz.com:8080 NO me funciona :( ¿donde esta el error?

Gracias, saludos:D

Richard Site dijo...

Yo probaría con esto

NameVirtualHost localhost:8080
<VirtualHost localhost:8080>
ServerName www.xyz.com
ServerAlias xyz.com
DocumentRoot "C:/Archivos de programa/Apache Group/Apache2/htdocs/"
</VirtualHost>

NameVirtualHost localhost:8080
<VirtualHost localhost:8080>
ServerName www.abc.net
ServerAlias abc.net
DocumentRoot "C:/Archivos de programa/Apache Group/Apache2/htdocs/prjABC/"
DirectoryIndex index.html
</VirtualHost>

fede dijo...

Muchas gracias Richard, tu codigo me funciona perfecto¡¡¡

Quuisiera consultarte algo respecto a tu codigo:
1. ¿Por que usas dos entradas NameVirtualhos, NO es un error pero con una sola es suficiente(Apache te da un warning)?

2.¿podria declarar un solo virtualhost(midominio2) y dejar el otro(midominio1) como servidor principal(sin usar VirtualHost)?¿seria igual de correcto que tu codigo o utilizaria mas recursos?

Gracias por tu ayuda, saludos:D

Richard Site dijo...

1. ¿Por que usas dos entradas NameVirtualhos, NO es un error pero con una sola es suficiente(Apache te da un warning)?

Me da un warning por cada virtualhost en apache2 pero este código lo he usado desde hace mucho y por lo menos no ha fallado y como no falla para que arreglarlo. Tal vez se pueda hacer de otra forma sin warnings pero hay que conocer más de apache


2.¿podria declarar un solo virtualhost(midominio2) y dejar el otro(midominio1) como servidor principal(sin usar VirtualHost)?¿seria igual de correcto que tu codigo o utilizaria mas recursos?

Compartiendo la misma IP para hostear más de un sitio web, yo lo he logrado hacer con un virtualhost por sitio web.


Si tienes tiempo para experimentar e ir con la última versión del software y averiguar sus mejoras, adelante te volverás experto en lo último de la tecnología. Para veteranos que como yo que usamos la misma configuración prácticamente desde el primer apache, el apache ha dado compatibilidad para seguir usando configuraciones antiguas y al tener varios servidores en producción que no se puede experimentar mucho, pues si no esta descompuesto pues no lo arregles.

fede dijo...

Hola Richard,

en local me funcionan los 4 dominios((www.)xyz.com y (www.)abc.net), pero no consigo accerlos funcionar en mi LAN!!

He añadido los 4 dominios al fichero hosts de los clientes con la IP del servidor(analogo al fichero host del servidor) pero no me funciona :( ¿Que puedo hacer?

Richard Site dijo...

¿Qué te marca al hacer traceroute o tracert?

c:\>tracert www.xyz.com

fede dijo...

Este es el resultado del tracert www.xyz.com:8080:
1.....192.168.1.1
2.......10.146.254.220
3......................
4..............
5.....213.242.109.205
y sigue hasta 14 saltos.

la verdad es que no se de donde salen tanta IP(ninguna es mia excepto el router claro) y tanto salto(bastaria con 2 saltos)¿me podrias aclarar?

Gracias Richard

PS:si me envias tu email te envio toda la traza del tracert, ok?

Richard Site dijo...

Asegurate que esté bien configurado el archivo hosts debería dar sólo dos saltos el traceroute


http://blogdeecomputo.blogspot.mx/2014/10/modificar-el-archivo-hosts.html

fede dijo...
Este comentario ha sido eliminado por el autor.
fede dijo...

He añadido los 4 dominios al fichero hosts de los clientes con la IP del servidor(analogo al fichero host del servidor) pero no me funciona :(, al ponerlos en el navegador cualkiera de ellos siempre me aparece el 1er VirtualHost definido(www.xyz.com) ¿Que puedo hacer?

192.168.1.3 www.xyz.com
192.168.1.3 xyz.com
192.168.1.3 www.abc.net
192.168.1.3 abc.net


Richard Site dijo...

Archivo hosts Computadora 1
127.0.0.1 localhost

Archivo hosts Computadora 2
192.168.1.3 www.xyz.com
192.168.1.3 xyz.com
192.168.1.3 www.abc.net
192.168.1.3 abc.net

Archivo hosts Computadora 3
192.168.1.3 www.xyz.com
192.168.1.3 xyz.com
192.168.1.3 www.abc.net
192.168.1.3 abc.net

fede dijo...
Este comentario ha sido eliminado por el autor.
fede dijo...

como puedes ver, tu archivo hosts es el que yo utilizo, asi que no entiendo que puede estar fallando, y tu??

el problema es que al acceder a www.xyz.com:8080 y a www.abc.net:8080, ambas ma van al directorio htdocs(1er VHost), ¿que puedo hacer para arreglarlo?

Richard Site dijo...

¿Qué te marca el log de apache cuando entras?

fede dijo...

ARREGLADO:p) Richard!!!

la solucion era "obvia", puse NameVirtualHost localhost:8080 en ludar de NameVirtualHost *:8080, por eso solo funcionaba bien localmente(localhost)

Muchas gracias por tu ayuda Richard, saludos.

Se ha producido un error en este gadget.