Un servidor web es un programa que implementa el protocolo HTTP (Hyper Text Transfer Protocol), este protocolo está diseñado para transferir páginas HTML.

Los servidores web se están ejecutando continuamente en el ordenador y atienden las peticiones que hacen los clientes desde los navegadores.

Análisis de requerimientos

A la hora de instalar un servidor web y todos los elementos relacionados, hay que tener en cuenta la siguiente información:

  • Del equipo servidor: procesador, memoria, almacenamiento, tolerancia a fallos…
  • Del sistema operativo anfitrión: sistema de ficheros…
  • Del propio servidor de aplicaciones: tiempos de respuesta, conexiones concurrentes…
  • Del sistema gestor de bases de datos: accesos concurrentes
  • De las conexiones de red; internet, intranet, medios físicos…

Servidor Web: instalación y configuración

En Linux que es un sistema operativo libre el servidor web más utilizado es Apache, es un programa de código abierto y normalmente viene instalado por defecto en cualquier distribución de Linux.

En Windows que es un sistema operativo propietario el servidor web más utilizado es IIS (Internet Information Services), IIS viene integrado en las versiones de Windows Server.

Los elementos que afectan a la configuración de un servidor son el arranque y parada del servidor, los ficheros de configuración, las carpetas donde se almacenan los ficheros a los que van a tener acceso los usuarios cuando teclean una dirección en el navegador. Estos son los principales elementos que tenemos que tener en cuenta a la hora de configurar los servidores.

La configuración de arranque sirve para poner en funcionamiento el servidor y la parada sirve para detener el servidor. El fichero de configuración básica en Apache es el apache2.conf y es el que tiene la configuración principal de Apache. En IIS la configuración básica se realiza por medio de un interfaz gráfico desde el que podemos gestionar todos los servicios del IIS.

Sistema gestor de base de datos: instalación y configuración

Los sistemas gestores de bases de datos son programas informáticos que sirven para manejar base de datos, existen sistemas gestores libres y no libres.

Uno de los sistemas más utilizado en aplicaciones web es MySQL, se distribuye bajo dos licencias. Los usuarios pueden elegir entre usar el software MySQL como un producto Open Source bajo los términos de la licencia GNU General Public License. Se puede instalar en plataformas Linux, Windows, Mac OS, Solaris, etc., es compatible con servidores web como Apache, IIS, etc.

A la hora de instalar MySQL hay que tener en cuenta:

  • Plataforma donde se desea hacer la instalación está soportada, es decir el sistema operativo (Linux, Windows, Mac OS, etc.).
  • Distribución que se instalará. Hay varias versiones de MySQL disponibles y en varios formatos. (programas binarios o código fuente).
  • Descargar la distribución que se desea instalar.
  • Instalar la distribución
  • Realizar ajustes (hacer cuentas de usuario, asegurar MySQL, etc.).

Los programas MySQL pueden leer opciones de inicio desde ficheros de opciones (también llamados a veces ficheros de configuración). Los ficheros de opciones proporcionan una forma conveniente de especificar opciones comúnmente usadas sin que sea necesario ingresarlas en la línea de comandos cada vez que se ejecuta el programa.

Todas las instalaciones de MySQL cuentan con un fichero de configuración, en Linux se llama my.cnf y en Windows my.ini.

Procesamiento de código: lenguajes de «script» en cliente y servidor

Lenguajes de scripts de cliente

Los lenguaje de script son lenguajes de programación que sirven para crear programas que realizan acciones dentro de una página web como por ejemplo cambiar dinámicamente el contenido de un documento, modificar el comportamiento normal del navegador, validar formularios, realizar pequeños trucos visuales, etc.

Los scripts se ejecutan en el navegador del cliente al cargar la página o cuando sucede algo especial como puede ser pulsar sobre un enlace, conviene recordar que los scripts no se ejecutan en la máquina donde están alojadas, por lo que no podrán realizar algunas operaciones como manejar bases de datos en el servidor.

Lenguajes de scripts de servidor

Los primeros servidores web permitían trabajar con información estática, es decir, la información permanecía invariable hasta que volvíamos hacer una petición al servidor. La primera solución técnica que se realizó fue utilizar aplicaciones que estaban instaladas en el propio servidor, esta tecnología, conocida como Common Gateway Interface (CGI) permitía lanzar programas escritos en C o Perl para refrescar la información y que fuera un poco más dinámica.

El siguiente paso fue la creación de lenguajes en el lado del servidor como PHP (PHP Hypertext Pre-processor) de Software libre, ASP (Active Server Pages) de Microsoft, JSP (JavaServer Pages) de JAVA, estos lenguajes se utilizan para generar páginas dinámicas, facilitando el acceso a las bases de datos. Para poder ejecutar programas en PHP, ASP o JSP es necesario descargarse aplicaciones que permiten ejecutar las extensiones de dichos lenguajes.

Si nuestro servidor soporta ejecución en PHP bastará con escribir el código en un editor de textos, guardarlo con la extensión .php en la carpeta del servidor donde podemos ejecutar PHP y accedemos al fichero escribiendo la dirección de la página en el explorador.

Módulos y componentes necesarios

En los servidores web podemos configurar cualquier módulo que necesitemos, en general, sólo tenemos que seguir las instrucciones que nos da el desarrollador del módulo sobre cómo instalarlo.

En Windows para instalar un módulo, nos lo descargamos y lo instalamos siguiendo los pasos. Para configurar un módulo en IIS se accede al administrador del IIS, dentro del “Web Site” en el que queremos configurar un módulo accedemos a “Handler Mappings” y finalizamos la configuración del módulo.

La instalación de módulo en Linux se hace como cualquier otra aplicación, descargar el fichero y lo instalamos, puede darse el caso que el nuevo módulo no se añada a la configuración de Apache, entonces hay que añadirlo manualmente.

Utilidades de prueba e instalación integrada

Los servidores web, los gestores de bases de datos, los módulos complementarios, normalmente dan problemas a la hora de instalarlos y se pierde mucho tiempo en arreglar los fallos que dan las instalaciones, para facilitar la vida a los usuarios se han creado herramientas de instalación integrada que reúnen un conjunto de aplicaciones y se instalan sin problemas.

Veamos algunas aplicaciones de instalación integrada:

  • Bitnami es un proyecto código abierto que desarrolla paquetes de software para aplicaciones web, aparte de instalar Apache, PHP, MySQL también instalan aplicaciones como sistema de gestión de contenidos, foros, wikis, etc.
  • XAMPP es un paquete de software libre, que consiste principalmente en el sistema de gestión de bases de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script PHP y Perl. El nombre es en realidad un acrónimo: X, Apache, MariaDB/MySQL, PHP, Perl.