El servidor Apache HTTP, anteriormente conocido como Apache Web Server, es un software gratuito y de código abierto desarrollado y mantenido por Apache Software Foundation. Es un servidor web poderoso y uno de los más populares en todo el mundo.
En este tutorial, lo guiaremos en la configuración de Apache Virtual Hosts en Ubuntu 18.10. Generalmente, Virtual Host se utiliza para alojar varios sitios web en el mismo servidor web. Si está interesado en configurar el servidor Apache HTTP, diríjase a nuestra guía paso a paso sobre cómo configurar el servidor web Apache HTTP en Ubuntu.
Configuración de servidores virtuales de Apache en Ubuntu
Hay dos tipos de hosts virtuales que podemos configurar en Apache.
- Servidor Apache único, una IP y varios sitios web => hosts virtuales basados en nombres
- Servidor Apache único e IP única para cada sitio web => alojamiento virtual basado en IP
Host virtual basado en IP, solo podemos configurar un sitio web en una dirección IP. Si necesita alojar varios sitios web, debe tener varias direcciones IP para ese servidor web. El host virtual basado en nombres se usa comúnmente para alojar múltiples sitios web en un solo servidor.
En este tutorial, aquí vamos a discutir cómo crear hosts virtuales basados en nombres.
Configuración de servidores virtuales Apache basados en nombres
La raíz del documento es un directorio para almacenar archivos de sitios web para un nombre de dominio para servir en respuesta a solicitudes.
1. Configuración de la estructura del directorio
En nuestra guía, utilizaremos la siguiente estructura de directorios, pero puede optar por cambiarla a la ubicación que desee.
/var/www/
├── fosslinuxexample1.com
│ └── public_html
├── fosslinuxexample2.com
│ └── public_html
Dado que vamos a alojar dos sitios web, necesitaremos crear dos directorios en /var/www directorio.
Inicie la Terminal y comencemos a crear un directorio para fosslinuxexample1.com
sudo mkdir -p /var/www/html/fosslinuxexample1.com/public_html
Cree un directorio para fosslinuxexample2.com
sudo mkdir -p /var/www/html/fosslinuxexample2.com/public_html
Cambiar la propiedad del directorio al usuario de apache (www-data)
sudo chown -R www-data: /var/www/html/fosslinuxexample1.com/public_html sudo chown -R www-data: /var/www/html/fosslinuxexample2.com/public_html
2. Configuración de permisos de carpeta
sudo chmod -R 755 /var/www/html/fosslinuxexample1.com/public_html sudo chmod -R 755 /var/www/html/fosslinuxexample2.com/public_html
3. Creación de páginas web
Ahora, creemos páginas web para cada host. En mi ejemplo, crearé una página web para fosslinuxexample1.com
sudo vim /var/www/html/fosslinuxexample1.com/public_html/index.html
Agregue los siguientes contenidos a index.html expediente. Esto es básicamente un contenido HTML.
<html> <head> <title>fosslinuxexample1.com Test Page</title> </head> <body> <h1>Hello, This is a test page for fosslinuxexample1.com website</h1> </body> </html>
Hora de guardar y cerrar el archivo.
Del mismo modo, crearemos una página web para fosslinuxexample2.com.
sudo vim /var/www/html/fosslinuxexample2.com/public_html/index.html
Agregue los siguientes contenidos al archivo.
<html> <head> <title>fosslinuxexample2.com Test Page</title> </head> <body> <h1>Hello, This is a test page for fosslinuxexample2.com website</h1> </body> </html>
Guarde y cierre el archivo.
4. Creación de servidores virtuales
Generalmente, los archivos de configuración de Apache Virtual Hosts se almacenan en /etc/apache2/sites-available directorio y /etc/apache2/sites-enabled directorio. Comience con la creación de un host virtual para fosslinuxexample1.com.
sudo vim /etc/apache2/sites-available/fosslinuxexample1.com.conf
Agregue los siguientes contenidos al archivo.
<VirtualHost *:80> ServerName fosslinuxexample1.com ServerAlias www.fosslinuxexample1.com ServerAdmin [email protected] DocumentRoot /var/www/html/fosslinuxexample1.com/public_html <Directory /var/www/html/fosslinuxexample1.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/fosslinuxexample1.com-error.log CustomLog ${APACHE_LOG_DIR}/fosslinuxexample1.com-access.log combined </VirtualHost>
Guardar y salir del archivo. En líneas similares, cree un host virtual para fosslinuxexample2.com
sudo vim /etc/apache2/sites-available/fosslinuxexample2.com.conf
Agregue los siguientes contenidos al segundo sitio web.
<VirtualHost *:80> ServerName fosslinuxexample2.com ServerAlias www.fosslinuxexample2.com ServerAdmin [email protected] DocumentRoot /var/www/html/fosslinuxexample2.com/public_html <Directory /var/www/html/fosslinuxexample2.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/fosslinuxexample2.com-error.log CustomLog ${APACHE_LOG_DIR}/fosslinuxexample2.com-access.log combined </VirtualHost>
Guarde y salga del archivo.
5. Habilitación de archivos de configuración de host virtual
Hay diferentes formas de habilitar hosts virtuales. La forma más sencilla es habilitar el host virtual mediante el a2ensite dominio. Alternativamente, puede habilitarlo creando enlaces simbólicos al directorio /etc/apache2/sites-enabled.
Ahora deberíamos deshabilitar 000-default.conf y habilite los archivos de host virtual recién creados
Use esta línea de comando para deshabilitar el host virtual predeterminado.
sudo a2dissite 000-default.conf
Los siguientes comandos habilitarán nuevos hosts virtuales.
sudo a2ensite fosslinuxexample1.com.conf sudo a2ensite fosslinuxexample2.com.conf
Habilite el host virtual creando enlaces simbólicos.
Si habilitaste el host virtual usando a2ensite comando no es necesario ejecutar los siguientes comandos:
sudo ln -s /etc/apache2/sites-available/fosslinuxexample1.com.conf /etc/apache2/sites-enabled/ sudo ln -s /etc/apache2/sites-available/fosslinuxexample2.com.conf /etc/apache2/sites-enabled/
Comprueba la sintaxis de los archivos de configuración.
sudo apachectl configtest
Reinicie Apache para activar la nueva configuración.
sudo systemctl restart apache2
6. Prueba de hosts virtuales
Antes de probar las páginas web, debemos modificar /etc/hosts archivo para configurar la IP del servidor.
sudo vim /etc/hosts
Agregue la siguiente línea al archivo hosts. Recuerde reemplazar 10.94.12.217 en las siguientes líneas de comando con la IP de su servidor. Cuando haya terminado, guarde y cierre el archivo.
10.94.12.217 fosslinuxexample1.com 10.94.12.217 fosslinuxexample2.com
¡Finalmente, inicie su navegador web favorito y comience a navegar por los sitios web!
fosslinuxexample1.com
fosslinuxexample2.com
Si puede ver las páginas web que creó, felicidades, ha creado con éxito los servidores virtuales. ¿Tienes alguna pregunta? ¿Cómo te funcionó?