Feed Estás viendo el archivo de la etiqueta: Apache
Gesbit funcionando en Lighttpd

Logotipo de Lighttpd He tratado de ejecutar Gesbit con el servidor Lighttpd, y, bueno, en principio casi no hay ningún problema para que Gesbit pueda también correr bajo este servidor, y no sólo bajo Apache.

Sin embargo, este "casi" no he podido salvarlo, y mira que lo he intentado. Lo que hace falta, por lo pronto, para que Gesbit funcione bajo Lighttpd, es "traducir" algunas "reglas" del módulo "rewrite" de Apache, para que funcionen en el módulo "rewrite" de Lighttpd.

Las reglas que digo que habría que "traducir" son las que se encuentran en el archivo "htaccess" de la raíz de Gesbit, es decir, las siguientes:

Options -Indexes
AddDefaultCharset utf-8
 
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php

Aparentemente es sencillo, y, de hecho, he conseguido que Gesbit funcione como se espera, pero, casi, es decir, no en todos los casos. Y es que este par "instrucciones" que sirven para Apache no tienen correspondencia en Lighttpd, al menos hasta donde yo llego:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php

La importancia de dichas reglas estriba en lo siguiente. Todo, absolutamente todo, lo que no sea un archivo (-f) o un directorio (-d), se redirige al script "index.php", que es el punto de entrada principal de Gesbit. Eso que se consigue con este par de reglas para el archivo "htaccess" de Gesbit, que interpreta Apache, no es tan sencillo de conseguir en Lighttpd.

Pero, estoy seguro de que no es imposible. Y tal vez me ponga a ello un poco más en serio, dado que, por otro lado, Gesbit habría de comportarse igual en un servidor que en otro. Por supuesto, habría de hacer algún cambio en cierta función que comprueba los prerequisitos de Gesbit, de modo que averigua si Apache y su módulo "rewrite" está disponible, y, si no es así, lanza el mensaje de error correspondiente.

Pero, lo más sencillo, a bote pronto, sería modificar dicha función para que comprobara si está disponible el módulo "rewrite", sí, pero, en cualquiera de los servidores Apache o Lighttpd, y dejar continuar la ejecución del "script" en caso afirmativo. En Lighttpd no existen los archivos "htaccess", que existen para Apache, sino que estos se ignoran.

Yo creo que es cuestión de jugar con las expresiones regulares que sí que se permiten para estos casos (módulo "rewrite") en el archivo de configuración de Lighttpd. Sin embargo, ya digo, acabo de empezar, como aquel que dice, y no he sabido cómo hacerlo hasta el momento. Sería muy interesante poder traducir el archivo "htaccess" mostrado antes, a reglas de configuración para Lighttpd, puesto que, o me equivoco, o Gesbit no necesita más para funcionar con este servidor también.

Tal vez alguien que de casualidad pase por aquí... y sepa del tema, quiera echar una mano... :P

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: General
Error al procesar la petición HTTP

Entra otras cosas, en la reciente entrada Preparando la respuesta al usuario, comentamos que ahora era posible "actuar" en cierto modo ante una petición HTTP ante la que Gesbit no tuviera nada preparado, por decirlo así.

Gesbit mostraría entonces un error al usuario que rezaba así "Error fatal: tipo de petición desconocida", pero, he cambiado ese mensaje de error por este otro: "Error fatal: al procesar la petición HTTP". ¿Por qué? ¿Qué me ha hecho cambiar el mensaje de error en este caso?

Ha sido una experiencia que he tenido esta tarde con Gesbit, concretamente, en mi bitácora personal. Por primera vez he podido ver ese error en Gesbit, que, por otro lado, jamás hubiera esperado ver. ¿Y qué es lo que ha pasado, en definitiva?

Pues que el servidor donde se aloja mi bitácora personal tiene configurado el "Mod Security" de Apache modo que ha detectado una cadena en el cuerpo de cierta entrada, que ha hecho que el servidor retornase un error 403 y no pudiese completarse el proceso de la petición HTTP correspondiente.

Es decir, que, en realidad el error de que hablo, si no me equivoco en los términos, puede ser más bien considerado un error al procesar una petición HTTP, no sólo que Gesbit desconozca, sino, como he explicado, debido a causas externas a Gesbit.

En lo primero que he pensado es que había introducido en Gesbit algún error en cambios recientes, pero, después de dar algunas vueltas y de conocer, efectivamente, qué estaba pasando, he visto que no solo no era asunto de Gesbit, sino que, probablemente no pueda hacerse nada desde Gesbit.

Quiero decir para evitar el problema. Los caracteres que el servidor considera "peligrosos" no tienen que ser los mismos siempre en distintos servidores, por un lado. Pero es que además estamos hablando de unos caracteres en toda apariencia triviales, y, de hecho, yo no pretendía "hackear" el servidor.

En definitiva, cuando hice los cambios de que hablo en la entrada enlazada al principio, me quedé mirando al "posible error" y me dije, "aquí pasa algo raro, no parece que vayas a llegar nunca a este lugar en el código, ese error no se verá nunca, por tanto, es innecesario".

Pero mira por dónde casi al día siguiente descubro que sí, que es posible terminar en ese error, y que, por tanto, su mensaje cobraba cierto sentido y tenía que hacerlo además, y no bastaba "decir" que Gesbit desconocía la respuesta para la petición del usuario.

No bastaba, porque me he dado cuenta de que no se trata tanto de que Gesbit no reconozca la petición y por tanto no pueda preparar la oportuna respuesta, sino que no puede procesar la petición HTTP, por ejemplo, porque el servidor HTTP no se lo permite. Aunque en cierto modo Gesbit se hace un pequeño lío.

Aclarado el mensaje de error, que creo era conveniente aclarar, intuyo todavía que Gesbit sigue haciéndose un pequeño (gran) lío en este asunto, que tal vez debería procurar arreglar. Probablemente hay algo por ahí que se me está escapando y que puede causar algún problema. Ya veremos.

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: Desarrollo
Requisitos de Gesbit

Junto con el código fuente de Gesbit se viene incluyendo un archivo INSTALL que informa acerca de cómo instalar Gesbit, y cuáles son sus requisitos.

He editado hoy ese archivo, porque, hasta el momento, comenzaba diciendo que era necesario Windows XP para que Gesbit funcionase, mejor dicho, que era este sistema operativo el único en que se había probado Gesbit.

Sin embargo, esto ya no es así. Este sitio, este weblog que ahora lees, corre sobre Linux, y, si no me equivoco, Debian, concretamente, de modo que el "sólo se ha probado en Windows XP" deja de caber, ya no se ciñe a la realidad.

Sin embargo, Gesbit precisa de más requisitos, obviamente, que el propio sistema operativo. Necesita de un servidor Web, y, ahora sí, sólo se ha probado con Apache, concretamente, con su última versión. Y Gesbit necesita además que el módulo "rewrite" de Apache esté disponible.

Gesbit está escrito en PHP, y, por lo tanto, precisa que PHP esté instalado. He podido probar Gesbit con PHP 5.2.4 y con la última versión, actualmente, la 5.2.5. Por último, Gesbit necesita MySQL para funcionar y sólo he podido probarlo en versiones 5.x.

Por otro lado, Gesbit no cuenta con un instalador "visual", de modo que hay que instalarlo "a mano". Esta instalación consiste en situar los archivos de Gesbit en donde se desee, crear las tablas necesarias en la base de datos (para eso se cuenta con scripts SQL) y editar el archivo de configuración: gb-conf.php con los datos oportunos.

Todo esto que he explicado aquí más o menos por encima se refiere, como he dicho, en el archivo INSTALL que se incluye junto a la distribución de Gesbit. Si te interesa Gesbit, revisa dicho archivo, y también otros (como README) antes de nada. Después de todo están ahí a tu disposición.

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: General
Instalando Gesbit

Bueno. Como veréis, este weblog, que trata sobre Gesbit, se basa en el propio Gesbit. Quería decir que la instalación ha resultado perfecta. No esperaba otra cosa, puesto que, los requisitos se cumplían en el hosting del ClubDelphi.net, donde se aloja este weblog, y, he instalado Gesbit decenas... cientos de veces, acaso.

Sin embargo, he encontrado algún problema cuando he tratado de dejarlo estar dentro de un subdominio. No he ido más allá de saber que algo raro estaba pasando, porque, luego he desechado el subdominio en cuestión. Seguramente deba revisar qué parece ir mal en estos casos.

Por lo demás... he importado el archivo SQL que se incluye con Gesbit en la base de datos que he creado antes; y luego he procedido a copiar los archivos de Gesbit donde correspondía, habiendo antes también "rellenado" las constantes de configuración.

Todo bien. Hay algo que me tiene contento de Gesbit, y, eso que tampoco he hecho pruebas exhaustivas ni nada parecido. Me estoy refiriendo a la velocidad de respuesta, al tiempo que tarda en procesar las peticiones, por decirlo así, y a las consultas SQL que son necesarias.

Creo que por el momento ambas cosas son comedidas, por decirlo así, incluso más que eso: me llama la atención que vaya tan rápido, porque, al fin y al cabo sé lo que está pasando "por dentro" (o casi todo lo que está pasando) y bueno, no tengo sino decir que Apache, PHP y MySQL merecen la pena, a lo que se ve, cumplen con lo que prometen e incluso más.

En fin. Como sabes ya, este weblog se aloja en el hosting ClubDelphi.net, de hecho, Emilio, quien lleva el asunto, se ha ocupado del dominio, del espacio web, en fin, de poner el servidor en marcha, dejándolo listo con el software necesario rápida y eficazmente. Gracias Emilio.

Como también puedes ver, he preparado una página donde trato de explicar en pocas palabras qué es Gesbit, y otra más, desde donde puedes descargar Gesbit, siempre que lo estimes oportuno.

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: General