Alojamiento compartido en Apache (parte 1: Alojamiento basado en nombre)

  En esta entrada del blog se hablará de otra de las opciones que da el servidor HTTP Apache, el alojamiento compartido.
 El alojamiento compartido ("virtual hosting", en inglés) es un método del servidor para, según sus posibilidades, tener varios dominios y sitios web en un mismo equipo y servidor.
  Para ejemplificar la explicación se utilizará un servidor Apache alojado en Ubuntu Server 16.04, del usuario dependerá deducir o investigar sus variaciones respecto a otros sistemas operativos de servidor (o de cliente, si se da el caso).
  Un alojamiento compartido puede estar basado en:
  •  IP: Cada sitio o dominio tendrá su propia dirección IP (se verá más adelante).
  • Nombre: Existen varias direcciones simbólicas para una misma dirección IP.
 Para comenzar con la creación del alojamiento compartido basado en nombre, como siempre en este tipo de temas, se crearán un par de directorios y de páginas web, mediante el terminal, para poder trabajar sobre estos. Estos directorios se harán en "/var/www/html/", uno se llamará "daw", ya que será la base del dominio "daw.xunta.es", y el otro se llamará "asir" porque su dominio será "asir.xunta.es". Ambos tendrán un alias que será, respectivamente, "daw.xunta.com" y "asir.xunta.com".
  Ya se ha comentado en otras entradas anteriores de esta índole, que el comando para crear el directorio nuevo es sudo mkdir (nombre del directorio). Además, para crear las páginas web se debe utilizar, como administrador, un editor de texto (aquí se usará Nano). La siguiente secuencia de imágenes va mostrando claramente estos pasos.




   Luego, se debe configurar el archivo "hosts" (o el servidor DNS, pero eso es más complejo y no se verá en esta entrada del blog), que está en el directorio "etc", para vincular las direcciones de los sitios (o dominios) y sus alias a la IP del equipo que se está utilizando para el alojamiento compartido basado en nombre. Este paso se logra editando dicho archivo y añadiendo las líneas necesarias (cada una de ellas está formada por la dirección IP y, un poco separado, el nombre del sitio web o dominio a asociar), como se aprecia en la siguiente imagen.
  Tras guardar los cambios en el archivo "hosts", se edita el archivo "ports.conf", que se encuentra en la ruta "/etc/apache2/", y se le añade, al final de todo, la línea "NameVirtualHost *:80" para que los sitios web sean aceptados  en todas las direcciones IP del puerto 80.

  A continuación, deben crearse, mediante un editor de texto, dos archivos en la ruta "/etc/apache2/sites-available/". El nombre de dichos archivos debe ser significativo, en nuestro ejemplo serán "daw.xunta.es.conf" y "asir.xunta.es.conf". Al crear estos ficheros se debe incluir, en primer lugar, la línea "NameVirtualHost *:80", y después se debe incluir un bloque "<VirtualHost>".
  En el bloque "<VirtualHost>" se deben introducir, como mínimo, las siguientes directivas:
  1. ServerName: Determina el sitio web al que sirve.
  2. DocumentRoot: Indica la ruta de los archivos del sitio web (o dominio).
  Otras directivas interesantes son:
  • ServerAlias: Añade uno o varios nombres al sitio web.
  • DirectoryIndex: Indica cuál es la página principal del sitio web.
  Con todo esto presente, los archivos recién creados deben quedar como sigue (excepto las rutas y archivos, que serán los que el usuario quiera emplear).
  Si se pretende que estos archivos sean los que el servidor Apache tenga por defecto, y no el que realmente tiene predeterminado, la mejor opción es copiar el archivo "000-default.conf" dentro de "/etc/apache2/sites-available/" con el nombre de los archivos de los dominios que se quieren configurar (en el ejemplo "daw.xunta.es.conf" y "asir.xunta.es.conf") mediante el comando sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/(nombre del archivo).conf y editar estos archivos como si fueran los recién creados añadiendo tanto la línea como el bloque que se utilizarían para el archivo limpio, en el mismo orden, al final de todo. A continuación puede deshabilitarse el dominio por defecto del servidor Apache mediante el comando sudo a2dissite 000-default.conf (si se está dentro de "/etc/apache2/sites-available", mejor). Si se realiza esta manera de crear los archivos para los dominios, todas las configuraciones relevantes del dominio se harán en estos ficheros, no en "000-default.conf".
  Creados los archivos, de un modo u otro, hay que habilitarlos mediante el comando sudo a2ensite (nombre del archivo).conf y reiniciar el servidor Apache para que se realicen los cambios (comando sudo service apache2 restart, por ejemplo).
   Pueden comprobarse los resultados desde el navegador de red. Simplemente hay que escribir en la barra de direcciones la dirección hacia cualquiera de los sitios web creados o sus alias (en el ejemplo: "http://daw.xunta.es", "http://daw.xunta.com", "http://asir.xunta.es", o "http://asir.xunta.com").

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.