Está en la página 1de 6

Configuración de hosts virtuales de Apache en Ubuntu 18.

04

Introducción
En este tutorial encontrará los pasos para configurar varios dominios y sitios web
usando hosts virtuales de Apache en un servidor de Ubuntu 18.04. Durante este
proceso, aprenderá a presentar diferentes contenidos a diferentes visitantes
dependiendo de los dominios que soliciten.

Para acceder a una versión más detallada de este tutorial, con explicaciones
adicionales de cada paso, consulte Cómo configurar hosts virtuales de Apache en
Ubuntu 18.04.

Requisitos previos
Para completar este tutorial, necesitará acceso a lo siguiente en un servidor de
Ubuntu 18.04:

 Un usuario sudo en su servidor


 Un servidor web Apache2, que puede instalar con sudo apt install
apache2

Paso 1: Crear la estructura de directorios


Primero crearemos una estructura de directorios que albergarán los datos del sitio
que presentaremos a los visitantes en nuestro directorio de Apache de nivel
superior. Usaremos nombres de dominio de ejemplo, resaltados a continuación.
Debería sustituirlos por sus nombres de dominio reales.

 sudo mkdir -p /var/www/example.com/public_html



 sudo mkdir -p /var/www/test.com/public_html

Paso 2: Conceder permisos


Ahora deberíamos cambiar los permisos de nuestro usuario no root actual para
poder modificar los archivos.

 sudo chown -R $USER:$USER /var/www/example.com/public_html



 sudo chown -R $USER:$USER /var/www/test.com/public_html

Adicionalmente, nos aseguraremos de que el acceso de lectura se permita para el
directorio web general y la totalidad de los archivos y las carpetas que contiene, de
forma que las páginas se presenten correctamente.

 sudo chmod -R 755 /var/www


Paso 3: Crear páginas de demostración para cada


host virtual
Crearemos contenido para presentar; crearemos una página de
demostración index.html para cada sitio. Podemos abrir un
archivo index.html en un editor de texto para nuestro primer sitio usando nano,
por ejemplo.

 nano /var/www/example.com/public_html/index.html

En este archivo, cree un documento HTML específico para el dominio, como se
muestra a continuación:

/var/www/example.com/public_html/index.html
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
Guarde y cierre el archivo, y luego cópielo para usarlo como la base de nuestro
segundo sitio:
 cp /var/www/example.com/public_html/index.html
/var/www/test.com/public_html/index.html

Abra el archivo y modifique la información pertinente:

 nano /var/www/test.com/public_html/index.html

/var/www/test.com/public_html/index.html
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body> <h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
Guarde y cierre este archivo también.

Paso 4: Crear nuevos archivos de host virtual


Apache cuenta con un archivo de host virtual predeterminado llamado 000-
default.conf, que usaremos como plantilla. Lo copiaremos para crear un archivo
de host virtual para cada uno de nuestros dominios.

Cree el primer archivo de host virtual


Comience copiando el archivo para el primer dominio:

 sudo cp /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/example.com.conf

Abra el nuevo archivo en su editor (usaremos nano) con privilegios root:

 sudo nano /etc/apache2/sites-available/example.com.conf



Personalizaremos este archivo para nuestro propio dominio. Modifique el texto
resaltado a continuación conforme a sus requisitos.

/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
En este momento, guarde y cierre el archivo.

Copiar el primer host virtual y aplicar personalización para el


segundo dominio
Ahora que establecimos nuestro primer archivo de host virtual, podemos crear el
segundo copiando ese archivo y aplicándole ajustes según sea necesario.

Comience copiándolo:

 sudo cp /etc/apache2/sites-available/example.com.conf
/etc/apache2/sites-available/test.com.conf

Abra el nuevo archivo con privilegios root en su editor:

 sudo nano /etc/apache2/sites-available/test.com.conf



Ahora deberá modificar todos los datos para que hagan referencia a su segundo
dominio. El archivo final debería tener un aspecto similar a este, con el texto
resaltado correspondiente a la información pertinente de su dominio.

/etc/apache2/sites-available/test.com.conf
<VirtualHost *:80>
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Guarde y cierre el archivo cuando termine.
Paso 5: Habilitar los nuevos archivos de host
virtual
Una vez creados nuestros archivos de host virtual, debemos habilitarlos. Usaremos
la herramienta a2ensite para hacerlo.

 sudo a2ensite example.com.conf



 sudo a2ensite test.com.conf

Deshabilite el sitio predeterminado definido en 000-default.conf:

 sudo a2dissite 000-default.conf



Cuando termine, deberá reiniciar Apache para que estos cambios surtan efecto y
usar systemctl status para verificar que el reinicio se haya realizado
correctamente.

 sudo systemctl restart apache2



Su servidor debería estar ahora configurado para presentar dos sitios web.

Paso 6: Configurar el archivo de hosts locales


(opcional)
Si no usó nombres de dominios reales de los que sea propietario para probar este
procedimiento y empleó algunos dominios de ejemplo en su lugar, puede probar
su trabajo modificando temporalmente el archivo de hosts en su computadora
local.

En una máquina local con Mac o Linux, escriba lo siguiente:

 sudo nano /etc/hosts



En el caso de una máquina local con Windows, encontrará las instrucciones sobre
cómo alterar el archivo de hosts aquí.
Usando los dominios que se utilizan en esta guía, y sustituyendo el IP de su
servidor por el texto your_server_IP, su archivo deberá tener este aspecto:
/etc/hosts
127.0.0.1 localhost
127.0.1.1 guest-desktop
your_server_IP example.com
your_server_IP test.com
Guarde y cierre el archivo. Esto dirigirá cualquier solicitud
de example.com y test.com en su computadora y la enviará a su servidor.

Paso 7: Pruebe sus resultados


Ahora que configuró sus hosts virtuales, puede probar su configuración
dirigiéndose a los dominios que estableció en su navegador web:

http://example.com
Debería ver una página con este aspecto:

También puede visitar su segunda página y ver el archivo que creó para su
segundo sitio.

http://test.com

Si ambos sitios funcionan como se espera, habrá configurado dos hosts virtuales


en el mismo servidor.

Si ajustó el archivo de hosts de su equipo doméstico, elimine las líneas que añadió

También podría gustarte