Cómo instalar Apache Virtual Hosts en CentOS 8

1 mar 2021 4 min di lettura
Cómo instalar Apache Virtual Hosts en CentOS 8
Indice dei contenuti

Introducción

Apache Virtual Hosts permite que varios sitios web se ejecuten en un servidor web. Con los 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 detalladas sobre cómo configurar hosts virtuales Apache en un servidor CentOS 8.

Prerrequisitos

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

Si desea instalar Apache Virtual Hosts en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectando al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Crea la estructura del directorio

DocumentRoot es el directorio donde se almacenan los archivos del sitio web para un nombre de dominio y se ofrecen en respuesta a las solicitudes. Puede establecer la raíz del documento en cualquier ubicación que desee, en este ejemplo usaremos la siguiente estructura de directorio:

/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 del directorio var/www Dentro de cada uno de estos directorios, crearemos un public_html que almacenará los archivos del sitio web del dominio.

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

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

En este tutorial usamos nano, si lo prefiere puede usar vi instalado por defecto en la mayoría de las distribuciones.

sudo dnf install nano

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

sudo nano /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 el 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 autorización, cambie la propiedad raíz del documento de dominio para el usuario de apache

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

Crear el archivo de host virtual

Hay varias 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.

De forma predeterminada, Apache está configurado para cargar todos los archivos de configuración que terminan en .conf desde el directorio /etc/httpd/conf.d/

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

sudo nano /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 debe ser su nombre de dominio.
  • ServerAlias: todos los demás dominios que también deben coincidir con este host virtual, como el subdominio www
  • DocumentRoot: el directorio desde el que Apache servirá los archivos de dominio.
  • Options: esta directiva controla qué funciones del servidor están disponibles en un directorio específico.
  • -Indexes: Evita listados de directorios desde el navegador.
  • FollowSymLinks: esta opción le indica al servidor web que siga los enlaces simbólicos.
  • AllowOverride: especifica qué directivas declaradas en el .htaccess pueden anular las directivas de configuración.
  • ErrorLog, CustomLog: especifica la ruta 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 .conf. Puede nombrar el archivo de configuración como desee, pero se recomienda que utilice 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 esperaba abriendo http://example.com.

Conclusión

En este tutorial, le mostramos cómo crear una configuración de host virtual Apache. Puede repetir los pasos anteriores y crear hosts virtuales adicionales para todos sus dominios.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.