Uno de los primeros pasos que nuestros alumnos deben dar al comenzar el curso de PHP es instalarse un servidor web, un servidor de bases de datos y el intérprete del propio lenguaje PHP. Para facilitar esta tarea existen algunos paquetes que instalan y configuran todo de forma sencilla, como WAMP (para Windows), LAMP (para Linux) o XAMPP (que es el que usamos en nuestro curso, y que funciona en varias plataformas). En este post os vamos a hablar sobre todo de este último.
Introducción
La instalación de un servidor web no suele ser fácil y se complica aún más si se desea agregar un servidor de bases de datos y algún lenguaje de programación orientado al desarrollo web.
Uno de los servidores web más utilizado es el Apache, desarrollado y mantenido por una comunidad abierta de desarrolladores.
Por otro lado, MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario. PHP y MySQL son componentes esenciales de muchos sistemas de gestión de contenidos como Expression Engine, Drupal, e107, Joomla!, WordPress. MySQL funciona en una gran variedad de plataformas como Linux, Mac OS X, Solaris, Symbian, SunOS, Windows, etc.
En cuanto a los lenguajes de programación, Perl es un lenguaje muy utilizado en desarrollo web. Se trata de un lenguaje de programación que toma características de C, del lenguaje interpretado shell, AWK, sed, Lisp y otros lenguajes de programación.
Respecto a PHP, se trata de un lenguaje de programación interpretado, diseñado especialmente para desarrollo web y que puede ser embebido dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta.
Presentación de XAMPP
XAMPP es una forma fácil de instalar el servidor web Apache, MySQL, PHP y Perl.
Según se nos explica en la Wikipedia (http://es.wikipedia.org/wiki/XAMPP), XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.
XAMPP se actualiza regularmente para incorporar las últimas versiones de Apache/MySQL/PHP y Perl. También incluye otros módulos como OpenSSL y phpMyAdmin. Para instalar XAMPP sólo necesitamos descargar y descomprimir un archivo zip, tar, o ejecutar un exe. Todo lo necesario se encuentra en la web http://www.apachefriends.org/es/xampp
Descarga
La última versión disponible de XAMPP para Windows (compatible con 98, 2000, XP, Vista y 7), se puede conseguir aquí
Esta versión incluye:
- Apache 2.2.17
- MySQL 5.5.8
- PHP 5.3.5
- phpMyAdmin 3.3.9
- FileZilla FTP Server 0.9.37
- Tomcat 7.0.3
Existen varios métodos de instalación de entre los cuales vamos a escoger utilizar el instalador por ser el más sencillo. Descargar la versión más actualizada del instalador.
Instalando XAMPP
Una obtenido el instalador, lo ejecutamos y se encargará de todo. En primer lugar nos pregunta dónde instalar XAMPP:

Conviene que pulsemos Siguiente (Next) en las diferentes ventanas que nos mostrará el instalador a lo largo del proceso. La instalación por defecto funciona perfectamente.
Arranque de los servicios de XAMPP
La forma más sencilla de lanzar XAMPP es mediante el panel de control de XAMPP que se instala junto con el resto del software. Al final de la instalación nos aparecerá un enlace directo en el escritorio (y en el menú de inicio).

El panel de control nos permite lanzar los diversos servicios (Apache y MySQL son los que nos interesan):

A continuación se muestra el estado de la aplicación tras arrancar Apache, pulsando en el botón “start” correpondiente a dicho servicio:

Las cajas de verificación con el nombre “Svc” delante de cada una de las aplicaciones permite arrancarlas como servicios. De esta forma se arrancarán automáticamente al iniciar windows sin tener que recurrir al panel de control tras cada reinicio de la máquina. Esto es algo muy cómodo para su uso en servidores, sin embargo, para el uso que necesitamos nosotros, no lo configuraremos de esta forma.
Probando la instalación de nuestro servidor web
La mejor manera de probar XAMPP es conectarse al servidor que acabamos de montar. Para eso, lanzamos un navegador (Firefox, Safari, Internet Explorer, Opera, etc.) y conectamos con http://localhost
En algunos casos, es posible que nuestra máquina no nos conecte bien con http://localhost y en ese caso, daremos la dirección IP directamente (es equivalente) http://127.0.0.1
Tras conectarnos, podremos ver la página de bienvenida de XAMPP:

Para probar la funcionalidad de XAMPP podemos utilizar las demostraciones a las que se puede acceder a través de la página de bienvenida.
Seguridad
XAMPP no es un producto para utilizarse en entornos de producción sino por desarrolladores en un entorno de desarrollo. Por esta razón, la configuración por defecto tiene como objetivo la facilidad de instalación y uso.
Como contrapartida, XAMPP presenta algunas carencias de seguridad, como que la cuenta de administrador de MySQL no tiene clave, o que phpMyAdmin es accesible desde la red. Así pues, antes de usar XAMPP para publicar en la red, es necesario reforzar la seguridad de los servidores (Apache y MySQL). Para esto, conviene seguir las indicaciones dadas en http://www.apachefriends.org/en/xampp-windows#1221
