GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar servidores virtuales Apache en Debian 10

Apache Virtual Hosts le permite ejecutar más de un sitio web en una sola máquina. Con Virtual Hosts, puede especificar la raíz del documento del sitio (el directorio que contiene los archivos del sitio web), crear una política de seguridad separada para cada sitio, usar diferentes certificados SSL y mucho más.

Este artículo describe cómo configurar Apache Virtual Hosts en un servidor Debian 10.

Requisitos previos #

Asegúrese de haber cumplido con los siguientes requisitos antes de continuar con este tutorial:

  • Nombre de dominio que apunta a la IP de su servidor público.
  • Apache instalado en su sistema CentOS.
  • Ha iniciado sesión como raíz o usuario con privilegios sudo.

Crear la estructura de directorio #

La raíz del documento es el directorio en el que se almacenan y sirven los archivos del sitio web para un nombre de dominio en respuesta a las solicitudes. La raíz del documento se puede configurar en cualquier ubicación que desee.

Usaremos la siguiente estructura de directorios:

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

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

Comencemos por crear el directorio raíz del documento para el 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>

Dado que los comandos anteriores se ejecutan como un usuario sudo, los archivos y directorios recién creados son propiedad de root. Para evitar cualquier problema de permisos, cambie la propiedad del directorio raíz del documento del dominio y todos los archivos dentro del 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, que Apache lee durante el inicio.

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.

Edite el archivo según sus necesidades y guárdelo.

Puede nombrar el archivo de configuración como desee. La mejor práctica es utilizar el nombre de dominio como el nombre del archivo de configuración del host virtual.

Para habilitar el nuevo archivo de host virtual, use el a2ensite secuencia de comandos de ayuda que crea un enlace simbólico desde el archivo de host virtual al sites-enabled directorio:

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 habilitada la configuración, pruebe si la sintaxis es correcta:

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