GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar hosts virtuales de Apache en CentOS 7

Apache Virtual Hosts permite que varios sitios web se ejecuten en un servidor web. Con hosts virtuales, 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 para cada sitio y mucho más.

En este tutorial, proporcionaremos instrucciones paso a paso sobre cómo configurar Apache Virtual Hosts en un servidor CentOS 7.

Requisitos previos #

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

  • Tiene un nombre de dominio que apunta a la IP de su servidor público. Usaremos example.com .
  • Ha instalado Apache siguiendo Cómo instalar Apache en CentOS 7.
  • Ha iniciado sesión como usuario con privilegios sudo.

Creando Estructura de Directorio #

DocumentRoot es el 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 este ejemplo, utilizaremos la siguiente estructura de directorios:

/var/www/
├── example.com
│   └── public_html
├── example-1.com
│   └── public_html
├── example-2.com
│   └── public_html

Estamos creando un directorio separado para cada dominio que queremos alojar en nuestro servidor dentro de /var/www directorio. Dentro de cada uno de estos directorios, crearemos un public_html directorio que almacenará los archivos del sitio web del dominio.

Cree el directorio raíz para el dominio example.com usando el comando mkdir:

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

Con fines de prueba, crearemos un index.html archivo dentro del directorio raíz del documento de dominio. Abra su editor y cree un archivo HTML con los siguientes contenidos:

/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>

Todos los comandos se ejecutan como usuario sudo, por lo que los archivos y directorios recién creados son propiedad del usuario root. Para asegurarse de que no haya problemas de permisos, cambie la propiedad del directorio raíz del documento de dominio a apache usuario:

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

Creando Archivo de Host Virtual #

Hay algunas formas de configurar un host virtual. Puede agregar todas las directivas de host virtual en un solo archivo o crear un nuevo archivo de configuración para cada directiva de host virtual. Personalmente, prefiero el segundo enfoque porque es más fácil de mantener.

Por defecto, Apache está configurado para cargar todos los archivos de configuración que terminan con .conf desde el /etc/httpd/conf.d/ directorio.

Para crear un servidor virtual para un sitio web específico, abra el editor de su elección y cree el siguiente archivo de configuración básico del servidor virtual:

/etc/httpd/conf.d/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 /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/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 que también deberían coincidir con este servidor virtual, como 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 :Esta opción le dice a su servidor web que siga 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.

Es importante que el nombre del archivo de configuración termine con .conf . Puede nombrar el archivo de configuración como desee, pero la mejor práctica es usar el nombre de dominio como el nombre del archivo de configuración del host virtual.

Pruebe la sintaxis del archivo de configuración con:

sudo apachectl configtest

Si no hay errores, verá el siguiente resultado:

Syntax OK

Para activar un host virtual recién creado, reinicie el servicio Apache con:

sudo systemctl restart httpd

Verifique que todo funcione como se espera abriendo http://example.com :


Cent OS
  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 configurar servidores virtuales Apache en CentOS

  4. Configurar servidores virtuales de Apache en CentOS 7

  5. Configurar hosts virtuales en CentOS

Cómo configurar WebDAV usando Apache en CentOS 7

Cómo configurar el host virtual Apache en CentOS 8

Cómo instalar Apache con host virtual en CentOS 8

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