Un servidor HTTP pache, 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 hosts virtuales Apache 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 HTTP Apache, diríjase a nuestra guía paso a paso sobre cómo configurar el servidor web Apache HTTP en Ubuntu.
Configuración de hosts virtuales Apache en Ubuntu
Hay dos tipos de hosts virtuales que podemos configurar en Apache.
- Servidor Apache único, una IP y varios sitios web =&gt hosts virtuales basados en nombre
- Servidor Apache único e IP única para cada sitio web =&gt 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 nombre se usa comúnmente para albergar varios sitios web en un solo servidor.
En este tutorial, aquí vamos a discutir cómo crear hosts virtuales basados en nombres.
Configuración de hosts 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, usaremos la siguiente estructura de directorio, pero puede elegir cambiarla a cualquier 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 el directorio / var / www .
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 al archivo index.html . Este 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>
Es 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 hosts virtuales
Generalmente, los archivos de configuración de Apache Virtual Hosts se almacenan en el directorio / etc / apache2 / sites-available y / etc / apache2 / sites-enabled . Comience creando 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 webmaster@fosslinuxexample1.com 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 webmaster@fosslinuxexample2.com 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>
Guardar y salir 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 comando a2ensite . Alternativamente, puede habilitarlo creando enlaces simbólicos al directorio / etc / apache2 / sites-enabled.
Ahora deberíamos deshabilitar 000-default.conf y habilitar los archivos de host virtual recién creados
Utilice 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 habilitó el host virtual con el comando a2ensite, 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/
Verifique 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, necesitamos modificar el archivo / etc / hosts para configurar la IP del servidor.
sudo vim /etc/hosts
Agregue la siguiente línea al archivo de 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
¡Por último, 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 por haber creado con éxito los hosts virtuales. ¿Tienes alguna pregunta? ¿Cómo funcionó para ti?