# Comenzando con Phaser

## Parte 2 - Instalando un servidor web

### Windows

En windows hay un montón de paquetes de "instalación única" disponibles. Son fáciles de instalar y contienen tecnologías web populares como Apache, PHP y MySQL, que te los instalan todos a la vez, a menudo con un icono cómodo en la bandeja de sistema para gestionarlos directamente.

Recomendaríamos WAMP Server o XAMPP. Ambos tienen disponibles guías sencillas de instalación. Concretamente, WAMP instala un icono en tu bandeja de sistema desde el que puedes parar y reiniciar los servicios así como modificar la configuración de Apache, como crear un nuevo acceso directo a la carpeta de un proyecto.

Cesanta proporciona el servidor web Mongoose. Es una aplicación realmente pequeña que no requiere instalación y se ejecuta con un simple fichero EXE. Sin todos los añadidos como SSI y WebDAV (no necesitas ninguno para un juego HTML5) el EXE pesa solamente 45KB. Incluso la versión completa son solamente 355KB.

En lugar de un paquete 'todo en uno' también podrías bajarte solamente un servidor web. Tanto Microsoft IIS como Apache pueden ser descargados gratuitamente de sus respectivas webs.

Nota: A Skype le gusta robar el puerto 80 por defecto. Este es tradicionalmente el puerto sobre el que funciona un servidor web y puede interferir en el funcionamiento de WAMP o similar. Para deshabilitarlo en Skype ve a "Herramientas - Opciones - Avanzadas - Conexión" y desmarca la opción "Usar puerto 80 y 443 como alternativas para las conexiones entrantes".

### OS X

Teniendo en su interior un entorno Unix hay más opciones disponibles para OS X. Pero si quieres una solución "todo en uno" como WAMP para Windows, con una interfaz limpia y fácil de usar entonces te recomendamos fervientemente MAMP. Hay dos versiones: una gratuita y otra de pago.

Naturalmente también hay guías para configurar un servidor web local manualmente, como esta guía para Mountain Lion. Escoge la alternativa con la que te sientas más a gusto.

### Grunt Connect

Grunt es una herramienta extremadamente potente para tener instalada, independientemente de si la usas como un servidor web o no. En su esencia es un programa que ejecuta tareas JavaScript y te permite automatizar tareas repetitivas y latosas. Lo usamos en Phaser para construir nuestros scripts de distribución, por ejemplo. Pero con Connect puede ser configurado también para servir ficheros locales, actuando como un servidor web, y aquí hay una guía para hacerlo.

### Servidor HTTP simple con Python

Si necesitas tener un servidor web corriendo rapidamente y no quieres liarte configurando Apache o bajando una aplicación, entonces Python puede ayudarte. Python viene con un servidor HTTP integrado. Con la ayuda de este pequeño servidor HTTP puedes convertir cualquier directorio de tu ordenador en el directorio de tu servidor web. Por supuesto, necesitas tener instalado Python. Lee la guía completa aquí

### http-server para node.js

http-server es un servidor en la línea de comandos simple, sin configuración, para node.js. Es suficientemente potente para su uso en producción, pero es suficientemente simple y hackeable para ser usado en tests, desarrollo local, y para aprender. O como su web dice: "Sirviendo ficheros estáticos como si fueran tortugas atadas en cohetes". Coge el npm y las instrucciones de la página de http-server.

### Servidor web embebido en PHP 5

Desde la versión 5.4.0 de PHP, el CLI SAPI incorpora un servidor web. Realmente solo es adecuado para desarrollo y sirve todos los ficheros secuencialmente, pero es suficientemente potente para testear juegos HTML5. Se invoca con un simple comando, y puedes encontrar detalles de cómo hacerlo en el manual de PHP.

Mejor que ejecutar un servidor web local tambien podrías montar tu juego HTML5 completamente en la nube. Exploramos algunas opciones en la Parte 3.

Parte 3: Ejecutando en la nube

- Parte 1: Introducción
- Parte 2: Instalando un nuevo servidor web
- Parte 3: Ejecutando en la nube
- Parte 4: Escogiendo un editor
- Parte 5: Descargando Phaser
- Parte 6: Hola Mundo!
- Parte 7: Los ejemplos de Phaser
- Parte 8: Siguientes pasos