Mi odisea con el código de meneame.net

Como conseguir que funcione el codigo de meneame.net en un hosting bastante capado (sin textutils, sin encoding, soporte para idiomas, etc).

Este mini-resumen presupone que sabes tocar mínimamente el código PHP, que has leído la guía de instalación y que sabes que es un sistema de promoción de noticias.

He conseguido después de una hora de andar trasteando (es la primera vez que instalo el software de meneame) que funcione bien e incluso forzar para publicar una noticia.

Leer más

Conflicto: No usar svn + mod_evasive

Cuidado, me he dado cuenta mirando el log de errores de mi apache2, tan contento como estaba con mod_evasive (lo había configurado con muy pocas páginas para que si una araña de spam accedía muy rápido a esta web o bien una araña de M$ que también gasta mucho ancho de banda se les prohibiese el acceso).

Problema: Si usas SVN (mod_dav, mod_svn…) te prohíbe el acceso, el motivo es evidente: Demasiadas peticiones cuando el repositorio es minimamente grande.

Podía leer una línea en el log que decía:

[Tue Oct AA XX:YY:ZZ BBCC] [error] [client X.Y.Z.T] client denied by server configuration: /AAA/BBB/CCC

He probado a quitar el mod_evasive y bingo! ya no hay un 403 PROPFIND (porque no estoy detrás de ningún proxy ni nada).

Si tengo que prescindir de algo, creo que de mod_evasive y ya intentaré configurar en QoS o con iptables lo que necesite o incluso mirando que más opciones tiene el propio mod_evasive.

Es debido a que mod_svn recibe muchas peticiones de un cliente (para sincronizar el repositorio), con lo que si está configurado para permitir pocas paginas por minuto, te bloqueará el acceso.

Desconozco si se puede filtrar por directorio o hacer alguna configuración distinta para donde tengas montado el svn.

Usando mod_rewrite para redireccionar subdominios

En este caso hace algún tiempo, me pidieron un .htaccess que mediante el uso de mod_rewrite permitiera que cualquier subdominio (por ejemplo: http://cualquiercosa.serhost.com) apuntase a una carpeta del dominio (ejemplo: http://serhost.com/pruebas/).

El motivo para hacer esto era que tenían un script que querían que fuese usado por todos los subdominios, imaginémonos un foro y que según el subdominio eligiese una base de datos u otra (para que fuese un foro de una u otra cosa). Las modificaciones al script de un foro (de un phpbb por ejemplo) son bastante reducidas (modificar un poco el config.php y poco más para según el subdominio hacer una u otra cosa).

De este modo la actualización del script en caso de un fallo de seguridad, sólo tendría que hacerse una vez y además no tendrías que tener múltiples copias del mismo script ocupando espacio.

A continuación el como lo hice…

Leer más

Cómo obtener las secuencias de escape para acentos, eñes, etc

Nada más fácil (lo he probado en java), existe un comando de consola que te permite hacerlo: native2ascii.

Hay muchas otras soluciones mejores o peores: (cambiando la codificación, usando buffers de bytes, etc)

Para usar native2ascii, ir a la consola e invocar ese comando, tecleear cualquier texto y pulsar enter, en caso de caracteres acentuados o eñes los cambiará por sus correspondientes secuencias de escape).

https://ant.apache.org/manual/OptionalTasks/native2ascii.html (ya no funciona el enlace)