Publicar VirtualHost en Apache en Centos 7 / RHEL 7

Es habitual que en fases de formación o test sencillos se utilice la ruta de publicación por defecto en los servidores web, pero en entornos más profesionales o entornos con varias publicaciones web en un mismo servidor no es viable/mantenible/aconsejable.

Por lo tanto hay que publicar dichos sitios de forma independiente, es lo que en Apache se denomina «VirtualHosts».

Estos virtualhosts utilizarán la url a la que el usuario quiere acceder para discriminar qué servicio web debe servir.

En esta entrada vamos a publicar un sitio llamado newsite  con las siguientes premisas:

  • url: newsite.example.com
  • ubicación de la web: /usr/share/newsite

Abre un terminal en el servidor como root para realizar los ejercicios.

Preparamos la aplicación web

Como indicamos al principio, vamos a publicar un ejemplo, por lo tanto, en esta sección podrías preparar la aplicación web que quieres publicar en vez de nuestro ejemplo.

Creamos la ubicación de nuestra página web.


mkdir /usr/share/newsite

Subimos nuestro código. Puedes utilizar el editor de textos que más te guste, nosotros utilizamos normalmente «vi«.


vi /usr/share/newsite/index.html

Y pegamos nuestro código de ejemplo:


<HTML>
<HEAD>
<TITLE>hola mundo</TITLE>
</HEAD>
<BODY>
Hola Mundo
</BODY>
</HTML>

Por último nos aseguramos que Apache pueda acceder a nuestra aplicación.


chown apache.apache -R /usr/share/newsite/

Creación del VirtualHost en Apache

Creamos un nuevo archivo «newsite.conf» en la ruta «/etc/httpd/conf.d/«.


vi /etc/httpd/conf.d/newsite.conf

Y copiamos el siguiente contenido:


<VirtualHost *:80>
  ServerName newsite.example.com
  DocumentRoot /usr/share/newsite
  <Directory /usr/share/newsite>
   Options FollowSymLinks
   AllowOverride all
   Order Deny,Allow
  </Directory>
</VirtualHost>

Para permitir rutas válidas para publicar dentro del servidor, hemos de autorizarlas en «httpd.conf», por lo tanto editamos dicho archivo.


vi /etc/httpd/conf/httpd.conf

Y añadimos para autorizar publicaciones que cuelguen de «/usr/share«:


<Directory /usr/share>
 AllowOverride None
 Require all granted
</Directory>

Activamos nuestro nuevo sitio

Para ello reiniciamos nuestro servidor httpd.


systemctl restart httpd

Desactivar un sitio

Si queremos desactivar el sitio, renombramos el archivo de configuración y reiniciamos apache.


mv /etc/httpd/conf.d/newsite.conf /etc/httpd/conf.d/newsite.conf.disabled
systemctl restart httpd

Prueba tu sitio recién creado

Si quieres probar tu publicación de ejemplo, puedes modificar el archivo hosts de tu ordenador cliente para indicar la ip del servidor web.

Para ello, si estás en un cliente linux, edita /etc/hosts y añade una nueva linea indicando la IP del servidor, seguido de la url que has configurado, en el caso de esta entrada newsite.example.com.

Si estás en una máquina Windows, incluye la misma configuración de ip y nombre de servidor.

De esta manera abre un navegador web y newsite.example.com te llevará a la publicación que acabas de hacer.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *