Puede utilizar hosts virtuales (vhosts) para atender varios dominios sin necesidad de direcciones IP (Protocolo de Internet) adicionales. Con vhosts, las diferentes páginas se muestran de acuerdo con la configuración del archivo de host para el sitio en particular solicitado. Este artículo describe cómo crear un host virtual en Ubuntu® 20.04 y Debian® 10.
Requisitos
- Un servidor Linux® que ejecuta la distribución Ubuntu versión 20.04 o Debian versión 10
- Apache instalado. Instálalo usando el siguiente comando:
sudo apt install apache2
- DNS apuntando el sitio a la IP del servidor
- Un usuario con privilegios de administrador SSH
- Firewall configurado para permitir el tráfico en el puerto 80
Configurar un host virtual
Utilice los siguientes pasos para configurar un vhost de Apache®:
-
Cree un nuevo directorio para almacenar el contenido del sitio web. Este directorio se conoce como el documento raíz carpeta en su archivo de configuración Apache vhost.
sudo mkdir -p /var/www/vhosts/example.com/public_html
-
Establezca los permisos para el nuevo directorio. Reemplazar
vhostuser
en el nombre de usuario:vhostuser parámetro con un usuario en el servidor que tiene acceso al directorio.sudo chown -R username:vhostuser /var/www/vhosts/example.com/public_html
-
Establezca permisos de lectura para todos los usuarios del directorio.
sudo chmod -R 755 /var/www/vhosts/
-
Cree el archivo de configuración para el sitio vhost.
vi /etc/apache2/sites-available/example.com.conf
-
Pegue el siguiente texto en el archivo que creó. Reemplace example.com con su propio nombre de host del sitio.
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/vhosts/example.com/public_html <Directory /var/www/vhosts/example.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
Nota: Después de terminar de hacer los cambios, guarde el archivo presionando Esc tecla para cambiar al modo de comando y escribir:xq
para salir y guardar los cambios. -
Cree un enlace simbólico desde el archivo de host virtual al directorio de sitios habilitados para habilitar el nuevo archivo de host virtual mediante el comando a2ensite.
sudo a2ensite domain.com
-
Compruebe si hay problemas. Debería obtener una Sintaxis OK respuesta.
sudo apachectl configtest
-
Reinicie Apache.
sudo systemctl restart apache2
-
Si desea ver una página de prueba, puede crear un archivo llamado index.html en su carpeta raíz.
vi index.html
-
Pegue el siguiente texto.
<html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>vhost test for example.com</title> </head> <body> <h1>Success! example.com vhost!</h1> </body> </html>
-
Guarde y salga del archivo.
:xq
-
Vaya a http://example.com/index.html para ver la página de prueba.