Servidor web muy simple

Muchas veces he necesitado mandar un fichero a alguien, que por su tamaño, no podía mandarlo por correo electrónico. Siempre puedes partir el fichero en trozos más pequeños, pero cuando el receptor del mensaje, todo lo que sabe es usar el navegador web y poco más, esa no es una opción.

Otra opción es el uso de los servicios online de compartición de ficheros, pero normalmente tienes que crear una cuenta, o si no estás registrado tienes que hacer un par de clicks, esperar XX segundos, etc. Podría funcionar, pero tampoco es la mejor opción.

La solución que acababa adoptando era y es, la de tener un servidor web Apache instalado, poner el fichero dentro del directorio de contenido de Apache, arrancar dicho servidor y mandar el enlace del fichero en cuestión por correo electrónico. De esta forma, el destinatario del mismo, sólo tiene que hacer click sobre el enlace y esperar a que se baje el fichero. Esta solución siempre me ha funcionado sin problemas. La cuestión aquí es instalar y configurar el servidor Apache o cualquier otro.

Existe todavía una solución más trivial. Python ofrece un módulo llamado SimpleHTTPServer (http.server en su tercera edición creo), que nos permite en una sola línea de comandos arrancar y tener disponible y servidor web muy simple. La ventaja de éste, es que no tienes que instalar ni configurar ningún servidor, tendrás que instalar Python. Y luego no tienes que mover los ficheros de un sitio a otro. Sólo tienes que situarte en el directorio donde se encuentra el fichero que quieres compartir y ejecutar:

python -m SimpleHTTPServer

Por defecto, este servicio escucha por el puesto 8000. Si quieres cambiar el puerto, sólo tienes que pasarlo como un parámetro:

python -m SimpleHTTPServer 8080

Ahora tu servidor escucharía por el puerto 8080.

Nota: Para que otro persona pueda acceder a tu servidor desde fuera de tu red local, tendrás que configurar NAT en tu router.

¡Mucho cuidado donde ejecutáis ese comando!