top

Correr varios web sites, en una direccion IP

Tu server tiene una unica direccion, y multiples punteros alias (CNAMES)  en el DNS, y tu deseas correr un web server por cada sitio, por ejemplo  www.example1.com y www.example2.org

Nota

Tu necesitas configurar correctamente tu DNS, para que los nombres de dominio resuelvan a tu direccion IP.

Server configuration

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com

# Other directives here

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org

# Other directives here

</VirtualHost>

Los asteriscos representan todas la direcciones IP, tambien el Main.

Nota

Si lo deseas tu puedes reemplazar * con el actual direccion IP de tu server, el argumento de Virtu

VirtualHost tiene que ser igual a NameVirtualHost:

NameVirtualHost 172.20.30.40

<VirtualHost 172.20.30.40>
# etc ...

 

 

Nombres de dominios en mas de un IP

Asumiendo que tu server tenga dos IP (172.20.30.40) sera tu "Main" server server.domain.com y otra direccion 172.20.30.50, esta direccion sera tu Virtual hosts

Server configuration

Listen 80

# This is the "main" server running on 172.20.30.40
ServerName server.domain.com
DocumentRoot /www/mainserver

# This is the other address
NameVirtualHost 172.20.30.50

<VirtualHost 172.20.30.50>
DocumentRoot /www/example1
ServerName www.example1.com

# Other directives here ...

</VirtualHost>

<VirtualHost 172.20.30.50>
DocumentRoot /www/example2
ServerName www.example2.org

# Other directives here ...

</VirtualHost>

Cualquier solicitud que no vaya al 172.20.30.50 sera servida por el Main Server, una solicitud al 172.20.30.50 con un desconocido hostname, sera servida al www.example1.com

top

Sirviendo el mismo contenido en diferentes direcciones IP (caso de tener una IP externa y otra interna).

El servidor tiene dos direcciones IP (192.168.1.1 y 172.20.30.40), el equipo esta situado entre una intranet e internet. Internet resuleve al IP 172.20.30.40 con el dominio server.example.com, pero adentro (intranet) el mismo nombre resuelve al ip 192.168.1.1

Esta es la opcion para que el servidor apache sirva el mismo contenido en ambas direcciones

Server configuration

NameVirtualHost 192.168.1.1
NameVirtualHost 172.20.30.40

<VirtualHost 192.168.1.1 172.20.30.40>
DocumentRoot /www/server1
ServerName server.example.com
ServerAlias server
</VirtualHost>

Asi las solicitudes de ambas redes se el servira el mismo virtual host

Correr diferentes sitios en diferentes puertos

You have multiple domains going to the same IP and also want to serve multiple ports. By defining the ports in the "NameVirtualHost" tag, you can allow this to work. If you try using <VirtualHost name:port> without the NameVirtualHost name:port or you try to use the Listen directive, your configuration will not work.

Server configuration

Listen 80
Listen 8080

NameVirtualHost 172.20.30.40:80
NameVirtualHost 172.20.30.40:8080

<VirtualHost 172.20.30.40:80>
ServerName www.example1.com
DocumentRoot /www/domain-80
</VirtualHost>

<VirtualHost 172.20.30.40:8080>
ServerName www.example1.com
DocumentRoot /www/domain-8080
</VirtualHost>

<VirtualHost 172.20.30.40:80>
ServerName www.example2.org
DocumentRoot /www/otherdomain-80
</VirtualHost>

<VirtualHost 172.20.30.40:8080>
ServerName www.example2.org
DocumentRoot /www/otherdomain-8080
</VirtualHost>

top

IP-based virtual hosting

The server has two IP addresses (172.20.30.40 and 172.20.30.50) which resolve to the names www.example1.com and www.example2.org respectively.

Server configuration

Listen 80

<VirtualHost 172.20.30.40>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>

<VirtualHost 172.20.30.50>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>

Requests for any address not specified in one of the <VirtualHost> directives (such as localhost, for example) will go to the main server, if there is one.

top

Mixed port-based and ip-based virtual hosts

The server machine has two IP addresses (172.20.30.40 and 172.20.30.50) which resolve to the names www.example1.com and www.example2.org respectively. In each case, we want to run hosts on ports 80 and 8080.

Server configuration

Listen 172.20.30.40:80
Listen 172.20.30.40:8080
Listen 172.20.30.50:80
Listen 172.20.30.50:8080

<VirtualHost 172.20.30.40:80>
DocumentRoot /www/example1-80
ServerName www.example1.com
</VirtualHost>

<VirtualHost 172.20.30.40:8080>
DocumentRoot /www/example1-8080
ServerName www.example1.com
</VirtualHost>

<VirtualHost 172.20.30.50:80>
DocumentRoot /www/example2-80
ServerName www.example1.org
</VirtualHost>

<VirtualHost 172.20.30.50:8080>
DocumentRoot /www/example2-8080
ServerName www.example2.org
</VirtualHost>

top

 





 

Elaborado por: Ing. Claudio Adonis Urbina

Email: claudio.adonis@hotmail.com

Cel:(505) 8634-5478 Managua-Nicaragua