Introducción
Los hosts virtuales se utilizan para ejecutar más de un dominio en una sola dirección IP. Esto es especialmente útil para las personas que necesitan ejecutar varios sitios en un servidor.
Si su intención es instalar Apache Virtual Hosts en un servidor remoto, continúe leyendo; de lo contrario, si desea instalar Apache Virtual Hosts en su computadora local, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará la contraseña para la autenticación.
Para conectarse al servidor como root, escriba este comando:
ssh root@IP_DEL_SERVER
A continuación, se le pedirá que ingrese la contraseña del usuario root.
Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie el primer parámetro:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
Prerrequisitos
Apache ya debe estar instalado y ejecutándose en el servidor. De lo contrario, puede descargarlo e instalarlo con este comando:
sudo pacman -S apache
Crea nuevos directorios
El primer paso para crear un host virtual es crear un directorio en el que colocar la información del nuevo sitio web.
Creemos dos hosts virtuales, desde la terminal:
sudo mkdir /srv/http/test1.com
sudo mkdir /srv/http/test2.com
Deberá utilizar un dominio real o una dirección IP para verificar que un host virtual esté funcionando. En este tutorial usaremos test1.com y test2.com como ejemplo.
Crea una página de muestra
Dentro del directorio de hosts, necesitamos crear una página de muestra que se mostrará cuando visitemos el sitio.
sudo nano /srv/http/test1.com/index.html
Pegamos el siguiente texto para ver el resultado online:
<html>
<head>
<title>test1.com</title>
</head>
<body>
<h1>Pagina di esempio: test1</h1>
</body>
</html>
Guardar y Salir
Repita los mismos pasos para crear una página para el segundo dominio, reemplazando en domain2 donde corresponda.
sudo nano /srv/http/test2.com/index.html
Pegamos el siguiente texto para ver el resultado online:
<html>
<head>
<title>test2.com</title>
</head>
<body>
<h1>Pagina di esempio: test2</h1>
</body>
</html>
Guardar y Salir
Configurar hosts virtuales
Asegurémonos de que los hosts virtuales estén habilitados en nuestro servidor. Abramos el siguiente archivo apache:
sudo nano /etc/httpd/conf/httpd.conf
Comprobemos que esta línea no esté comentada:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Guardar y Salir
Para acceder al archivo de host virtual dentro de la carpeta de apache abrimos el siguiente archivo.
sudo nano /etc/httpd/conf/extra/httpd-vhosts.conf
Tu configuración debería verse así:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/srv/http/test1.com"
ServerName test1.com
ServerAlias www.test1.com
ErrorLog "/var/log/httpd/test1.com-error_log"
CustomLog "/var/log/httpd/test1.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/srv/http/test2.com"
ServerName test2.com
ErrorLog "/var/log/httpd/test2.com-error_log"
CustomLog "/var/log/httpd/test2.com-access_log" common
</VirtualHost>
Las secciones más importantes para configurar son Document Root, ServerName.
Document Root hace referencia al directorio que contiene los archivos del servidor. En el caso de este tutorial, indique la ruta al archivo que creamos en el primer paso. El host virtual no funcionará sin una raíz de documentos. ServerName es el nombre de dominio del sitio. Aquí es donde puede especificar en qué sitio debe servir la raíz del documento. Si desea incluir un www antes del nombre del servidor, puede incluirlo en una línea "ServerAlias" en ServerName. Después de personalizar el host virtual, guarde y salga del archivo.
Asegurémonos de que no ha cometido ningún error en el archivo, desde la terminal:
apachectl configtest
Reiniciar Apache
Antes de reiniciar Apache para que los cambios surtan efecto, debemos ingresar el nombre de dominio en el archivo de hosts. Si está utilizando dominios totalmente calificados, ingrese el nombre de dominio después de la dirección IP.
Abra el siguiente archivo:
sudo nano /etc/hosts
127.0.0.1 test1.com
127.0.0.1 test2.com
Si no está utilizando un dominio totalmente calificado, coloque el nombre que se encuentra en el archivo /etc /hostname al final de la línea correcta. Apache no se reiniciará sin esta adición:
127.0.0.1 localhost.localdomain localhost myvps
Después de guardar el archivo, reinicie Apache:
sudo systemctl restart httpd
Anfitriones locales (opcional)
Si está utilizando nombres de dominio registrados para hosts virtuales o direcciones IP de servidor, puede omitir este paso, no es necesario configurar hosts locales. Tus hosts virtuales deberían funcionar bien. Sin embargo, si desea probar sus hosts virtuales sin tener que conectarse a un nombre de dominio real, puede configurarlos en su computadora.
Abra el siguiente archivo
sudo nano /etc/hosts
Agregue el nombre de dominio así:
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
#Virtual Hosts
12.34.56.789 test1.com
12.33.44.555 test2.com
Recomiendo eliminar posteriormente estas direcciones del archivo de hosts para evitar cualquier problema.
Conclusión
Una vez que haya terminado de configurar su host virtual, puede ver cómo se ve en línea. Escriba el nombre de su servidor en su navegador (por ejemplo, test1.com).
La configuración de Apache Virtual Hosts en Manjaro ha finalizado.