Crear un nuevo sitio (Virtual Host) en Apache – Ubuntu

¡Hola a todos!. En ésta entrada veremos cómo crear un nuevo sitio web mediante el servidor Apache; a esta capacidad se le llama VirtualHost, y prácticamente podemos personalizar y configurar varios sitios web de manera independiente.

Gracias al Virtual Host podemos tener en un solo servidor y múltiples sitios web con independencia de configuraciones.

Instalación de Apache (LAMP)

Ya había tocado éste tema hace mucho tiempo, pero básicamente la forma más fácil de instalar Apache (la plataforma LAMP para ser más específico…) es mediante el programa tasksel; por cuanto lo instalamos de la siguiente manera:

sudo apt install tasksel

Una vez instalado, se ejecuta y se seleccionamos con el espacio de barra la opción «LAMP Server«, y luego se presiona [ENTER] para su instalación.

sudo tasksel

Creación y configuración del nuevo sitio

Se puede decir que VirtualHost es la unidad básica que describe un sitio individual; en nuestro ejemplo, crearemos un nuevo sitio web llamado misitio.com

Copiamos el archivo /etc/apache2/sites-available/000-default.conf (el cual nos servirá como plantilla de configuración) en la misma ubicación pero con el nombre: misitio.com.conf

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

Entramos con nuestro editor de texto favorito (nano) al nuevo archivo de configuración:

sudo nano /etc/apache2/sites-available/misitio.com.conf

Modificaremos únicamente algunos parámetros del archivo misitio.com.conf para hacer funcionar el nuevo sitio. Para el parámetro ServerName, deberemos de quitar el # del inicio de la línea.

ServerName     misitio.com
ServerAdmin    sudireccionde@correo.com
DocumentRoot   /var/www/misitio.com

Guardamos y cerramos nano. Todos los demás parámetros se pueden personalizar también pero, realmente, los de rigor son: ServerName (indicamos el nombre del sitio, o más bien, el dominio) y DocumentRoot (ubicación de los archivos a publicar del nuevo sitio).

Después de esto, crearemos el directorio al que hemos hecho referencia en el archivo de configuración, asignaremos los permisos  respectivos y asignaremos el usuario y grupo propietario a la carpeta de forma recursiva:

sudo mkdir /var/www/misitio.com
sudo chmod -R 775 /var/www/misitio.com
sudo chown -R root:www-data /var/www/misitio.com

Ahora, activaremos nuestro nuevo sitio web en Apache y recargaremos la configuración del servicio.

sudo a2ensite misitio.com
sudo service apache2 reload

Finalmente, si se tiene un servidor DNS, bastaría con crear el registro de recurso A (Address o también conocido como Host) donde misitio.com se traduciría a la IP de nuestro servidor web; si no contamos con un servidor DNS, vamos a modificar el archivo /etc/hosts de nuestro equipo cliente desde donde accederemos al sitio así:

sudo nano /etc/hosts

Y agregaremos al final del archivo la siguiente línea:

[IP del servidor]     misitio.com

Donde [IP del servidor] es, sí…, la IP del servidor… Ejemplo:

192.168.1.10     misitio.com

Guardamos y cerramos nano. Si se trata de un cliente Windows, ingresamos la línea anterior en el archivo C:\Windows\system32\drivers\etc\hosts

Comprobación del funcionamiento

Vamos a crear una página web cualquiera en nuestra carpeta de publicación del nuevo sitio para comprobar que todo esta funcionando bien. Crearemos un archivo index.php con nano:

sudo nano /var/www/misitio.com/index.php

Y vamos a mostrar la típica página de información de PHP:

<?php phpinfo(); ?>

Guardamos y cerramos nano. Ahora, abrimos nuestro navegador favorito en ésta máquina e ingresamos en la barra de direcciones lo siguiente:

http://misitio.com

Y nos tendría que mostrar la página de información de PHP:

Con esto, hemos ya creado y configurado nuestro nuevo sitio web en el servidor Apache. Espero les sea de utilidad. ¡Saludos!


Comentarios por Facebook

comentarios

Una respuesta a “Crear un nuevo sitio (Virtual Host) en Apache – Ubuntu”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*