GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar servidores virtuales Apache en Ubuntu 18.04

¿Qué es el servidor virtual de Apache?

Alojamiento virtual le permite ejecutar múltiples sitios web desde un solo servidor físico o servidor privado virtual. Hay dos tipos de servidores virtuales en Apache:

  • Alojamiento virtual basado en IP – cada sitio web individual en el servidor Apache utiliza una dirección IP única y diferente.
  • Hosts virtuales basados ​​en nombres – le permite agregar múltiples dominios usando una sola dirección IP.

Este tutorial le muestra cómo configurar Apache Virtual Hosts en un sistema Ubuntu 18.04.

Requisitos previos

  • Línea de comando/ventana de terminal
  • Usuario con root o sudo privilegios
  • Un dominio que apunta a una IP de servidor público
  • Servidor web Apache en Ubuntu instalado, configurado y activo
  • Cortafuegos activado

Configurar múltiples dominios en una sola IP

Apache Virtual Host le permite maximizar sus recursos al configurar un sitio web. Con este poderoso software, puede usar un solo servidor y una sola dirección IP para alojar varios dominios diferentes.

Antes de poder configurar Apache Virtual Hosts, debe instalar el servidor web Apache. Para hacerlo, ejecute el comando:

sudo apt-get install apache2

Si tiene problemas para configurar el servidor web, consulte nuestro tutorial detallado sobre la instalación de Apache en Ubuntu.

Cómo configurar un host virtual basado en nombres

Basado en el nombre El alojamiento virtual permite al cliente informar el nombre de host al servidor, como un elemento del encabezado HTTP. Esta característica significa que una máquina puede albergar varios sitios web que comparten la misma dirección IP.

Paso 1:crear una estructura de directorio

Cada host virtual debe tener un directorio para almacenar datos de host virtual. Cree directorios y una estructura de directorios en la siguiente ubicación /var/www . En nuestro ejemplo, hemos creado phxnap1.com y phxnap2.com directorios, uno para cada nombre de dominio.

1. Ingrese el siguiente comando y reemplace el dominio de ejemplo con sus nombres de dominio:

sudo mkdir -p /var/www/phxnap1.com/public_html
sudo mkdir -p /var/www/phxnap2.com/public_html

Dentro de los directorios, también creamos public_html . Estos directorios van a almacenar archivos de sitios web para los dominios.

2. A continuación, cree un ejemplo index.html página para cada dominio, usando nano o tu editor de texto favorito. Comience con el primer dominio:

nano /var/www/phxnap1.com/public_html/index.html

3. Agregue el siguiente código HTML de muestra:

<html>
<head>
<title>Welcome to phoenixNAP 1!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your first domain!</h1>
</body>
</html>

4. Guarde y salga del archivo.

5. A continuación, cree una página de muestra para el segundo dominio:

nano /var/www/phxnap2.com/public_html/index.html

6. Agregue las siguientes líneas al archivo:

<html>
<head>
<title>Welcome to phoenixNAP 2!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your second domain!</h1>
</body>
</html>

7. Guarde y salga del segundo archivo HTML.

8. Para evitar cualquier problema de permisos, modifique la propiedad del directorio raíz de su documento a www-data . El comando chown es útil en este caso:

sudo chown –R www-data:www-data /var/www/phxnap1.com
sudo chown –R www-data:www-data /var/www/phxnap2.com

Ahora ha cambiado con éxito la propiedad del directorio al usuario de Apache .

Paso 2:Cree un archivo de configuración de host virtual

Los archivos de configuración de Apache Virtual Host se almacenan en /etc/apache2/sites-available directorio.

1. Para crear un archivo de configuración básica para su primer dominio, ingrese la información del dominio en el comando:

sudo nano /etc/apache2/sites-available/phxnap1.com.conf

2. Agregue el siguiente bloque de configuración para crear un archivo de configuración básico. Este ejemplo usa el primer dominio de prueba, phxnap1.com . Asegúrese de ingresar el dominio correcto para su sitio web:

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap1.com
ServerAlias www.phxnap1.com
DocumentRoot /var/www/phxnap1.com/public_html

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

</VirtualHost>
  • Nombre del servidor – representa el dominio
  • Alias ​​del servidor – representa todos los demás dominios, como los subdominios
  • Raíz del documento – el directorio utilizado por Apache para servir archivos de dominio
  • Registro de errores, Registro personalizado – designa la ubicación de los archivos de registro

No hay un formato establecido. Sin embargo, nombrar sus archivos de configuración según el nombre de dominio es una "práctica recomendada".

4. Una vez que haya editado el archivo de configuración para el primer dominio, repita el proceso para el resto. En nuestro caso, ejecutaremos:

sudo nano /etc/apache2/sites-available/phxnap2.com.conf

5. Luego, agregue el bloque de configuración como en el ejemplo anterior, asegurándose de cambiar los valores para phxnap2.com :

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap2.com
ServerAlias www.phxnap2.com
DocumentRoot /var/www/phxnap2.com/public_html

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

</VirtualHost>

Paso 3:habilite los archivos de configuración del host virtual

Para habilitar el archivo de host virtual, cree un enlace simbólico desde el archivo de host virtual al directorio de sitios habilitados. Apache2 lee este archivo cuando mira fijamente.

1. Utilice el ayudante de a2ensite para habilitar el archivo de host virtual con el comando:

sudo a2ensite phxnap1.com

La salida aparecerá como:


2. Repita el proceso para el segundo dominio escribiendo:

sudo a2ensite phxnap2.com

3. Luego, verifique que la sintaxis del archivo de configuración sea correcta usando el comando:

sudo apachectl configtest

El mensaje en la terminal confirmará que la sintaxis es correcta:“Syntax OK”

4. Reinicie Apache2 para que se apliquen los cambios:

sudo systemctl restart apache2

5. Lo único que queda por hacer es ir a un navegador web y acceder a sus sitios web. Basado en index.html archivo que creamos anteriormente, debería aparecer el mensaje apropiado para cada dominio.

phxnap1.com
phxnap2.com

Paso 4:configurar el cortafuegos (opcional)

Modifique la configuración de su firewall para mejorar la seguridad creando una regla para habilitar SSH en Ubuntu:

sudo ufw allow OpenSSH

Agregue las reglas para permitir el acceso a Apache.

sudo ufw allow in “Apache Full”

A continuación, habilite el cortafuegos.

sudo ufw enable

Si ve un mensaje que dice "El comando puede interrumpir las conexiones SSH existentes". Presiona y . Si el cortafuegos funciona correctamente, debería ver "El cortafuegos está activo y habilitado al iniciar el sistema".


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

  2. Ubuntu - ¿Cómo configurar una IP estática en Ubuntu?

  3. Cómo configurar Apache con HTTP/2 en Ubuntu 16.04

  4. ¿Cómo configurar la autenticación de contraseña de Apache en Ubuntu 18.08?

  5. Configurar hosts virtuales Apache en el sistema operativo Ubuntu

Cómo configurar servidores virtuales Apache en Ubuntu 18.04 LTS

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 de Apache en Debian 11

Cómo configurar servidores virtuales Apache en Ubuntu 18.04

Cómo configurar servidores virtuales Apache en Ubuntu 20.04