Dos paginas web en un mismo servidor – VirtualHost

Apache Server

Apache Server - Logo

En una serie de 4 posts, hemos podido ver Como crear tu propio servidor web.

Ahora imaginemos que lo que necesitamos es tener mas de una web (ya sea blog, foro…etc) en un mismo servidor.

Hacerlo es sencillo si nos ayudamos de una herramienta de Apache, VirtualHost.

VirtualHost es una herramienta que ya hemos visto anteriormente pero que no he explicado en profundidad. Por tanto, quiero explicarlo un poco mas extendido para que podáis hacer un buen uso de esta magnifica herramienta.

Bien, pongámonos en contexto:

Yo tengo una web, http://sakrow.com y quiero tener un blog, https://blog.sakrow.com. Pero mi problema llega con dos cosas. La primera es que solamente tengo un único servidor y router. Ello hace que tenga que tener los puertos (80 en este caso) redirigidos a un único servidor y ademas no puedo usar un Proxy Server porque no tengo una posible segunda maquina.

Bien, entonces solamente queda la opción de tener dos paginas web en una única maquina.

¿Como conseguimos eso? ¡VirtualHost!

¿Que es VirtualHost?

VirtualHost es una configuración de Apache que nos permite diferenciar entre dos dominios y enviar la petición a la carpeta correspondiente, de modo que sakrow.com y blog.sakrow.com puedan estar en la misma maquina (pero en diferentes carpetas). Esto es totalmente transparente para el usuario.

¿Como funciona VirtualHost?

La mejor manera de conocer como funciona es con el ejemplo que hemos tomado antes. Suponemos que tenemos sakrow.com y blog.sakrow.com.

Lo primero es crear sus carpetas individuales en nuestro servidor. Por tanto creamos sakrow y blogsakrow en la carpeta /var/www/

cd /var/www
mkdir sakrow
mkdir blogsakrow

De esta manera ya están creadas las dos carpetas. Ahora creemos un index.html para cada carpeta. De modo que mas tarde le digamos al Apache que lea el index.html de cada carpeta.

Una vez creado nos vamos a la carpeta /etc/apache2/sites-available/ en esta carpeta nos encontramos con los sitio posibles en nuestro servidor. Estos sitios son de lo que estamos hablando, las posibles web que puede servir Apache.

Por defecto estará 000-default, pero nosotros vamos a crear dos nuevos archivos, sakrow y blogsakrow.

[warning]Cuidado:

Estos archivos no deben tener extensión, por lo que tenéis que tener cuidado al crearlos, nunca les pongáis una extensión.[/warning]

Una vez creados, tenemos que escribir lo siguiente:

En sakrow:

#Web de sakrow
<VirtualHost *:80>
ServerName 192.168.10.100
ServerAlias sakrow.com
DocumentRoot /var/www/sakrow
DirectoryIndex index.html
ServerAdmin contacto@sakrow.com
</VirtualHost>

En sakrowblog:

#Blog de sakrow
<VirtualHost *:80>
ServerName 192.168.10.100
ServerAlias blog.sakrow.com
DocumentRoot /var/www/sakrowblog
DirectoryIndex index.html
ServerAdmin contacto@sakrow.com
</VirtualHost>

De este modo lo que le decimos con cada cosa es:

  • Servername:  IP del servidor que tiene la pagina web, en este caso como no tenemos ningún tipo de DNS, tenemos que poner la IP propia de nuestro ordenador, podéis verla con el comando ifconfig.
  • ServerAlias: nombre sobre el que se identificara esa web, si ponemos www.sakrow.com como en este caso, y luego le hacemos una petición de sakrow.com, no nos servirá esta web, porque le hemos dicho que responda a la petición de www.sakrow.com, por ello se suele duplicar esta entrada y poner las dos opciones.
  • DocumentRoot: ruta en la que podemos encontrar la carpeta que contiene la informacion de la web. Como recordareis hemos creado dos carpetas sakrow y blogsakrow. Aquí es donde las definiremos.
  • DirectoryIndex: aqui en donde hacemos uso del index.html que hemos creado anteriormente. Es donde le decimos a Apache cual es la primera pagina que tiene que cargar.
  • ServerAdmin: si por alguna cosa da un error Apache y no muestra la pagina,  dentro del error aparecerá el correo electrónico que pongáis aquí, de modo que puedan contactar con vosotros.

[warning]Evidentemente si nos equivocamos de carpeta en DocumentRoot, no encontrara el index.php o sera el de otra carpeta.[/warning]

Una vez guardados los cambios, tenemos que activar los dos sitios, ya que le tenemos que decir de alguna manera a Apache, que existen dos sitios diferentes, primero activarlos y luego reiniciando Apache.

Para activar un sitio se usa en comando a2ensite misitio donde misitio es el nombre del archivo que hemos creado, por tanto:

a2ensite sakrow
a2ensite sakrowblog

Ahora ya tenemos activados las dos webs y reiniciamos Apache:

/etc/init.d/apache2 restart

Y con esto ya podemos acceder a nuestras dos paginas web. Eel proceso se puede repetir con tantas paginas como vosotros queráis, de manera que se pueden almacenar todas las webs que se quieran en un solo servidor.

[important]Si queremos acceder desde la red LAN a esas dos paginas, tenemos que modificar el archivos hosts de nuestro terminal

En este caso:
sakrow.com 192.168.10.100
blog.sakrow.com 192.168.10.100[/important]

29 comentarios

2 pings

Ir al formulario de comentarios

    • Carlos en 12/08/2011 a las 2:40 PM

    Hola,

    El tutorial está genial, muy bien explicado!
    Pero en el código de blogsakrow hay un par de errores: donde pone ServerAlias sakrow.com, debería poner ServerAlias blog.sakrow.com, y donde pone DocumentRoot /var/www/sakrow, debería poner DocumentRoot /var/www/blogsakrow.
    Supongo que cosas del copy-paste jeje

    Saludos!

    • Sakrow en 12/08/2011 a las 8:23 PM
      Autor

    Maldito Copy-Paste.

    Ya esta solucionado, ademas también estaba como index.php y es index.html

    También por no volver a leerlo detenidamente 🙂

    ¡Gracias!

    • v3rk3r en 02/09/2011 a las 7:29 PM

    Saludos, por favor quería hacerle una pregunta. Ya tengo mi sitio creado el cual es ipv6venezuela.com, con apache2 y bind9 en Debian 6.0, con un plantilla wordpress. Como debe ser la configuración del virtualhost en este caso, suponiendo que la nueva web es ipv6venezuela.net? Gracias. La duda es porque los tutoriales parten de cero y en mi caso ya la web esta instalada.

    • Sakrow en 05/09/2011 a las 6:14 PM
      Autor

    ¿En tu caso van a tener diferente contenido una pagina y la otra?

    Porque si es el mismo, directamente donde compras el dominio le dices que redirija el trafico y ya esta.

    Si no con cambiar

    ServerAlias
    DocumentRoot

    Para el dominio (ServerAlias) y para la carpeta contenedora de wordpress (DocumentRoot) te vale…

    Dime exactamente lo que quieres hacer.

    Un saludo!

    • jorge en 30/04/2016 a las 9:45 PM

    Tengo una duda. Este texto donde va?

    a2ensite sakrow
    a2ensite sakrowblog

    en 000-default?

    Muchas gracias.

    • Lenin Tenecela en 12/05/2016 a las 6:04 PM

    Saludos Sakrow:
    Una pregunta, estoy tratando de crear una web sobre Apache para la web primaria de mi trabajo y otra web para trabajar con gitLab para repositorios de documentos de investigacion y codificacion, esta ultima me solicitan que la hagamos sobre nginx.
    Problema: Tenemos un solo servidor fisico disponible. ¿Cómo puedo hacerlo?, ¿Se podría? Dame una guía o una luz hacia donde ir o que leer.
    ¿Puedo direccionar a traves de virtual host de apache a la web almacenada en nginx?
    Cordialmente
    Lenin Tenecela

    • Lenin Tenecela en 12/05/2016 a las 6:05 PM

    Saludos Sakrow:
    Una pregunta, estoy tratando de crear una web sobre Apache para la web primaria de mi trabajo y otra web para trabajar con gitLab para repositorios de documentos de investigacion y codificacion, esta ultima me solicitan que la hagamos sobre nginx.
    Problema: Tenemos un solo servidor fisico disponible. ¿Cómo puedo hacerlo?, ¿Se podría? Dame una guía o una luz hacia donde ir o que leer.
    ¿Puedo direccionar a traves de virtual host de apache a la web almacenada en nginx?
    Cordialmente
    Lenin Tenecela

    • Cesar Gonzalez Rocha en 24/02/2017 a las 1:04 AM

    Hola que tal tengo una pregunta sobre la ultima parte
    *********
    [important]Si queremos acceder desde la red LAN a esas dos paginas, tenemos que modificar el archivos hosts de nuestro terminal

    En este caso:
    sakrow.com 192.168.10.100
    blog.sakrow.com 192.168.10.100[/important]
    *************

    Que etiquetas son las que se colocan asi, ya que yo coloque en
    ServerName ejemplo.org 192.168.1.65 y al momento de reiniciar
    me lanza un error el apache

    ——Job for apache2.service failed because the control process exited with error code. See «systemctl status apache2.service» and «journalctl -xe» for details.
    failed!
    ——-

    debido a que tengo mal mi sintaxis

    • Edison en 11/09/2017 a las 6:01 PM

    Buenos dias.

    yo tengo un DNS en un centos 7, el nombre es: dns.dominio.local

    cuando configuro el virtualhost lo hago de la siguiente manera:

    ServerName dns.dominio.local
    ServerAdmin admin@dominio.local
    DocumentRoot: /var/www/html/website1

    con esta configuración y teniendo el archivo index.html en el directorio website1
    mi pagina funciona, carga desde un equipo cliente con la IP del servidor y con el FQDN: dns.dominio.local

    debo de crear 3 paginas mas que ingresen con los siguientes nombres : http://www.dominio.local, intra.dominio.local, acceso.dominio.local,
    agradezco me asesoren con el proceso para la creacion puesto que al crear otro directorio con otro index para alguna de las nuevas paginas, mi servidor genera problema y el servicio httpd no permite reiniciar.

    • Emilio en 06/03/2018 a las 9:40 PM

    Hola he hecho los pasos pero ahora en un dominio me aparece un directorio para elegir las dos webs

    • Emilio en 06/03/2018 a las 9:45 PM

    Al recargar las paginas en el navegador me aparecen las dos carpetas en un listado de directorios
    http://www.gaslabarcala.es

    • Emilio en 06/03/2018 a las 9:49 PM

    es como si fuera el index por defecto

    • 5555 en 26/10/2018 a las 12:54 PM

    ola

    • 5555 en 26/10/2018 a las 12:55 PM

    Es faalso

    • Javi en 04/11/2018 a las 12:47 PM

    Hola, lamento decirte que en la parte donde se crean los archivos diferentes para cada Virtualhost y dices que no debe llevar ningún tipo de extensión estás equivocado. Debe tener la misma extensión que tenía el 000-default.conf.
    Sino te dará error al intentar activar los sitios con el comando ‘a2ensite’.
    Muchas gracias no obstante por el aporte.
    Saludos.

  1. Having read this I thought it was extremely enlightening.

    I appreciate you finding the time and energy to put this
    article together. I once again find myself personally spending
    a significant amount of time both reading and commenting. But so what, it was still worth
    it!

    • Jacki en 23/04/2019 a las 8:06 PM

    I blog frequently and I genuinely thank you for your content.
    The article has truly peaked my interest. I will bookmark your website and keep checking for new
    information about once a week. I opted in for your RSS feed as well.

  2. Thank you for any other informative site. Where else could I get that kind of information written in such a
    perfect manner? I have a challenge that I’m just now operating
    on, and I’ve been on the glance out for such information.

    • Graig en 24/05/2019 a las 4:49 AM

    It’s impressive that you are getting ideas from this paragraph
    as well as from our dialogue made at this time.

  3. I must thank you for the efforts you’ve put
    in penning this site. I am hoping to see the same high-grade
    content by you later on as well. In truth, your
    creative writing abilities has motivated me to get my own site now 😉

  4. Useful info. Lucky me I found your website unintentionally, and I’m shocked why this twist of fate didn’t
    took place earlier! I bookmarked it.

  5. Ridiculous quest there. What occurred after? Good luck!우리계열카지노

  6. Great article.

  7. Link exchange is nothing else however it is simply placing the other
    person’s website link on your page at proper place
    and other person will also do same for you.

  8. There’s two issues to bear in mind together with your gecko’s meals.

  9. Ιt’ѕ genuinely vrry difficult in this busy life to listen news on Televisіon, sѕo I only use
    wwеb for that purpose, and get the newest news. https://mariisiqueira.blogspot.com/

  10. So in the past few months my Father passed away, I’ve lost my job (I worked at lowe’s as a DM if you google it you’ll see why), and pretty much EVERYTHING is going wrong.
    However I luckily have my art and my friends online that like it that I still feel pretty
    lucky. I let my demon out in this painting to get out
    my anger, but I quickly realize that even though I’m sad or
    upset.

    hair extensions Wakefield, the smart maid servant,
    and the dirty little footboy raise a hue and cry, through
    London streets, in pursuit of their fugitive lord and
    master Wonderful escape! He gathers courage to pause and look homeward, but is perplexed with a sense of
    change about the familiar edifice, such as affects us all, when, after
    a separation of months or years, we again see some hill or lake, or work of art, with which we
    were friends of old. In ordinary cases, this
    indescribable impression is caused by the comparison and contrast between our imperfect reminiscences
    and the reality. In Wakefield, the magic of a single night has wrought a similar transformation, because,
    in that brief period, a great moral change has
    been effected.hair extensions

    clip in extensions The laymans guide to finding antiques and collectibles in charity
    shopsThere are many reasons why antiques and collectibles end up
    in op shops, or charity shops as they are known and garage or boot sales.
    In this article I will tell you how to find valuable antiques and collectibles without having to have too much knowledge.
    I will tell you what to look for, how to check it out and how to go about selling what
    you find..clip in extensions

    tape in extensions With Europe’s growing desire for coconut oil, Godeffroy’s hair extensions of Hamburg, the largest trading firm in the Pacific, began trading for copra in the New Guinea Islands.
    In 1884, the German Empire formally took possession of the northeast quarter of the island and put
    its administration in the hands of a chartered trading company formed for the purpose,
    the German New Guinea Company. In the charter granted to this
    company by the German Imperial Government in May 1885, it was given the power to exercise sovereign rights over the territory and other «unoccupied» lands
    in the name of the government, and the ability to «negotiate» directly with the native inhabitants.tape
    in extensions

    U Tip Extensions I questioned whether he really or just looked wacky
    (fifth grade classmates can get a little harsh about these things).
    He responded, like the outfit. I think it clashes.
    Jack Sparrow Captain Jack Sparrow is a leading character from ‘Pirates of the Caribbean’ films,
    portrayed by Johnny Depp. He is also the subject of a children’s book series, Pirates
    of the Caribbean: Jack Sparrow, which chronicles his teenage years and the character’s image was introduced into the
    theme park ride that inspired the films. The character has also
    appeared in numerous video games U Tip Extensions..

  11. Remember that the nukes hair extensions only go off if you choose to
    confront Joseph. This makes no sense whatsoever if the nukes going off are independent of
    the cult activities they would have went off anyway implying that either Joseph is directly responsible
    or it a hallucination. Joseph being able to get his hands on multiple nukes on American soil is too unbelievable for me, which leaves
    only the hallucination option..

    hair extensions Our Generation outfits are pricier at $13 $18 each.
    However, the OG clothes typically come as complete looks in the AG mold,
    with shoes and often accessories like a purse, tennis racket,
    swim cap and the like. Plus, OG offers retro clothing lines that
    seem designed to draw gasps from vintage loving moms
    (like me!) check out the pictured gingham beauty above, $17..hair extensions

    human hair wigs It went into tech and came back with the note that it was wrong.
    I didn know why. The designer had me make a second head that was super
    cartoony. Only celebrities can in reality meet the expense to have their hair done on a daily
    basis. There are some products out there that let
    you to do your own makeover, but you don know if they will work or not.
    Some ways for applying hair extensions consist of: gluing, weaving and clipping..human hair
    wigs

    hair extensions The alt right’s genius is in dispensing with the self marginalizing
    pseudo intellectual stuff and getting straight to the point, and not in the creaky
    hit you over the head fashion of, say, Stormfront, but the slangy
    and freewheeling argot of the internet in 2015.
    The Right Stuff has a page devoted to the lexicon of the alt right, a collection of terms that pop
    up frequently on Twitter once you know what to look for.

    «Fash,» for example, for fascist.hair extensions

    lace front wigs On the first day back at school after Christmas break, Troy sees in his classroom and she explains that she just moved to Albuquerque,
    New Mexico, and transferred to East High School
    over the break. Troy then shows around school.
    Drama Club president Sharpay Evans (Ashley Tisdale) arrives and assumes that is
    interested in auditioning.lace front wigs

    360 lace wigs The quality of the meat is truly outstanding.
    The texture and flavour remarkable. But I must warn you he scares easily and
    if you startle him he will certainly scuttle off into the night, riding the
    rails until sun up. Nature doesn care about ie death.

    Just look at how many seedlings don make it or how many mice
    get eaten by predators. Ask a farmer how many cows or sheep die in childbirth or have stillborn babies (and their bodies
    are bettter suited to giving birth than we are, due to us walking upright) 360 lace wigs..

  12. Hi, every time i used to check web site posts here early in the dawn, as i love to gain knowledge of more and more.

  1. […] Actualización 12/08/11: En el blog de Sakrow tienes otro tutorial complementario al que nos ocupa para tener dos páginas web pero con la diferencia de estar alojadas en el mismo servidor. […]

  2. […] Actualización 12/08/11: En el blog de Sakrow tienes otro tutorial complementario al que nos ocupa para tener dos páginas web pero con la diferencia de estar alojadas en el mismo servidor. […]

Deja un comentario

Tu email nunca se publicará.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies