Los hosts virtuales (vhosts) se utilizan para servir a múltiples dominios mediante el uso de un solo servidor o dirección de Protocolo de Internet (IP). Se muestran diferentes páginas de acuerdo con lo que se ha configurado en el archivo de host para ese sitio en particular. Puede agregar tantos hosts virtuales como necesite a su servidor. Este artículo proporciona instrucciones para crear vhosts en CentOS® específicamente.
domain.com
en este artículo con el nombre de dominio de su sitio.
Requisitos previos de configuración de Vhost para CentOS
Este artículo asume que ha configurado los Servicios de nombres de dominio (DNS) para que su dominio apunte a su sitio o que está utilizando un archivo de host local en su computadora para apuntar el dominio al servidor con fines de prueba.
Su servidor debe tener Apache® instalado para poder configurar vhosts. Instale Apache ejecutando el siguiente comando:
sudo yum install httpd
Crear un directorio vhost en CentOS
-
Cree un nuevo directorio usando el siguiente comando:
sudo mkdir -p /var/www/vhosts/domain.com/public_html
Este directorio se utiliza para almacenar el contenido web de su sitio. Esto se conoce como la raíz del documento. ubicación en Apache
vhost
archivo de configuración. Usando-p
agrega automáticamente los padres de su nuevo directorio. -
Establezca los permisos necesarios en el nuevo directorio usando el siguiente comando:
sudo chown -R username:vhostuser /var/www/vhosts/domain.com/public_html
vhostuser
en username:vhostuser
con el usuario que debería tener acceso al nuevo directorio.
Otorgue acceso de lectura a todos para los archivos dentro de su directorio vhosts usando lo siguiente:
sudo chmod -R 755 /var/www/vhosts/
Configure el archivo de host virtual
-
Abra el httpd.conf archivo en el
vi
editor de texto usando el siguiente comando:sudo vi /etc/httpd/conf/httpd.conf
-
Inserte la siguiente línea al final del archivo:
Include vhost.d/*.conf
Esta acción configura Apache para leer todos los archivos que terminan en .conf dentro de /etc/httpd/vhost.d directorio.
-
Guarde y salga del archivo de configuración.
-
Cree el directorio para los archivos de configuración de vhost mediante el siguiente comando:
sudo mkdir /etc/httpd/vhost.d/
-
Cree una plantilla de vhost a partir de la cual pueda crear futuros hosts virtuales mediante el siguiente comando:
touch /etc/httpd/vhost.d/default.template
-
Abra la plantilla.predeterminada archivo en
vi
usando el siguiente comando:vi /etc/httpd/vhost.d/default.template
-
Inserte el siguiente código dentro de /etc/httpd/vhost.d/default.template archivo:
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/vhosts/domain.com/public_html <Directory /var/www/vhosts/domain.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> CustomLog /var/log/httpd/domain.com-access.log combined ErrorLog /var/log/httpd/domain.com-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn </VirtualHost> #<VirtualHost _default_:443> # ServerName example.com # DocumentRoot /var/www/vhosts/domain.com/public_html # <Directory /var/www/vhosts/domain.com/public_html> # Options Indexes FollowSymLinks MultiViews # AllowOverride All # </Directory> # CustomLog /var/log/httpd/example.com-ssl-access.log combined # ErrorLog /var/log/httpd/example.com-ssl-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # SSLEngine on # SSLCertificateFile /etc/ssl/certs/domain.crt # SSLCertificateKeyFile /etc/ssl/certs/domain.key #</VirtualHost>
-
Guarde los cambios en el archivo y salga de
vi
.
Crea el archivo vhost y reinicia el servicio Apache
-
Cree el archivo vhost dentro de /etc/httpd/vhost.d directorio usando el siguiente comando:
sudo cp /etc/httpd/vhost.d/default.template /etc/httpd/vhost.d/domain.com.conf
-
Abra el dominio.com.conf archivo en
vi
usando el siguiente comando:sudo vi /etc/httpd/vhost.d/domain.com.conf
-
Guarde los cambios en el archivo y salga de
vi
. -
Reinicie Apache ejecutando el siguiente comando:
sudo service httpd restart
Recibe el siguiente mensaje:
Stopping httpd: [OK] Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 0000:0000:0000:0000:0000:0000:0000:0000 for ServerName [OK]
Esta es una advertencia predeterminada que puede ignorar.
Su host virtual ahora está configurado y listo para usar. Debe cargar contenido web en DocumentRoot directorio que ha creado en su servidor para tener contenido servido cuando navega a su nombre de dominio usando un navegador.