GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar servidores virtuales Apache en Debian 9

En este tutorial, lo guiaremos a través de cómo configurar Apache Virtual Hosts en Debian 9.

Apache Virtual Hosts le permite alojar más de un dominio en una sola máquina. Al usar hosts virtuales, puede especificar una raíz de documentos diferente (el directorio que contiene los archivos del sitio web) para cada dominio o subdominio, crear una política de seguridad separada, usar diferentes certificados SSL y mucho más.

Aunque este tutorial está escrito para Debian 9, se aplican los mismos pasos para todas las distribuciones basadas en Debian.

Requisitos previos #

Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:

  • Tenga un nombre de dominio que apunte a la dirección IP de su servidor. En este tutorial usaremos example.com .
  • Tenga Apache instalado en su servidor Debian.
  • Iniciar sesión como usuario con privilegios sudo.

Crear la estructura de directorio #

La raíz del documento es un directorio donde los archivos del sitio web para un nombre de dominio se almacenan y sirven en respuesta a las solicitudes. Puede establecer la raíz del documento en cualquier ubicación que desee. En esta guía usaremos la siguiente estructura de directorios:

/var/www/
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html
├── domain3.com
│   └── public_html

Cada dominio alojado en nuestro servidor tendrá su documento raíz establecido en /var/www/<domain_name>/public_html .

Comencemos por crear el directorio raíz del documento para nuestro primer dominio, example.com :

sudo mkdir -p /var/www/example.com/public_html

También crearemos un index.html archivo dentro del directorio raíz del documento del dominio que se mostrará cuando visite el dominio en su navegador.

Abra su editor de texto favorito, cree un nuevo archivo y pegue lo siguiente en él:

/var/www/example.com/public_html/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

Estamos ejecutando los comandos como usuario sudo y los archivos y directorios recién creados son propiedad del usuario root.

Para evitar problemas de permisos, cambiaremos la propiedad del directorio raíz del documento del dominio y todos los archivos dentro de ese directorio al usuario de apache (www-data ) :

sudo chown -R www-data: /var/www/example.com

Crear un host virtual #

En los sistemas Debian, los archivos de configuración de Apache Virtual Hosts se encuentran en /etc/apache2/sites-available directorio y se puede habilitar mediante la creación de enlaces simbólicos al /etc/apache2/sites-enabled directorio.

Abra el editor de texto de su elección y cree el siguiente archivo de configuración básico de Virtual Host:

/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
  • ServerName :el dominio que debe coincidir con esta configuración de host virtual. Este debería ser su nombre de dominio.
  • ServerAlias :todos los demás dominios o subdominios que también deberían coincidir con este host virtual, generalmente el www subdominio.
  • DocumentRoot :El directorio desde el cual Apache servirá los archivos de dominio.
  • Options :Esta directiva controla qué características del servidor están disponibles en un directorio específico.
    • -Indexes :evita las listas de directorios.
    • FollowSymLinks :Cuando esta opción está habilitada, Apache seguirá los enlaces simbólicos.
  • AllowOverride :especifica qué directivas declaradas en .htaccess El archivo puede anular las directivas de configuración.
  • ErrorLog , CustomLog :especifica la ubicación de los archivos de registro.

Puede nombrar el archivo de configuración del host virtual como desee, pero se recomienda utilizar el nombre de dominio como nombre del archivo de configuración.

Para habilitar el nuevo archivo de host virtual, cree un enlace simbólico desde el archivo de host virtual al sites-enabled directorio, que Apache lee durante el inicio.

En los sistemas Debian, puede habilitar el host virtual usando un script de ayuda llamado a2ensite :

sudo a2ensite example.com

La otra opción es crear manualmente un enlace simbólico como se muestra a continuación:

sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/

Una vez que la configuración esté habilitada, pruebe si la sintaxis es correcta escribiendo:

sudo apachectl configtest

Si no hay errores, verá el siguiente resultado:

Syntax OK

Reinicie apache2 servicio para que los cambios surtan efecto:

sudo systemctl restart apache2

Para verificar que todo funciona como se esperaba, abra http://example.com en su navegador favorito, y verá algo como esto:


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

  2. Cómo configurar un entorno virtual de Python en Debian 10 Buster

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

  4. Cómo configurar servidores virtuales Apache en CentOS

  5. Establecer una IP estática en Debian 11 - ¿Cómo hacerlo?

Cómo establecer una IP estática en Debian 11

Cómo configurar el host virtual Apache en Debian 10

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