5.3. Configuración HTTP¶
Los servidores web son los encargados de servir a los navegadores los contenidos solicitados. Actualmente 3 son los principales servidores web que tienen un uso más extendido:
Apache: Servidor Open Source disponible en sistemas Unix, Microsoft y Apple
NGINX: Software libre y de código abierto, para Linux, FreeBSD y Windows, pensado para mejorar el rendimiento de apache.
Internet Information Services(IIS): Propiedad de Microsoft, únicamente para sistemas Windows.
Puedes encontrar una comparativa muy interesante entre la utilización de los distintos servidores y otras tecnologías relacionadas en la web de W3Techs.
En cualquiera de los servidores que utilicemos debemos prestar especial atención a los siguientes elementos o propiedades:
Instalación y configuración del servicio sobre el SO e Infraestructura(MV, contenedor, cloud…) correspondiente.
- Directorio/s donde se ubicarán el/los sitio/s web que administremos.
Permisos adecuados (chown/chmod) → $¡¡¡¡¡¡¡¡sudo chmod -R 777!!!!)
Propietario adecuado: ¿Bajo que cuenta de usuario se ejecutan los procesos de los servidores web?. HTTPD/WWW-DATA…
Espacio disponible
Seguridad (Backups, redundancia, …)
- Instalación módulos necesarios:
Lenguajes del lado servidor( PHP, ASP..)
Conectores con SGBD(Oracle,Dbase,MySql..)
Autenticación
Control de acceso
etc…
Configuración para conexiones seguras(encriptadas) mediante HTTPS.
- Varios sitios en un mismo servidor (VIRTUAL HOST).
IP
Nombre → Configuración DNS
Puerto
- Acceso remoto a la gestión de los archivos en el servidor
FTP
WebDAV.
Registro de sucesos en el servidor (LOG)
En el espacio virtual del módulo puedes encontrar en el área de recursos de la unidad un manual de configuración de distintos servidores web
Importante
Algunas configuraciones importantes a realizar en un servidor web pueden ser:
Instala el servicio en una MV Ubuntu Server. Comprueba su acceso con los distintos modos de funcionamiento de la red en VirtualBox.
Lista/Gestionar los módulos instalados en apache. Instala alguno más. Estos pueden ser necesarios para el correcto funcionamiento de aplicaciones web, incluyendo lenguajes de programación o acceso a BBDD.
Configurar tu servidor para que sirva los varios sitios web utilizando Virtual Hosts.
Permite el indizado de directorio en algún caso concreto.
Activa el acceso con identificación.
Limitar el acceso a determinados recursos por IP.
5.3.1. Apache¶
Seguramente se trata del servidor web más conocido. Una de sus ventajas es la calidad de su documentación oficial, en la cual podemos encontrar información muy completa y tutoriales de creación de determinados escenarios.
Disponible para Linux, Windows, MAC.
¿Instalación de un panel para facilitar administración? → p.e Webmin
Comprobamos los módulos instalados/activos.
- Configurar opciones de Apache
Opciones por directorio.
Directivas
.htaccess
Permisos de acceso.
Espacios de usuario
Indizado de directorios para ver su contenido como una carpeta.
Hosting virtuales.
5.3.2. NginX¶
NGINX, pronunciado en inglés como «engine-ex», es un famoso software de servidor web de código abierto 1. En su versión inicial, funcionaba en servidores web HTTP. Sin embargo, hoy en día también sirve como proxy inverso, balanceador de carga HTTP y proxy de correo electrónico para IMAP, POP3 y SMTP.
La aparición de este servidor fue provocada por la búsqueda de un servicio web que mejorara las prestaciones de Apache en páginas con una alta tasa de accesibilidad (en el orden de miles de conexiones simultáneas). En realidad la configuración de un servidor y otro guardan ciertas semejanzas.
Un ejemplo de fichero de configuración lo puedes ver en el siguiente enlace.
Al igual que en el caso de Apache, puedes encontrar muchísima ayuda en la web2. Puedes encontrar, por ejemplo:
- Listado de tutoriales en https://techexpert.tips/es/category/nginx-es/.
- acceder a este conjunto de videotutoriales en el que explican paso a paso como configurar un servidor NGINX.
-
Fuente: ¿Qué es NGINX y cómo funciona? ↩
-
Documentación oficial: https://nginx.org/en/docs/ ↩