<body>

Sitios web relacionados: PingBlog | Fotos

miércoles, julio 12, 2006

¿Como poner un mini servidor web en un CD?

Java

Vero y yo colaboramos en la elaboración del sitio web Bocaproyectos; Este par de arquitectos estaban interesados en poder distribuir un CD el cual tuviera una copia estatica del sitio web la cual pudieran mostrar a sus clientes. Para evitar hacer muchos cambios en el código del sitio web pensamos que lo mejor sería poner un mini servidor en un CD y que de esta manera el sitio tambien estaría disponible a cualquier persona dentro de una red local con acceso al servidor.

¿Que servidor usar? Apache es muy bueno pero también es muy complejo para lo que queriamos hacer, así que después de buscar un poco nos encontramos con un sencillo servidor web que consume pocos recursos, hecho en Java: Pygmy.

Los pasos para crear el servidor web son super sencillos:
  1. Crear un archivo .bat desde el cual llamamos al servidor web
  2. Crear el archivo de configuración del servidor, el cual especificamos cosas como la ubicación de los archivos, tipos mime (como flash, jpg, html)
  3. Probamos el servidor web
  4. Quemar el CD y probarlo
  5. Caerse a palos para celebrar :D
El archivo .bat con el que arrancamos al servidor web (yo lo llamé autoexec.bat):
REM Archivo de procesamiento por lotes para Boca Proyectos
REM
cls
echo off
echo Iniciando el servidor web de Boca Proyectos
echo Visite: http://bocaproyectos.com
java -cp server/pygmy-core.jar:server/pygmy-handlers.jar -jar server/pygmy-core.jar -config server/bocaproyectos.properties
pause
Y el archivo de configuración (no lo pongo completo porque le agregue muchos mime types, pero lo importante está allí):
# Archivo de configuracion para el servidor web de Boca Proyectos
# Visite: http://bocaproyectos.com
# Asesoria tecnica: http://kodegeek.com

http.port=80
handler=root

root.class=pygmy.handlers.FileHandler
root.url-prefix=/
root.root=./
root.default=index.html

# Nivel de detalle de las bitacoras
.level= FINEST
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

# Tipos mime obtenidos desde: http://www.iana.org/assignments/media-types/
mime.uu=application/octet-stream
mime.exe=application/octet-stream
mime.ps=application/postscript
mime.zip=application/zip
mime.sh=application/x-shar
mime.tar=application/x-tar
mime.snd=audio/basic
mime.au=audio/basic
mime.wav=audio/x-wav
mime.gif=image/gif
mime.jpg=image/jpeg
mime.jpeg=image/jpeg
mime.htm=text/html
mime.html=text/html
En menos de 1 hora ya tenia el CD de demostración quemado y funcionando. Por si acaso copié el JRE de Java en una carpeta por si los clientes no tienen Java instalado en sus máquinas.

¿Sencillo no es así?
¿Como lo habria hecho usted?

Buscar en Technorati: ,
Buscar en Blogalaxia: ,

4 Comentarios:

Blogger jcamargo dijo que...

Hola josé, interesante tu solución, hace rato buscaba algo asi, estuve buscando por ahi y encontré este no lo he probado aun pero pinta bien http://www.indigostar.com/microweb.htm

saludos

jc

12:43 AM (enlace permanente)  
Blogger KodeGeek dijo que...

También es gratuito y tienes el código fuente por si lo quieres modificar.

7:39 AM (enlace permanente)  
Blogger Omar dijo que...

y también funciona si necesito php y mysql?

7:53 PM (enlace permanente)  
Blogger KodeGeek dijo que...

Omar,

No funciona con PHP porque el lenguaje es una librería que se monta sobre Apache, no es parte de un servidor Web. Tampoco creo que soporte MySQL ya que de nuevo un servidor web no tiene porqué soportar un manejador de base de datos.

Sin embargo el código es extensible, así que en teoría podría al menos ofrecer acceso a base de datos usando JDBC y scripting en server side usando las nuevas extensiones de Java.

9:44 PM (enlace permanente)  

Publicar un comentario en la entrada

Enlaces a este articulo:

Crear un vínculo

<< Regresar