LinuxParty

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 

El hospedaje virtual se refiere a la técnica que permite que un servidor físico alojar más de un dominio del sitio web (por ejemplo, site1.com, site2.com). El hospedaje virtual es frecuente en entornos de alojamiento web compartido, donde típicamente cientos de sitios web o blogs se instalan en un único servidor dedicado a amortizar el coste de mantenimiento del servidor.

Usted no es una empresa de alojamiento web, Sin duda, pero el alojamiento virtual todavía le puede ser útil. Por ejemplo, puede colocar varias páginas web de los suyos en un único VPS, ahorrando en el costo del VPS. Para servir varios dominios en un VPS, sólo tiene que configurar tantos virtual host en su servidor web como le sean necesarios, y señalar los dominios a la dirección IP estática de su VPS.

Debido a su utilidad, el alojamiento virtual es soportado por todo el software de servidor web moderna, como Apache, Nginx, Lighttpd, IIS. En este tutorial, voy a demostrar cómo crear y habilitar máquinas virtuales en el servidor HTTP Apache bajo entorno Linux. Hay una ligera diferencia en la configuración entre sistemas basados ​​en Debian y basados ​​en Red Hat. Voy a destacar la diferencia en el camino.

Antes de empezar, supongo que el servidor Apache ya está instalado en el servidor Linux. Si no es así, consulte nuestros tutoriales para Debian o Red Hat, e instalar el servidor Apache antes de continuar.

A modo de ejercicio, vamos a crear un servidor virtual para el dominio "abc.com" en el servidor web Apache.

Paso uno: Crear Directorio raíz de documentos para el dominio abc.com

Para comenzar, cree un directorio que contendrá las páginas web para abc.com. Este directorio es conocido como "raíz del documento" para el dominio. Siguiendo la práctica común, vamos a organizar todos los directorios "raíz de documentos" en /var/www, y el nombre de ellos después de los dominios correspondientes. También, crear un directorio de registro (logs) dedicado para abc.com en /var/log.

$ sudo mkdir /var/www/abc.com
$ sudo mkdir /var/log/apache2/abc.com (Debian, Ubuntu, Mint)
$ sudo mkdir /var/log/httpd/abc.com (Fedora, CentOS, RHEL) 

Crear una página web de prueba para el dominio:

$ sudo vi /var/www/abc.com/index.html 

<html>
  <head>
    <title>Welcome to Abc.com</title>
  </head>
  <body>
    <h1>Sample page</h1>
    This page is powered by Apache Virtual Host!
  </body>
</html>

Cambia la propiedad de directorio de raíz del documento para el usuario que se ejecuta como servidor web Apache.

En Debian, Ubuntu o Linux:

$ sudo chown -R www-data:www-data /var/www/abc.com

En Fedora, CentOS o RHEL:

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

Paso dos: Crear un archivo de Host Virtual

El siguiente paso es crear un archivo de configuración de host virtual de abc.com. El nombre de cada archivo de configuración debe terminar con. conf. La ubicación más común para configuraciones de host virtual es el siguiente.

    • Debian, Ubuntu o Linux Mint: /etc/apache2/sites-available /
    • Fedora, CentOS o RHEL: /etc/httpd/conf.d
      • Vamos a crear un archivo de host virtual de abc.com.

En Debian, Ubuntu o Linux Mint:

$ sudo vi /etc/apache2/sites-available/abc.com.conf

En Fedora, CentOS o RHEL:

$ sudo vi /etc/httpd/conf.d/abc.com.conf

Aquí es lo que parece un ejemplo de archivo de host virtual.

En Debian, Ubuntu o Linux Mint:

<VirtualHost *:80>
    ServerName abc.com
    ServerAlias www.abc.com
    ServerAdmin Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
    DocumentRoot /var/www/abc.com
    CustomLog /var/log/apache2/abc.com/access.log common
    ErrorLog /var/log/apache2/abc.com/error.log
</VirtualHost>

En Fedora, CentOS o RHEL:

<VirtualHost *:80>
    ServerName abc.com
    ServerAlias www.abc.com
    ServerAdmin Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
    DocumentRoot /var/www/abc.com
    CustomLog /var/log/httpd/abc.com/access.log common
    ErrorLog /var/log/httpd/abc.com/error.log
</VirtualHost>

Lo más importante, el campo de DocumentRoot debe apuntar al directorio de raíz de documento correcto que creamos anteriormente. También, nombre de dominio debe especificarse con la directiva ServerName . Opcionalmente, puede especificar un nombre alternativo con el ServerAlias. Usando directivas CustomLog y registro de errores , puede crear registros de error de acceso designado para este dominio.

Si desea asignar una dirección IP distinta (por ejemplo, 172.20.30.41) el dominio, puede reemplazar < VirtualHost *: 80 > con < VirtualHost 172.20.30.41:80 >. Dependiendo de su caso, se puede personalizar el archivo de configuración con otras directivas en el servidor Apache.

Basada en debian sólo para sistemas (Debian, Ubuntu o Mint): Después de crear una configuración de host virtual, debe habilitarlo explícitamente.

$ sudo a2ensite abc.com.conf

Tercer paso: Recargar el servidor HTTP Apache

Una vez que se crea una nueva configuración del host virtual, se recomienda verificar la configuración de sintaxis. El siguiente comando detectará cualquier error de sintaxis en su configuración.

$ apache2ctl -t

En Fedora, CentOS o RHEL:

$ httpd -t

Si no hay ningún error de sintaxis en la configuración, verá "Sintaxis OK" de la salida.

[root@localhost ~]# cd /etc/httpd/
[root@localhost httpd]# apachectl -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK
[root@localhost httpd]# 

Después se realiza la verificación de sintaxis, no olvides recargar el servidor Apache, para que la nueva configuración surta efecto:

En Debian, Ubuntu o Linux Mint:

$ sudo service apache2 reload

En Fedora, CentOS o RHEL:

$ sudo systemctl reload httpd.service

Paso 4: Ajuste el Firewall

Este es un paso opcional es necesario en caso de que se está ejecutando un firewall con políticas DROP por defecto en tu servidor (por ejemplo, Red Hat basado en sistemas). Con firewall ya está en marcha, usted necesita abrir el puerto HTTP utilizado por el host virtual.

Si usted está usando iptables:

$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save

Si está utilizando FirewallD:

$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --reload

Paso 5: Configurar DNS para Virtual Host

Por último, usted necesita indicar la dirección IP del servidor web abc.com . Esto puede hacerse mediante la adición de un registro DNS correspondiente (también conocido como "registro") para el servidor DNS de la entidad que distribuye la dirección IP. El paso real varía según el que distribuye la dirección IP. Si usted obtiene una dirección IP de una empresa VPS, la compañía debe proporcionar una manera para registrar "Un récord" para el dominio que asignando a su VPS. Por ejemplo, Océano Digital ofrece la siguiente interfaz:

Si simplemente desea probar un nuevo host virtual sin crear un registro DNS para abc.com, una forma fácil es Agregar asignación de dominio a IP en/etc/hosts.

Es decir, en un equipo cliente que desee acceder al sitio web de abc.com , abra/etc/hosts y añadir la siguiente línea.

abc.com

Este esencialmente trucos el equipo cliente a pensar abc.com existe y que se asigna a

<dirección ip-apache>, sin tener que configurar un registro DNS público de abc.com.

Ahora en el equipo cliente, abra una ventana del explorador web y vaya a http://abc.com. Si todo funciona, esto va directo a la página de prueba para abc.com creamos.

Conclusión

En este tutorial, les mostré el procedimiento paso a paso para crear y activar un host virtual en Apache HTTP server. Fácilmente se puede repetir el proceso para tantos dominios como quieras en el mismo servidor. Como se puede ver, hosting virtual es una característica atractiva, que le da la posibilidad de alojar múltiples dominios, mientras que personalizar completamente la configuración de cada dominio en un servidor web solo.

Si estás en una situación donde usted necesita con frecuencia agregar o quitar hosts virtuales en el servidor de web VPS, considere el uso de uno de esos hosting control paneles (por ejemplo, Ajenti), que le permite hacer provisioning y administrar hosts virtuales en una interfaz optimizada.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política