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

Configurar servidores virtuales de Apache en CentOS 7

Con el servidor web Apache, puede servir contenido web en Internet. Básicamente, cuando usa el servidor web Apache, puede usar hosts virtuales para alojar más de un dominio en un solo servidor. Apache dividirá su funcionalidad y componentes en unidades individuales para que pueda personalizarlo de forma independiente. La unidad básica que describe un sitio o dominio individual se denomina host virtual.

Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas de Apache relacionadas.

En este contexto, veremos cómo configurar Apache Virtual Hosts en un servidor CentOS 7.


¿Cómo crear servidores virtuales Apache en CentOS?

Antes de continuar con este procedimiento, debe asegurarse de que se cumplan los siguientes requisitos previos:

  • Un servidor CentOS 7 con un usuario no root con privilegios sudo.
  • Apache debe estar instalado y configurado, como se menciona en Cómo instalar Apache en el servidor CentOS 7.
  • Un nombre de dominio debe apuntar a la dirección IP de su servidor.


1. Crear la Estructura de Directorio

Para comenzar, crearemos un directorio donde los archivos del sitio web para un dominio se almacenarán y brindarán respuestas a los visitantes. Generalmente, se llama DocumentRoot. Puede configurar la raíz del documento en cualquier ubicación que desee, pero es una buena práctica configurarla en la estructura del directorio. Generalmente en todos /var/www:

/var/www/
 ├── example1.com
 │   └── public_html
 ├── linuxapt.com
 │   └── public_html

Aquí, necesitamos crear un directorio separado dentro del directorio /var/www para cada dominio que queremos alojar en nuestro servidor:

$ sudo mkdir -p /var/www/example1.com/public_html

Para probar esto, crearemos un archivo index.html dentro del directorio raíz del documento del dominio. Esta página se mostrará de forma predeterminada cuando los visitantes visiten su sitio.

Para crear un nuevo archivo index.html usando su editor de texto favorito, ejecute el comando:

$ sudo vi /var/www/example1.com/public_html/index.html

Luego, agregue las siguientes líneas:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Welcome!!</title>
  </head>
  <body>
    <h1>Success! example1.com set up completed!</h1>
  </body>
</html>

Dado que todos los comandos se ejecutan como usuario sudo, los archivos y directorios recién creados son propiedad del usuario root. Cambiaremos la propiedad de los directorios raíz de documentos para evitar problemas de permisos para nuestro usuario habitual. Por lo tanto, el usuario normal puede modificar archivos en nuestros directorios web sin ningún problema:

$ sudo chown -R apache: /var/www/example1.com


2. Crear archivos de host virtual

Hay varias formas de configurar un host virtual. Puede crear un archivo separado para cada directiva de host virtual o puede agregar todas las directivas de host virtual en un solo archivo. Se recomienda hacer un archivo separado para cada dominio porque es mantenible.

En CentOS, Apache cargará todos los archivos .conf desde el directorio /etc/httpd/conf.d/ debido a su configuración predeterminada. Así que ahora crearemos un host virtual separado.

Ahora, cree un nuevo archivo usando el editor de texto de su elección ejecutando:

$ sudo vi /etc/httpd/conf.d/example1.com.conf
<VirtualHost *:80>
    ServerName example1.com
    ServerAlias www.example1.com
    DocumentRoot /var/www/example1.com/public_html
    <Directory /var/www/example1.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/example1.com-error.log
    CustomLog /var/log/httpd/example1.com-access.log combined
</VirtualHost>

Tenga en cuenta lo siguiente:

  • ServerName:este debe ser su nombre de dominio y coincidir con la configuración del host virtual.
  • ServerAlias:todos los demás dominios o subdominios que también deben coincidir con este host virtual, generalmente el subdominio www.
  • DocumentRoot:ruta del directorio de host virtual desde el cual Apache servirá los archivos de dominio.
  • Opciones:esta directiva controla qué funciones del servidor están disponibles en un directorio específico.
  • -Índices:Evitará las listas de directorios.
  • FollowSymLinks:Apache seguirá los enlaces simbólicos si esta opción está habilitada.
  • AllowOverride:especifica qué directivas declaradas en el archivo .htaccess pueden anular las directivas de configuración.
  • ErrorLog, CustomLog:especifica la ubicación de los archivos de registro.


Aquí, puede dar cualquier nombre a su archivo de configuración, pero se recomienda dar el mismo nombre de archivo que el nombre de dominio.

Ahora verifique la sintaxis por tipo:

$ sudo apachectl configtest

Verá un resultado como este:

Output
Syntax OK

Debe reiniciar el servicio apache2 para activar los hosts virtuales recién creados:

$ sudo systemctl restart httpd

Finalmente, puede verificar accediendo a su dominio (http://example1.com) en un navegador web y verá algo como esto:

Success! example1.com set up completed!



Cent OS
  1. Cómo configurar servidores virtuales Apache en CentOS

  2. Instale el servidor web Apache CentOS 6 / RHEL 6

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

  4. Cómo configurar OpenSSH en CentOS 7

  5. Configurar hosts virtuales en CentOS

Cómo configurar servidores virtuales Apache en Ubuntu 18.04 LTS

Instalar Apache OpenOffice en CentOS 8

Cómo configurar servidores virtuales Apache en Rocky Linux

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 Apache en Ubuntu 18.04