elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Apache - Como crear host virtuales para tener varias web almacenadas???
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Apache - Como crear host virtuales para tener varias web almacenadas???  (Leído 13,140 veces)
alzehimer_cerebral


Desconectado Desconectado

Mensajes: 513



Ver Perfil WWW
Apache - Como crear host virtuales para tener varias web almacenadas???
« en: 25 Noviembre 2010, 01:17 am »

Hola a todos, me encuentro configurando un servidor Apache en Ubuntu 10.04 con el objetivo de labergar varias paginas web, os voy a exponer lo que quiero conseguir para ver si alguien me puede guiar en dicho proceso..

Imaginemos que he comprado 2 dominios: www.megustaelhacker.net y www,vivaelhacker.net.  En ambas empresas de hosting redirecciono los dominios a la IP publica de mi servidor Apache.  Me gustaria que dependiendo de que dominio provenga la peticion al servidor web pues que se cargara un host virtual en concreto.

Segun lo que he leido en la pagina de Apache (http://httpd.apache.org/docs/1.3/dns-caveats.html) y en (http://httpd.apache.org/docs/1.3/vhosts/ip-based.html), he optado por la opcion de tener solo un demonio Apache con varios hosts virtuales, los hosts virtuales serian algo como:

 <VirtualHost www.megustaelhacker.net>
    ServerAdmin webmaster@mail.smallco.com
    DocumentRoot /groups/smallco/www
    ServerName www.megustaelhacker.net
    ErrorLog /groups/smallco/logs/error_log
    TransferLog /groups/smallco/logs/access_log
    </VirtualHost>

    <VirtualHost www.vivaelhacker.net>
    ServerAdmin webmaster@mail.baygroup.org
    DocumentRoot /groups/baygroup/www
    ServerName www.vivaelhacker.net
    ErrorLog /groups/baygroup/logs/error_log
    TransferLog /groups/baygroup/logs/access_log
    </VirtualHost>

1.-Si opto por este tipo de hosts virtuales, no tengo claro como se sabria que host virtual cargar...  Ya que supongo que url seria http://IP_PUBLICA...  Hay alguna forma de saber y diferenciar que host virtual cargar???

Tambien he leido que es conveniente poner la IP en el host virtual:

<VirtualHost 10.0.0.1>
    ServerName www.megustaelhacker.net
    ServerAdmin webgirl@abc.dom
    DocumentRoot /www/megustaelhacker.net
    </VirtualHost>

 <VirtualHost 10.0.0.2>
    ServerName www.vivaelhacker.net
    ServerAdmin webgirl@abc.dom
    DocumentRoot /www/vivaelhacker.net
    </VirtualHost>

2. Si optase por este modo de hosts virtuales, supongo que tendria que crear interfaces de red virtuales una para 10.0.0.1 y otra para 10.0.0.2...  Tampoco llego a entender como a partir del trafico de entrada se determina cual virtualhost cargar??

Bueno haber si alguien me puede indicar cual de los dos metodos es mas conveniente para mis propositos??  Una vez decidido el metodo la cuestion seria saber si debo tener un servidor DNS o si con el /etc/hosts seria suficiente??  La peticion que recibe mi servidor Apache lleva el ServerName explicito??

Lo siento por formular tantas preguntas. He intentado ser lo mas claro posible.  Cualquier ayuda basada en vuestra experiencia es bienvenida.

Gracias de antemano.

Salu2

alzehimer_cerebral  :P



En línea

Servicios Informaticos Valencia - www.ag-solutions.es
Mi blog - www.alvarogarciasolano.com
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Apache - Como crear host virtuales para tener varias web almacenadas???
« Respuesta #1 en: 25 Noviembre 2010, 06:47 am »

<virtualhost * > solo aplica para ip's por las cuales se accesa al host, en servername especificas el nombre asociado a la ruta

si defines una ip especifica solo se accesara al host si esa ip corresponde al server que aloja el sitio

en todo caso puedes usar <virtualhostname> si deseas agregarle tambien en una etiqueta el hostname

como se carga? pues se accesa por el nombre de dominio (previamente apuntado a tu servidor) y apache asocia la peticion del dominio con los vhosts antes definidos

para que comprendas mejor define tus vhosts y modifica el archivo de hosts (/etc/hosts) para que todos los dominios de tu vhost apunten a 127.0.0.1 (localhost) y veras como asocia cada uno dependiendo del servername por el que accesa xD

disculpa si queda un poco confuso pero tengo sueño x'D

nota: mover a desarrollo web :D


En línea

Ojo por ojo, y el mundo acabará ciego.
alzehimer_cerebral


Desconectado Desconectado

Mensajes: 513



Ver Perfil WWW
Re: Apache - Como crear host virtuales para tener varias web almacenadas???
« Respuesta #2 en: 25 Noviembre 2010, 10:47 am »

Citar
en todo caso puedes usar <virtualhostname> si deseas agregarle tambien en una etiqueta el hostname


Supongo que te referiras a la directiva NameVirtualHost.  :P

Ya lo he probado en local y todo funciona a la perfeccion con NameServer en los virtualhost y añadiendo el NameServer a /Etc/hosts y que apunte a 127.0.0.1...

El problema es que mi dominio www.megustaelhacker.net lo redirigo mediante una redireccion http a http://IP_PUBLICA_SERVER.  Por lo tanto si pongo en el navegador www.megustaelhacker.net esta url pasa a ser http://IP_PUBLICA_SERVER...

Entonces la peticion que llega al servidor apache no se puede resolver ya que es una IP en vez de una URL con el nombre del dominio...  Me entiendes ahora???

Salu2.

alzehimer_Cerebral
En línea

Servicios Informaticos Valencia - www.ag-solutions.es
Mi blog - www.alvarogarciasolano.com
el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 21.637


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: Apache - Como crear host virtuales para tener varias web almacenadas???
« Respuesta #3 en: 25 Noviembre 2010, 18:22 pm »

Justamente has puesto los dos tipos que hay de virtualhosts y sólo tienes que usar uno.

Hay dos tipos de VirtualHosts, ip-based y name-based.

En tu caso si sólo tienes una ip, pues deberías usar el name-based (basado en el nombre).

El primer ejemplo es named-based

 <VirtualHost www.megustaelhacker.net>

Y el segundo ejemplo es basado en ip.

<VirtualHost 10.0.0.1>

Los dos dominios deben apuntar a la la misma ip y el servidor web ya sabrá cuál mostrar, no analiza el tráfico ni nada de eso, simplemente cuando escribas www.megustaelhacker.net te llevará al documentRoot (httpdocs) de /groups/smallco/www.

Citar

Los vhosts pueden estar basados en nombre (based-name) o en ip (ip-based).

Me explico, si tu máquina tiene una sola ip, pues deberas hacer vhosts basados en nombre, y si tienes varias ips pues puedes elegir, yo solo se hacerlo basado en nombre, ya que sólo tengo una ip:

Por ejemplo:

Tenemos el apache y queremos alojar nuestra web y la de un amigo:

El amigo compra el dominio pepe.com y apunta las dns a nuestra maquina.

Nosotros tenemos que decirle a nuestra máquina esto:

<VirtualHost *>
ServerAdmin amigo@pepe.com
DocumentRoot /web/amigo_pepe/
ServerName pepe.com
ErrorLog logs/web_amigo_pepe_errpr
CustomLog logs/web_amigo_pepe_log common
</VirtualHost>

Ejemplo real de un vhost based-name (basado en nombre) del dominio elhacker.net, totalmente completo:

#le decimos listen y la ip de nuestra maquina y el puerto (normalmente 80)

Listen *:80

#recuerda que si sales por un router deberás poner Listen 192.168.0.3 , o sea la ip local, ya que sinó al arrancar el apache dará el error "could not bind address port"

NameVirtualHost *:80


#este es el vhost por defecto. Aunque está basado en nombre, este vhost como es por defecto, también podemos acceder directamente por la ip.

<VirtualHost *:80>
DocumentRoot /usr/local/apache/htdocs/alex
ServerName www.elhacker.info
ServerAlias elhacker.info
</VirtualHost>

#segundo vhost basado en en el nombre (dominio) www.elhacker.net y elhacker.net

<VirtualHost *:80>
ServerAdmin alex@elhacker.net
DocumentRoot /usr/local/apache/htdocs/elhackernet
ServerName www.elhacker.net
ServerAlias elhacker.net
</VirtualHost>

Asi en nuestro ordenador tendremos nuestra web y la de nuestro amigo, y las dos estaran en la misma IP y en el mismo servidor web. En este ejemplo solo hay 2 dominios, pero igual que hay 2 podriamos poner 200.

Fuente:

http://foro.elhacker.net/tutoriales_documentacion/instalar_apache_php_mysql_perl_en_windows_y_linux_configuracion_avanzada-t251.0.html
« Última modificación: 25 Noviembre 2010, 18:33 pm por el-brujo » En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Apache - Como crear host virtuales para tener varias web almacenadas???
« Respuesta #4 en: 25 Noviembre 2010, 22:09 pm »

he ahi el problema... Haces una redireccion dominio->ip en vez de apuntar por dns
En línea

Ojo por ojo, y el mundo acabará ciego.
alzehimer_cerebral


Desconectado Desconectado

Mensajes: 513



Ver Perfil WWW
Re: Apache - Como crear host virtuales para tener varias web almacenadas???
« Respuesta #5 en: 26 Noviembre 2010, 00:49 am »

Efectivamente Nakp era problema de la redireccion.  He entrado a la configuracion del dominio y lo que hecho es añadir al servidor DNS de la empresa que proporciona el dominio la IP del servidor en cual se encuentra la pagina.

Gracias a todos por los aportes, me han sido de gran ayuda.

Salu2

Tema zanjado.
En línea

Servicios Informaticos Valencia - www.ag-solutions.es
Mi blog - www.alvarogarciasolano.com
merck

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Re: Apache - Como crear host virtuales para tener varias web almacenadas???
« Respuesta #6 en: 6 Enero 2013, 17:19 pm »

Hola a todos¡¡ :D
He leido por el foro sobre el alojamiento d diferentes web  mediante apache2(ubuntu).
De hecho he logrado visualizarlas.Os expongo mi problema con un ejemplo:
Tengo una pagina  almacenada en un directorio  www.ubuntuelhacker.net, el directorio lo llamo ubuntu
En otra pagina lo mismo , la pagina almacendada es windowselhacker.net en el directorio  windows.
Para poder visualizar cada una de ellas tengo que pasar por el directorio obligado, es decir :
-ubuntu/www.ubuntuelhacker.net
Ya que si no  me sale un error de pagina no encontrada.

 :rolleyes:He he hecho varias pruebas con el archivo etc/apache2/default , perono le doy con el clavo.

Saludos
 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines