GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar servidores virtuales Apache en Ubuntu 18.04 LTS

¿Qué son los servidores virtuales de Apache?

Alojamiento virtual El término se refiere al método de ejecutar más de un sitio web, como host1.domain.com, host2.domain.com o www.domain1.com, www.domain2.com, etc., en un solo sistema. Hay dos tipos de alojamiento virtual en Apache, a saber, basado en IP alojamiento virtual y basado en el nombre alojamiento virtual. Con el alojamiento virtual basado en IP, puede alojar varios sitios web o dominios en el mismo sistema, pero cada sitio web/dominio tiene una dirección IP diferente. Con el alojamiento virtual basado en nombres, puede alojar múltiples sitios web/dominios en la misma dirección IP. El alojamiento virtual puede ser útil si desea alojar múltiples sitios web y dominios desde un solo servidor físico o VPS. Espero que tenga la idea básica de los hosts virtuales de Apache. Hoy vamos a ver cómo configurar servidores virtuales Apache en Ubuntu 18.04 LTS.

Descargar - Libro electrónico gratuito:"Libro de recetas del servidor Apache HTTP"

Configurar servidores virtuales Apache en Ubuntu 18.04 LTS

La dirección IP de mi caja de prueba es 192.168.225.22 y el nombre de host es ubuntuserver .

Primero, veremos cómo configurar hosts virtuales basados ​​en nombres en el servidor web Apache.

Configurar hosts virtuales basados ​​en nombres

1. Instalar el servidor web Apache 

Asegúrese de haber instalado el servidor web Apache. Para instalarlo en Ubuntu, ejecute:

$ sudo apt-get install apache2

Una vez instalado apache, pruebe si funciona o no navegando por la página de prueba de apache en el navegador.

Abra su navegador web y diríjalo a http://Dirección_IP o http://localhost . Debería ver una página como la siguiente.

¡Bueno! ¡¡El servidor web Apache está activo y funcionando!!

2. Crear directorio web para cada host

Voy a crear dos servidores virtuales, a saber, ostechnix1.lan y ostechnix2.lan .

Vamos a crear un directorio para el primer host virtual ostechnix1.lan. Este directorio es necesario para almacenar los datos de nuestros hosts virtuales.

Para hacerlo, ingrese:

$ sudo mkdir -p /var/www/html/ostechnix1.lan/public_html

Del mismo modo, cree un directorio para el segundo host virtual ostechnix2.lan como se muestra a continuación.

$ sudo mkdir -p /var/www/html/ostechnix2.lan/public_html

Los dos directorios anteriores son propiedad del usuario root. Necesitamos cambiar la propiedad al usuario normal.

Para hacerlo, ejecute:

$ sudo chown -R $USER:$USER /var/www/html/ostechnix1.lan/public_html
$ sudo chown -R $USER:$USER /var/www/html/ostechnix2.lan/public_html

Toma, $USUARIO refiere al usuario actualmente conectado.

A continuación, configure los permisos de lectura en el directorio raíz de Apache, es decir, /var/www/html/ usando el comando:

$ sudo chmod -R 755 /var/www/html/

Hacemos esto porque ya creamos un directorio separado para cada host virtual para almacenar sus datos. Así que hicimos que el directorio raíz de apache sea de solo lectura para todos los usuarios excepto el usuario raíz.

Hemos creado los directorios necesarios para almacenar datos de cada host virtual, configure los permisos adecuados. Ahora es el momento de crear algunas páginas de muestra que se servirán desde cada servidor virtual.

3. Cree páginas web de demostración para cada host

Vamos a crear una página de muestra para el sitio ostechnix1.lan. Para hacerlo, ejecute:

$ sudo vi /var/www/html/ostechnix1.lan/public_html/index.html

Agregue las siguientes líneas en él:

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix1.lan website</h1>
 </body>
</html>

Guarde y cierre el archivo.

Del mismo modo, cree una página de muestra para el sitio ostechnix2.lan:

$ sudo vi /var/www/html/ostechnix2.lan/public_html/index.html

Agregue las siguientes líneas en él:

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix2.lan website</h1>
 </body>
</html>

Guarde y cierre el archivo.

4. Crear archivo de configuración para cada host

A continuación, debemos crear archivos de configuración para cada host virtual. Primero, hagamos esto para el sitio ostechnix1.lan.

Copie el archivo de host virtual predeterminado llamado 000-default.conf contenido a los nuevos archivos de host virtual como se muestra a continuación.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix1.lan.conf
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix2.lan.conf

Tenga en cuenta que debe guardar todos los archivos de configuración con .conf extensión al final, de lo contrario no funcionará.

Ahora, modifique los archivos de configuración para que coincidan con nuestros servidores virtuales.

Edite ostechnix.lan1.conf archivo:

$ sudo vi /etc/apache2/sites-available/ostechnix1.lan.conf

Edite/modifique las coincidencias de valores de ServerAdmin, ServerName, ServerAlias ​​y DocumentRoot con el host virtual.

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

   ServerAdmin [email protected]
   ServerName ostechnix1.lan
   ServerAlias www.ostechnix1.lan
   DocumentRoot /var/www/html/ostechnix1.lan/public_html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Guarde y cierre el archivo.

A continuación, edite ostechnix2.lan.conf archivo:

$ sudo vi /etc/apache2/sites-available/ostechnix2.lan.conf

Realice los cambios necesarios.

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

    ServerAdmin [email protected]
    ServerName ostechnix2.lan
    ServerAlias www.ostechnix2.lan
    DocumentRoot /var/www/html/ostechnix2.lan/public_html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Guarde/cierre el archivo.

5. Habilitar archivos de configuración de host virtual

Después de realizar los cambios necesarios, deshabilite el archivo de configuración de host virtual predeterminado, es decir, 000.default.conf y habilite todos los archivos de configuración de host virtual recién creados como se muestra a continuación.

$ sudo a2dissite 000-default.conf
$ sudo a2ensite ostechnix1.lan.conf
$ sudo a2ensite ostechnix2.lan.conf

Reinicie el servidor web apache para aplicar los cambios.

$ sudo systemctl restart apache2

Eso es todo. Hemos configurado con éxito hosts virtuales en Apache. Avancemos y verifiquemos si funcionan o no.

6. Probar hosts virtuales

Abra el archivo /etc/hosts en cualquier editor:

$ sudo vi /etc/hosts

Agregue todos sus sitios web/dominios virtuales uno por uno como se muestra a continuación.

[...]
192.168.225.22   ostechnix1.lan
192.168.225.22   ostechnix2.lan
[...]

Tenga en cuenta que si desea acceder a los hosts virtuales desde cualquier sistema remoto, debe agregar las líneas anteriores en el archivo /etc/hosts de cada sistema remoto.

Guarde y cierre el archivo.

Abra su navegador web y diríjalo a http://ostechnix1.lan o http://ostechnix2.lan .

página de prueba de ostechnix1.lan:

página de prueba de ostechnix2.lan:

¡Felicidades! Ahora puede acceder a todos sus sitios web. A partir de ahora, puede cargar los datos y servirlos desde diferentes sitios web.

Como notó, hemos utilizado la misma dirección IP (es decir, 192.168.225.22) para alojar dos sitios web diferentes (http://ostechnix1.lan y http://ostechnix2.lan). Esto es lo que llamamos hosting virtual basado en nombres. Espero que esto ayude. Le mostraré cómo configurar el alojamiento virtual basado en IP en la siguiente guía. Hasta entonces, ¡estén atentos!


Ubuntu
  1. Cómo configurar servidores virtuales Apache en Ubuntu 18.04

  2. Cómo configurar servidores virtuales Apache en Ubuntu 20.04

  3. Cómo instalar Apache Cordova en Ubuntu 18.04 LTS

  4. Configurar Apache Virtual Hosts en Ubuntu 18.04 - ¿Proceso paso a paso?

  5. Cómo configurar el host virtual apache en ubuntu

Cómo configurar la dirección IP en Ubuntu 18.04 LTS

Cómo configurar servidores virtuales Apache en Rocky Linux

Cómo configurar el host virtual Apache en Ubuntu 20.04 LTS

Cómo instalar el servidor Apache y configurar hosts virtuales en Ubuntu 22.04

Cómo configurar servidores virtuales Apache en Ubuntu 18.04

Cómo configurar servidores virtuales Apache en Ubuntu 20.04