Apache: Configuración de hosts basados en nombres

Introducción

En este tutorial vamos a aprender a instalar y configurar un servidor Apache corriendo bajo Ubuntu, aunque podemos usar cualquier distribución de Linux para seguir este turorial.

¿Qué es Apache?

El servidor Apache es un servidor web HTTP con licencia GNU disponible para varias plataformas como por ejemplo Windows, Linux o MacOS. El objetivo del proyecto Apache es proporcionar un servidor seguro, eficiente y extensible. Actualmente, Apache es el servidor web más usado en internet. Según Netcraft, Apache está instalado casi en un 48% de todos los sitios webs.

Instalación

Para instalar Apache en nuestra máquina, tecleamos lo siguiente en un terminal:

$ sudo aptitude install apache2

1

Una vez instalado Apache, podemos iniciarlo con:

$ sudo apache2ctl start

Creando Host Virtuales por nombre

En primer lugar vamos a definir el nombre de los hosts virtuales que vamos a usar:

Ahora vamos a crear los hosts virtuales con los que Apache va a trabajar. Creamos los archivos de configuración referentes a los host virtuales.

$ sudo gedit /etc/apache2/sites-available/pagina1

2

Y dentro de este archivo, escribimos lo siguiente:

<VirtualHost 172.16.2.37>
   ServerName www.pagina1.com
   DocumentRoot /var/www/pagina1
</VirtualHost>

4

Yo he usado mi IP, como es obvio, en vuestro caso debéis usar la vuestra. Doy por hecho que sabéis cual es vuestra IP. Ahora creamos el segundo archivo, referente a la segunda página:

$ sudo gedit /etc/apache2/sites-available/pagina2
<VirtualHost 172.16.2.37>
   ServerName www.pagina2.com
   DocumentRoot /var/www/pagina2
</VirtualHost>

Ahora debemos crear los directorios que hemos indicado en la directiva ServerRoot:

  • /var/www/pagina1
  • /var/www/pagina2

Escribimos en la consola:

$ sudo mkdir /var/www/pagina1
$ sudo mkdir /var/www/pagina2

6

Dentro de estos directorios van nuestras páginas webs, vamos a crear el index de cada una para comprobar más tarde que funcionan correctamente. Empecemos con el de la primera web, así que tecleamos en el terminal:

$ sudo gedit /var/www/pagina1/index.html

5

Ahora introducimos algún código html básico, como por ejemplo:

<html>
   <head>
      <title>Página1</tile>
   </head>
   <body bgcolor="#CCCCCC">
      <h1>Esta es la página1</h1>
   </body>
</html>
 

7

Guardamos los cambios y vamos ahora a editar la segunda página con un código en HTML similar. Repetimos la operación de antes:

$ sudo gedit /var/www/pagina2/index.html
<html>
   <head>
      <title>Página2</tile>
   </head>
   <body bgcolor="#CCCCCC">
      <h1>Esta es la página2</h1>
   </body>
</html>
 

Una vez creadas las páginas de prueba, vamos a habilitarlas, por lo que ahora tecleamos en un terminal:

$ sudo a2ensite pagina1

8

Hacemos lo mismo con la segunda página:

$ sudo a2ensite pagina2

Si todo ha ido bien, el terminal nos devolverá el siguiente mensaje:
9

Una vez habilitadas las dos páginas, vamos a editar el archivo default en la configuración de Apache, volvemos a la consola y tecleamos lo siguiente:

$ sudo gedit/etc/apache2/sites-available/default

11

Ahora sólo tenemos que incluir la siguiente línea en la primera línea del archivo default:

NameVirtualHost 172.16.2.37

12

Una vez hecho eso, ahora sólo queda guardar los cambios en el archivo y editar el último fichecho de todos. Pulsamos en guardar y volvemos a la consola para teclear:

$ sudo gedit /etc/hosts

13

En este archivo añadiremos nuestras dos páginas para ser nosotros mismos quienes resolvamos su dirección. Añadimos dos líneas con este contenido:

14

172.16.2.37 www.pagina1.com
172.16.2.37 www.pagina2.com

Una vez hecho eso, ya sólo queda reiniciar Apache, lo hacemos de la siguiente manera:

$ sudo apache2ctl restart

Esto hará que nuestro servicio de Apache se reinicie cortando todas las conexiones, si por el contrario queremos reiniciar el servidor sin cortar ninguna conexión, tecleamos lo siguiente:

$ sudo apache2ctl graceful

La ejecución del anterior comando permitirá que los usuarios que estén demandando información de nuestro servidor Apache mantengan su conexión, aunque los cambios realizados en éste no le serán efectivos en el instante, pero sí cuando establezcan de nuevo conexión.

10

Es muy posible que al reiniciar Apache, obtengamos el siguiente mensaje:

15

Para solucionarlo, nos vamos al terminal de nuevo y tecleamos lo siguiente:

$ sudo gedit /etc/apache2/apache2.conf

16

Una vez en el archivo, sólo nos queda añadir la siguiente línea al principio del archivo:

ServerName localhost

17

Guardamos los cambios y ahora podremos reiniciar con tranquilidad y sin problemas.

Verificando el funcionamiento

Para comprobar que nuestras páginas funcionan, sólo tenemos que abrir un navegador (Mozilla Firefox por ejemplo) y teclear la URL de dichas páginas.

Página 1

pg1

Página 2

pg2

Bibliografía

  • Apuntes de clase.
Anuncios
Publicado en Apache, Tutoriales
3 comments on “Apache: Configuración de hosts basados en nombres
  1. […] a usar los hosts virtuales que creé en el tutorial Apache: Configuración de hosts virtuales basados en nombre. Podéis entrar en él y seguirlo para ver como se crean los hosts basados en nombre. En mi caso (y […]

  2. […] Vamos a configurar Apache bajo Ubuntu, aunque ya sabéis, podéis usar cualquier otra distro GNU/Linux. De paso digo que en este tutorial no voy a explicar cómo instalar Apache ni cómo crear host virtuales basados en nombre. Si queréis saber cómo se hace echadle un ojo a mi otro tutorial. […]

  3. yo instale xampp 2.4 ubuntu y en esta version no existe el site-avilables existe el httpd-vhost.conf no se si sea eso y tambien el httpd-defaul.conf creo pero no me sale el apache se queda atascado y no aarnca mysql arranca pero no entra al phpmyadmin porque apache no arranca el control panel xampp no arranca desde el menu y me sale en consola al sudo su conflictos de host no puede resolverla no se de donde sea el problema si del defaul..conf

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 )

Google+ photo

Estás comentando usando tu cuenta de Google+. 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 )

w

Conectando a %s

Sobre mi…

Soy Técnico en Explotación de Sistemas Informáticos y Técnico Superior en Administración de Sistemas Informáticos en Red. Actualmente estudiando el Grado de Ingeniería Informática en la Universidad de Córdoba (España).

Enamorado de la ciencia en general y de la computación en particular.

Música: Heavy, Rock, Celta, New Age, Electrónica, etc...
Libros:Isaac Asimov, Richard Dawkins, Stephen Hawking, Carl Sagan...

Estoy interesado en la programación de videojuegos. Políticamente de izquierdas, escéptico y ateo. En definitiva, mala gente.

Sígueme en Twitter

Introduce tu dirección de correo electrónico para seguir este Blog y recibir las notificaciones de las nuevas publicaciones en tu buzón de correo electrónico.

Únete a otros 24 seguidores

Usa Linux Mint
The Bit Developer Box
A %d blogueros les gusta esto: