Configuración de host virtuales en Apache sobre Centos 7
Tabla de contenido:
Apache Virtual Hosts permite que múltiples 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 paso a paso sobre cómo configurar Apache Virtual Hosts en un servidor CentOS 7.
Prerrequisitos
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
. Tiene instalado Apache siguiendo Cómo instalar Apache en CentOS 7. Ha iniciado sesión como usuario con privilegios de sudo.
Crear estructura de directorio
DocumentRoot es el directorio donde se almacenan y sirven los archivos del sitio web para un nombre de dominio en respuesta a las solicitudes. Puede establecer la raíz del documento en la ubicación que desee, en este ejemplo usaremos 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 del directorio
/var/www
. Dentro de cada uno de estos directorios, crearemos un directorio
public_html
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
Para fines de prueba, crearemos un archivo
index.html
dentro del directorio raíz del documento de dominio. Abra su editor y cree un archivo HTML con los siguientes contenidos:
Welcome to example.com Success! example.com home page!
Welcome to example.com Success! example.com home page!
Todos los comandos se ejecutan como usuario sudo, por lo que los archivos y directorios recién creados son propiedad del usuario raíz. Para asegurarse de que no haya problemas de permisos, cambie la propiedad del directorio raíz del documento de dominio al usuario de
apache
:
sudo chown -R apache: /var/www/example.com
Crear 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.
De forma predeterminada, Apache está configurado para cargar todos los archivos de configuración que terminan con
.conf
desde el directorio
/etc/httpd/conf.d/
.
Para crear un host virtual para un sitio web específico, abra el editor de su elección y cree el siguiente archivo de configuración básico de Virtual Host:
/etc/httpd/conf.d/example.com.conf
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined
-
ServerName
: el dominio que debe coincidir con esta configuración de host virtual. Este debería ser tu nombre de dominio.ServerAlias
: todos los demás dominios que también deberían coincidir con este host virtual, como el subdominiowww
.DocumentRoot
: el directorio desde el cual 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.FollowSymLinks
: esta opción le dice a su servidor web que siga los enlaces simbólicos.
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. -
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 utilizar 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
Verifique que todo funcione como se esperaba, abriendo
http://example.com
:
Conclusión
En este tutorial, le hemos mostrado cómo crear una configuración de host virtual Apache. Puede repetir los pasos que describimos anteriormente y crear hosts virtuales adicionales para todos sus dominios.
apache centosEsta publicación es parte de la instalación de LAMP Stack en la serie CentOS 7.
Otras publicaciones en esta serie:
• Cómo instalar Apache en CentOS 7 • Instalar MySQL en CentOS 7 • Cómo configurar Hosts virtuales de Apache en CentOS 7 • Apache seguro con Let's Encrypt en CentOS 7Cómo instalar y configurar nextcloud con apache en centos 7

Nextcloud es una plataforma de colaboración y recursos compartidos de archivos de código abierto, similar a Dropbox. En este tutorial le mostraremos cómo instalar y configurar Nextcloud con Apache en una máquina CentOS 7.
Cómo configurar hosts virtuales apache en debian 9

Apache Virtual Hosts le permite alojar más de un dominio en una sola máquina. En este tutorial, le explicaremos cómo configurar Apache Virtual Hosts en Debian 9.
Cómo configurar hosts virtuales apache en ubuntu 18.04

En este tutorial, proporcionaremos instrucciones paso a paso sobre cómo configurar Apache Virtual Hosts en Ubuntu 18.04. Apache Virtual Hosts le permite ejecutar más de un sitio web en una sola máquina.