PROGRAMANDO Argentina

Notas y artículos - Sugiera un sitio

  Inicio > Notas y artículos > Servidores de internet para Windows gratuitos y con código fuente
 
Servidores de internet para Windows gratuitos y con código fuente

La moda del software gratuito no es nueva. Ni tampoco comenzó con Linux. Pero a éste le debemos que, además de gratuitos, incluyan su código fuente. El 99% del software para Linux es gratuito (como el propio Linux) y viene con su código fuente (...como el propio Linux).
Pero en Windows no es fácil encontrar los fuentes de los programas. Normalmente hay registrarse (pagar $$$) para que se lo manden
Así que di una vuelta por Internet y acá les traigo el resultado : servidores de los protocolos más comunes (HTTP -web- y POP3/SMTP -email-) con código fuente incluído.
Claro que no esperen montar un superservidor con estos programitas (aunque no tienen tanta diferencia con un servidor comercial). Son, más que nada, para poder aprender de su código.
Igualmente les muestro cómo funcionan y, de paso, les recomiendo qué es lo que pueden ver en sus fuentes de interesante.

ServerSeven
Mi favorito de entre los analizados. Quizás porque está programado en mi lenguaje favorito. Quizás por su interfase y fácil configuración. Quizás porque es excelente.
Su pantalla principal es totalmente limpia, con un área de menú, un área dedicada a unas opciones y, finalmente, otro área dedicada a LOG (o sea, qué es lo que va pasando en el servidor a medida que pasa el tiempo y recibe pedidos). Estos archivos son muy importantes para luego analizar el funcionamiento de los servidores en la práctica y solucionar problemas, por lo que es muy recomendable que el servidor a usar cuente con alguna opción que permita llevar LOGs.
La configuración (directorio de los documentos HTML y demás) es muy fácil, con una pantalla aparte de la principal y muy intuitiva. Podemos, incluso, configurar un pié de página que saldrá adicionado en cada página que recuperen desde nuestro servidor.
En el LOG del servidor queda registrada, incluso, la velocidad a la que se produjeron las transferencias de archivos (la cual, si uno está corriendo servidor y cliente en la misma máquina, va a ser alta).

Abyss
Un servidor web escrito en C, sin interfase gráfica. Se configura con un archivo (abyss.conf), al estilo del archivo de configuración del servidor web de Linux. Y no es para menos. Al estar escrito en C, puede ser compilado tanto en Win32 (95+) como en Linux. Según dice la documentación, intenta ser "HTTP/1.1 compliant", o sea que intenta cumplir con las especificaciones de las RFCs sobre HTTP/1.1. Funciona bien...cuando uno ha logrado configurarlo.

Simple Server
Un servidor HTTP escrito en Java. Como aplicación Java que es, tarda unos segunditos en arrancar (no se asusten) y requiere que uno tenga el Java Development Kit o el soporte Java del Internet Explorer. No es muy atractiva su pantalla, pero es práctica (con 3 botones activamos, desactivamos y configuramos el servidor). Es batante rápido y pequeñísimo (apenas menos de 25 Kb).

DixieMail
A pesar de que su nombre haga pensar de que es un servidor de email, su pantalla inicial nos demuestra que no es tan así.
Este superservidor (en el sentido de que maneja varios protocolos y luego los manda a cada manejador especializado) escrito en Java, es capaz de manejar HTTP, POP3 y SMTP.
Se configura a través de la web. Uno ingresa 127.0.0.1 o locahost en el navegador y le aparece la pantalla principal desde donde puede revisar el correo, crear nuevas cuentas y configurar el servidor (estas 2 últimas opciones sólo si somos root -el superusuario o administrador del sistema-).
Jugando, podemos crear en unos segundos un sistema de email propio. Creamos unas casillas y luego enviamos mails. Y funciona. Desde la pantalla de cada cuenta de email vemos que el correo llega.
Pero esto no termina aquí. Como dije, maneja POP3 (correo entrante) y SMTP (correo saliente). Así, entonces, podemos revisar las cuentas que hemos creado ¡con nuestro manejador de correo favorito -Messenger, Outlook, etc.-). Simplemente le decimos que la dirección de ambos servidores (POP y SMTP) es 127.0.0.1 y le damos los datos de cuenta y clave.
Sencillamente una maravilla Java no muy documentada a nivel de código fuente pero muy bien tabulada, lo que vuelve fácil la lectura del código Java.
Como si todo esto fuera poco, cabe en 276Kb.

Java Email Server
No es casualidad que la mayoría de los servidores que encontremos y tenga código fuente abierto sean Java. Los programadores de este lenguaje son bastante adeptos a "regalar" los fuentes. Java Email Server no es la excepción (sino, no estaría en esta nota, pues es solamente para los servidores con código abierto).
Maneja los protocolos POP y SMTP (lógicamente) y no tiene nada innovador. Su manejo no es sencillo y resulta molesto que deje la ventana de DOS abierta mostrando los mensajes de error y operaciones (que son ilegibles para el que no tenga alguna idea de Java).
Quizás puedan tener problemas al querer correr el batch MailServer.bat. Éste llama al JRE (Java Runtime Enviroment) -jre.exe- para cargar el servidor. Si no tienen el JRE (o no quieren andar buscando el jre.exe), cambien jre.exe por jview.exe. Problema solucionado.

El grande que quedó afuera
No se puede negar la superioridad de Apache como servidor. Además, es gratuito y trae los fuentes. Puede ser extendido con módulos y hace, realmente, de todo. Pero esta nota no tenía como objetivo comentar grandes servidores, sino esos pequeños programitas de los que uno puede realmente aprender algo (¿o piensan que viendo el código fuente de Apache sin tener alguna idea anterior van a entender algo?). Empecemos por lo pequeño.
Estos programas aquí comentados son una gran fuente de conocimientos y está en ustedes aprovecharla y extender sus posibilidades. Seguramente, deberán recurrir a las RFCs (en inglés, lamentablemente -salvo que exista alguna traducción que yo no conozco-) de cada protocolo y empezar a trabajar. Por suerte, las RFCs no son difíciles de entender (la RFC del protocolo POP3, por ejemplo, no ocupa más de 7 u 8 páginas impresas). Anímense. Y si tienen algo, mándenlo a dariofer@usa.net.


prOgramandO - una creación de Darío Fernández