Apache, PHP y MySQL

Tecnologías de servidor que con mayor frecuencia se utilizan en el desarrollo de páginas web dinámicas.

Si eres de los que piensan que el software libre es sinónimo de ineficiencia y mediocridad o que solo es utilizado por una minoría de “greñudos locos”, entonces quizá debas analizar más detenidamente las tecnologías que dominan internet actualmente, entre ellas un trio de herramientas al cual estaré dedicando este artículo. Se trata de la trilogía que conforman, el lenguaje de programación PHP, el sistema de gestión de bases de datos MySQL y el servidor HTTP Apache, que sin lugar a dudas se han constituido en la más frecuente elección en lo que se refiere a la programación web del lado del servidor, y casualmente todos son de código abierto (Open Source).

He conocido muchos estudiantes de informática, que al comenzar a aprender programación web, imaginan que desarrollar sitios web es simplemente escribir HTML, esto fue así al inicio de la WWW, sin embargo hoy en día con la denominada web 2.0, es muy difícil encontrar paginas estáticas que solo contengan código HTML, por el contrario lo común es que los sitios de internet sean dinámicos y estén formados por diferentes archivos que comprenden diversos lenguajes y tecnologías muy variadas, siendo las más comunes HTML y CSS para la maquetación de la interfaz de usuario (apariencia visual), JavaScript para la programación que se ejecutara del lado del cliente (en el navegador web) y PHP para la programación que se procesa del lado del servidor.

Hagamos un repaso teórico para tener todo bien claro.

Las páginas web son documentos que se encuentran alojados en servidores, es decir computadoras especializadas, que están conectadas a la denominada red de redes con el fin de almacenar información y compartirla con las demás computadoras en la red, estos servidores físicos deben contar con toda una infraestructura que les permita comunicar la información almacenada en ellos a otras computadoras a las que se denomina clientes, las computadoras personales y estaciones de trabajo conectadas a internet con el fin de visualizar el contenido que está alojado en los servidores.


Los servidores físicos (de hardware) requieren entre otras cosas, un software al que se denomina Servidor Web, el cual permite la interpretación de lenguajes de programación y otros servicios de red, mientras que cada cliente debe contar con un Navegador de Internet, el cual es un programa capaz de leer y mostrar las páginas web que mediante protocolos de comunicación como HTTP, le son compartidas desde el servidor. Los lenguajes informáticos y de programación que son procesados por el navegador web, se dice que son ejecutados del lado del cliente, en cambio los que son interpretados por el servidor obviamente son ejecutados del lado del servidor.

PHP

Existen varias alternativas en cuanto a lenguajes de programación que pueden utilizarse para la creación de páginas web dinámicas, por ejemplo Perl, Python, Ruby, Java o los lenguajes de la plataforma .NET (Visual Basic, C#, F#…) por medio del entorno de trabajo ASP .NET, pero el que mayor popularidad ha alcanzado es PHP, debido a sus características propicias para el desarrollo web, como que es un lenguaje de script e interpretado, es multiplataforma y multiparadigma (incluyendo Orientación a Objetos), es software libre y gratuito, ofrece una rápida curva de aprendizaje gracias a su sintaxis similar a la del lenguaje C, puede ser embebido en el código HTML, posee tipado dinámico, es compatible con numerosos gestores de bases de datos y consume pocos recursos de sistema, además es un lenguaje flexible y a la vez potente.

Por todo lo dicho anteriormente, no es extraño que sea soportado en la mayoría de servicios de hospedaje web (hosting), que posea una comunidad de usuarios enorme, lo cual a su vez genera una gran cantidad de bibliotecas, aplicaciones y entornos de trabajo especialmente dirigidos a este lenguaje, que sea empleado en el desarrollo de sitios web tan importantes como Facebook y mucho menos que sea casi que obligatorio su aprendizaje para cualquiera que se disponga a adentrarse en el desarrollo web.

MySQL

Mientras PHP es el lenguaje de programación web más empleado del lado del servidor, MySQL es a su vez, y por amplio margen, el sistema de bases de datos más utilizado en entornos web, pues sus capacidades son ideales para ello. Si bien es cierto que carece de la potencia de otros SGDB como Oracle o SQL Server, ya que puede ocasionar problemas de integridad cuando es expuesto a uso intensivo y modificaciones recurrentes, también es cierto que en la web lo más relevante en la mayoría de los casos es la ligereza del sistema y la rapidez para realizar consultas a los datos almacenados, aspectos en los que este gestor es realmente fuerte.

Por otra parte, es también un sistema de bases de datos relacionales, multiplataforma, multihilo y multiusuario, software libre, gratuito, posee compatibilidad con una gran diversidad de lenguajes de programación y es bastante versátil en cuanto a los resultados que pueden alcanzarse mediante su utilización. Su relación con PHP es muy estrecha, complementándose muy bien el uno al otro, tanto así que existen infinidad de aplicaciones reconocidas que combinan estas tecnologías, entre ellas Joomla!, Drupal, WordPress, Magento, PrestaShop, Moodle, PHP-Nuke, phpWiki, phpMyAdmin, MyWebSQL, Adminer, etcétera.

Apache

La combinación de PHP y MySQL requiere de un servidor web en al cual ejecutarse, es allí donde hace su aparición el servidor HTTP Apache, que al juntarse asociación con los dos elementos antes mencionados, conforman la triada ideal para la creación de aplicaciones web dinámicas mediante software libre. Es el servidor web más utilizado actualmente, gracias a su eficiencia y al hecho de ser multiplataforma y de código abierto.

Servidor Local

Cuando se pone en práctica la programación web, bien sea con el fin de aprender a programar o ya de forma profesoral al realizar un trabajo para algún cliente, es muy común que utilicemos a nuestra propia PC como servidor (físico) de las páginas que vamos a estar creando, ya que de esta manera es más rápido y cómodo trabajar con los archivos, al tenerlos almacenados en nuestro propio equipo, en vez de tener que subirlos a la nube constantemente, cada vez que realicemos una modificación y necesitemos visualizar el resultado.

Por lo tanto es recomendable realizar la instalación de un servidor web (software) de forma local, así como del intérprete de código PHP (si es este el lenguaje que vamos a utilizar) y un gestor de bases de datos, que en este caso es MySQL. Para facilitar la instalación y configuración de estos componente, que por separado sería un poco engorroso para quien no este familiarizado, han surgido paquetes o distribuciones de software, que integran todos estos elementos en una misma instalación y facilitan ampliamente su manipulación y control.

Las más famosas de estas distribuciones son WAMPServer, LAMP, MAMP y XAMPP, las cuales deben sus nombres a la unión de las siglas de los componentes principales que las integran, la primera letra corresponde al sistema operativo en el que se ejecutan estos paquetes, la W corresponde a Windows, la L a Linux, la M a Mac y la X indica que la distribución es multiplataforma, es decir que puede instalarse en varios sistemas operativos diferentes. Las letras A, M y P, hacen referencia a Apache, MySQL y PHP respectivamente, en el caso de XAMPP en el cual se encuentra una segunda P, esta se debe a la incorporación al grupo del lenguaje de programación Perl, aunque actualmente varios de estos paquetes suelen contener además del interprete PHP, también al de Perl y el de Python, sin agregar más letras a sus nombres.

Otras alternativas de este tipo son Appserv, AMPPS, Uniform Server, UwAmp, PWS, EasyPHP, entre otros. Por lo general estas combinaciones de herramientas para el desarrollo web, incorporan otras aplicaciones como por ejemplo phpMyAmin, que es un script para administrar MySQL de forma gráfica o sistemas gestores de contenidos (CMS) como Joomla!, WordPress y Drupal.

Estas herramientas crean un directorio o carpeta en el disco duro de la computadora, en la cual debemos colocar todos los archivos PHP para que puedan ser interpretados por el servidor y accedidos desde el navegador mediante la ruta (URL) http://localhost/ donde por lo general se encuentra una página de información del sistema y si agregamos a esa ruta, los archivos que vayamos creando y colocando en la carpeta del servidor (normalmente llamada www o htdocs), por ejemplo la ruta de la página principal de un sitio web que hayamos almacenado en una carpeta llamada miweb, dentro del directorio raíz del servidor, seria accedida desde el navegador por medio de la dirección web http://localhost/miweb/index.php, si en cambio esa misma página se coloca fuera de la ruta especifica que el servidor establece para ello, entonces no será interpretada y no podrá ser visualizada en el navegador.

Califica este artículo...
[Total: 0 Average: 0]

Autor: Néstor Gómez

Académicamente: Ingeniero de Sistemas y TSU en Informática. Empíricamente: Profesor Universitario, Desarrollador de Software, Webmaster/Blogger, Diseñador Digital, Generalista 3D, Freelancer y Emprendedor Online.