Seguro que todos os habéis planteado montar una Web. Es mucho más sencillo de lo que parece y disponemos de cantidades ingentes de código abierto al que podemos recurrir. Pero conviene organizarnos un poco: por ello vamos a ver qué es lo mínimo que necesitamos para montar una Web.
Como mínimo: un servidor Web
Pensemos en una Web muy sencilla: un conjunto de páginas HTML, con sus recursos estáticos (CSS, JavaScript, imágenes). Es, a nivel tecnológico, lo más sencillo de lo que podemos disponer. Eso, en nuestro ordenador, podemos visualizarlo sin problema.
Claro que, para que otros equipos puedan acceder a ello, necesitamos un servidor Web. Uno de los más utilizados es Apache. Ese servidor, lo que hace, es quedarse escuchando a peticiones de conexión por parte de otros clientes, y servirles con la página que soliciten. Otros deberán utilizar la IP de nuestro ordenador; para acceder a él desde fuera, probablemente necesitemos usar algo como No-IP y hacer forwarding de los puertos.
Está lejos de nuestra intención, al menos para este artículo, contar con detalle cómo configurar un servidor Apache.
PHP y MySQL, ¿para qué?
Vamos a ir algo más allá. Imaginad que queréis instalar WordPress o Joomla, que son gestores de contenido muy utilizados. Estas aplicaciones tienen algunos requisitos adicionales, siendo los cruciales PHP y MySQL.
PHP es un preprocesador: recibe archivos PHP (que pueden ser realmente complejos), los procesa (dado que contienen programación, no meramente contenido) y genera páginas que son enviadas al cliente, habitualmente codificadas en HTML. MySQL, por otro lado, es un gestor de bases de datos. Cada base de datos contiene tablas, formadas por columnas y que contiene tuplas o registros.
Pensad que PHP es quien ejecutará las aplicaciones como Drupal, y que MySQL es quien almacenará la información (configuraciones de las propias aplicaciones, el texto de nuestras páginas, listas de enlaces…).
¿Hay más alternativas?
Por supuesto. Quien dice PHP dice el procesador de páginas ASP, o crear servlets y ejecutarlos en Java, o incluso aplicaciones realizadas en Ruby on Rails, Django (con Python). Podemos sustituir Apache por Nginx también, o incluso por Internet Informacion Services de Microsoft en un servidor Windows.
Es importante saber qué tecnologías necesitan las aplicaciones que vamos a utilizar, y configurar todo en el servidor antes de instalar las aplicaciones: en la documentación se detallan dependencias, versiones y todo lo necesario. Claro que montarlo no es trivial, salvo con algunos paquetes concretos.
Montarlo fácilmente
Vamos a empezar pensando en pequeño: montarnos un servidor en nuestro ordenador para probar las aplicaciones por nuestra cuenta. Lo más sencillo es instalar WAMP Server, MAMP o un entorno LAMP en tu ordenador con Linux.
Es, básicamente, instalar y listo. Esto no es válido para un entorno de producción (pensad que la arquitectura de esta Web que estáis visitando es bastante más compleja que instalar uno de estos scripts y ya está), pero será suficiente para que probéis una aplicación Web, incluso aquellas más complejas, sin necesidad de contratar un servidor externo. También para probar vuestros propios desarrollos.
Imagen | Guilherme Tavares