Boa Web Server

Boa es un HTTP server monotarea que fue creado en 1991 por Paul Phillips y que según la documentación que podéis encontrar en su web www.boa.org las pruebas que han realizado muestran que este web server es capaz de manejar varios miles de visitas por segundo en un ordenador con un Pentium 300 MHz como cerebro y decenas de hits por segundo en un humilde y “algo” anticuado 20 MHz 386/SX (XD). Pues se trata de un web server perfecto para nuestro embedded web server pero compilado para nuestra arquitectura, ARM9, ARM11, la que sea.

Según sus creadores los objetivos principales de Boa Server son tanto la velocidad como la seguridad. Por el hecho de buscar máxima velocidad y que no olvidemos que hablamos de sistemas embebidos, Boa Server no es un servidor web repleto de características ni muchas opciones pero es más que eficaz precisamente por eso. En cuanto a seguridad, al ser un embedded web server sencillo no permite comunicaciones encriptadas ni controles de acceso mediante sesiones de usuario, de hecho hay una aclaración al respecto en la web oficial en la que se dice precisamente eso, no se trata de seguro en estos aspectos que os acabo de comentar pero si en el hecho que nadie pueda acceder y modificar el contenido de la web. Que intenta ser anti-piratas vaya.

A continuación se describen los parámetros que son configurables una vez se ha instalado BOA server o ya lo tengamos compilado e incluido en el rootfilesystem de nuestra imagen de Linux, independientemente a esto; es importante saber que el parámetro llamado SERVER_ROOT , que es la ruta dónde se encontrará el fichero de configuración del BOA server dentro de nuestro sistema de archivos, puede ser configurado antes de la compilación modificando el valor de #define SERVER_ROOT en el fichero defines.h.

Aún así, si estamos usando una imagen de Linux precompilada y en la que ya viene este embedded web server, este parámetro se puede modificar desde línea de comandos mediante la opción –c  aunque yo personalmente no lo he hecho nunca. Ejemplo:  /usr/bin/boa –c /etc/boa

Fichero de configuración boa.conf

En el fichero boa.conf que se encontrará donde se haya especificado mediante el parámetro SERVER_ROOT hay diversos parámetros o como les llaman en la web oficial “Directrices” que se pueden configurar con la simple edición de este archivo. Un ejemplo del contenido de boa.conf lo podéis encontrar a continuación:

Port 80
User nobody
Group nogroup
ErrorLog /var/log/boa/error_log
AccessLog /var/log/boa/access_log
ServerName target.fsforth.de
DocumentRoot /var/www
UserDir public_html
DirectoryIndex index.html
DirectoryMaker /usr/lib/boa/boa_indexer
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /etc/mime.types
DefaultType text/plain
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

Para no agobiar os comento los más básicos y necesarios, el resto os recomiendo que visitéis la documentación oficial:

  • Port: Puerto de escucha de Boa Server, por defecto su valor es el puerto HTTP, el 80.
  • ErrorLog:Nombre del  fichero donde se almacenarán los logs de error. Si no se quiere un log de errores colocar /dev/null
  • AccessLog: Log de acceso. Como en el caso anterior con /dev/null si no queremos guardar log, aunque creo que en ambos casos es interesante.
  • DocumentRoot: Directorio donde se encuentran nuestros ficheros HTML.
  • DirectoryIndex: Nombre del fichero (sin la ruta y cogiendo de base DocumentRoot) para cargar por defecto cuando se haga una petición al servidor.
  • KeepAliveMax: Número de KeepAlive recibidos permitidos por conexión.
  • DefaultType: MIME type  utilizado si la extensión es esconocida o no hay extensión.(Debería estar también incluido en el fichero mime.types)
  • ScriptAlias: Importante si queremos hacer algún script tipo cgi, etc. El primer parámetro es el path virtual que verá el cliente y el segundo el real dentro del filesystem. En este caso los cgi a los que se haga referencia desde el HTML ubicados en /cgi-bin/ estarán realmente en la carpeta usr/lib/cgi-bin/
Tagged with: , , , , , , ,
Posted in Blog Técnico, Embedded Web Server, Sistemas Embebidos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*


*

enlaces patrocinados