Virtual hosts en Apache2

Cuando desarrollamos portales web y levantamos nuestro servidor de aplicaciones accesamos a los proyectos con la siguiente ruta:

Pero cuando un proyecto es desplegado en un servidor en internet utiliza un DNS:

Con los servidores virtuales podemos lograr esto en un ambiente local solo tenemos configurar dos cosas:

1. Configurar DNS local

El enrutamiento del archivo hosts de tu sistema operativo, con esto le vamos a decir a tu máquina que cuando escribas la dirección “http://www.orbitalzero.com” redireccione la petición a la ip 127.0.0.1:

Abre con un editor de texto el siguiente archivo “/etc/hosts” (Linux y Mac OSX) , c://…pendiente (Windows) y agregas la ip y el nombre para el DNS:

Ahora reinicias la configuración de tu hosts:

Linux:

Ubuntu: sudo /etc/init.d/networking restart
Fedora
: service network restart

Mac OSX:

dscacheutil -flushcache

Windows:

Solo desabiltas y habilitas la tarjeta de red.

2. Crear servidores virtuales

Vamos a decirle a nuestro servidor apache que redireccione los DNS a una carpeta, por ejemplo:

Linux:

Creas un archivo con el nombre que tu quieras en /etc/apache2/sites-available , al mio lo nombre “oz”:

sudo gedit /etc/apache2/sites-available/oz

Y escribes el siguiente contenido:

# My Virtual Hosts Config File for Two Domains
NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin webmaster@orbitalzero.com
DocumentRoot “/var/www/oz”
ServerName http://www.orbitalzero.com
ServerAlias orbitalzero.com
# ErrorLog “/var/log/apache2/oz-error_log”
# CustomLog “/var/log/apache2/oz-access_log” common

</VirtualHost>
<VirtualHost *:80>

ServerAdmin webmaster@localhost.com
DocumentRoot “/var/www”
ServerName loclahost
ServerAlias localhost
# ErrorLog “/var/log/apache2/localhost-error_log”
# CustomLog “/var/log/apache2/localhost-access_log” common

</VirtualHost>

Guardas el archivo y reinicias el servidor apache:

sudo apachectl restart

Si todo sale bien ya deberías accesar por el DNS a cada uno:

Mac OSX:

Editas el archivo /etc/apache2/users/TU_USUARIO.conf y agregas lo siguiente:

<Directory "/Users/TU_USUARIO/Sites/">

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

</Directory>

NameVirtualHost *:80

<virtualhost *:80>

DocumentRoot “/Users/TU_USUARIO/Sites/oz”
ServerName http://www.orbitalzero.com
ServerAlias orbitalzero.com

</virtualhost>

<virtualhost *:80>

DocumentRoot “/Users/TU_USUARIO/Sites”
ServerName loclahost
ServerAlias localhost

</virtualhost>

Guardas el archivo y reinicias el servidor apache:

sudo apachectl restart

Ya debes de ingresar correctamente con cada dominio:

Windows:

//pendiente

Referencias:
http://www.cyberciti.biz/faq/warn-_default_-virtualhost-overlap-port80-first-hasprecedence/
http://www.maestrosdelweb.com/editorial/host/

Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s