24 de julio de 2014

Komento, componente para añadir comentarios en Joomla!

Hace ya algún tiempo, realizábamos una entrada sobre JComments, probablemente el sistema de comentarios para artículos de Joomla! más utilizado desde la versión 1.5.

No obstante, en los últimos tiempos está cobrando fuerza una interesante alternativa para realizar comentarios en Joomla!, también gratuita como JComments, su denominación es Komento y está disponible para Joomla! 2.5 y 3.x.

Muchas opciones de configuración y de integración con otros componentes avalan a esta extensión que también dispone de opciones complementarias de pago.

Para realizar la descarga en su página oficial, se requiere de registro previo. Una vez descargado el componente lo podemos instalar normalmente utilizando el gestor de extensiones en el panel de administración de Joomla! Igualmente, podemos descargar e instalar el paquete de idioma de español.

Una vez instalado, podremos configurar la apariencia, permisos y comportamiento de este sistema de comentarios tanto en los artículos de Joomla! como en EasyBlog en la versión gratuita y también en K2, Zoo, Flexicontent, Virtuemart, Redshop, AceShop, JEvents, Ohanah, Sobi Pro y Mosets Tree en su versión de pago.

En definitiva, Komento es una recomendable extensión gratuita para realizar comentarios en los artículos en Joomla! con muchas opciones interesantes y bastantes posibilidades de personalización. Quizá lo mejor para comprobar de qué estamos hablando sería visitar la demo de este componentes tanto para el frontend de la página como las opciones disponibles en la administración.

23 de julio de 2014

Función "Instalar desde la web" en Joomla! 3

Una de las novedades más destacadas y llamativas de la versión de Joomla! 3.2 fue la incorporación de la opción de instalar extensiones en Joomla! directamente desde el Directorio de extensiones para Joomla! (JED), sin necesidad de descargar archivos y realizando todo el proceso exclusivamente desde la administración de nuestra web.

En principio, una vez instalado o actualizado nuestro Joomla! 3.2 o superior, si nos dirigimos a "Extensiones" >> "Gestor de extensiones", nos encontramos con las tres pestañas  (Subir paquete / Instalar desde un directorio / Instalar desde una URL) ya habituales y un mensaje en la parte superior como el que se puede apreciar en la siguiente imagen.


Como se puede observar en el mensaje -que se puede ocultar pinchando en la "x"- podemos añadir de forma inmediata una nueva pestaña, "Instalar desde la web". Si hacemos click en el botón, nos dará un mensaje de confirmación de instalación de un plugin -importante detalle- y a continuación veremos nuestra pestaña que nos ofrece el acceso directo a multitud de extensiones.


En la pestalla podemos navegar mediante las categorías de las extensiones del menú de la izquierda o utilizando las herramientas de búsqueda que ofrece. Eso sí, como el propio directorio, todo está en inglés.

Si pinchamos en las extensiones podremos ver su descripción, valoraciones, enlace a la web del desarrollador y lo que es más interesante, la posibilidad instalar directamente, aunque esta opción únicamente está disponible en las extensiones gratuitas más populares.


Si hacemos click en "Install" trendemos nuestra extensión instalada automáticamente en nuestro sitio. En otros casos, nos ofrecerá la posibilidad de registrarnos o realizar una compra, dependiendo ya de la extensión concreta.

Lo que hacemos realmente con este proceso es instalar un plugin que podemos encontrar con el nombre "Instalador - Instalar desde la web" del tipo "installer" en la gestión de plugins. Si accedemos al plugin en cuestión podremos configurar la posición de la pestalla en el gestor de extensiones, dando la opción de que sea la primera o la última. Igualmente, podemos elegir desactivar o desinstalar este plugin para que la pestalla "Instalar desde la web" desaparezca de nuestro sitio.


Una interesante opción a explorar que puede facilitarnos mucho el trabajo de instalación de extensiones y que acerca aun más el Directorio de Extensiones a los usuarios del Joomla!

22 de julio de 2014

Cuestiones básicas para tener un sitio multilenguaje en Joomla!

A partir de la versión de Joomla! 2.5 podemos configurar nuestro motor para trabajar con varios idiomas sin necesidad de instalar ninguna extensión, como hacíamos con Joom!Fish en el caso de la versión 1.5.

Obviamente en Joomla! 3.x continúa esta posibilidad, aunque no siempre es del todo conocida o entendida por los usuarios de este gestor de contenido.

Existen guías en profundidad que nos explican el proceso de una forma detallada, por ejemplo, recomendaría la ofrecida en dos partes (1 y 2) por el blog de Webempresa o la realizada desde  el sitio Ayuda Joomla!, ambas para la versión 2.5 de Joomla!, pero igualmente válidas para la 3.x.

Precisamente lo que pretendemos nosotros es todo lo contrario, exponer de forma muy resumida las cuestiones básica que debemos tener en consideración para tener una perspectiva general de qué necesitamos para convertir nuestro sitio Joomla! en una web con múltiples idiomas. Estos aspectos son:

1. Instalar el nuevo idioma en el gestor de idiomas. Introducir sus datos en la pestaña "Contenidos" de este mismo gestor, pinchando en "Nuevo".

2. Activar y configurar el plugin "Sistema-Filtro de idioma".

3. Introducir y configurar el módulo "Cambiar Idioma" -que nos mostrará las banderitas-.

4. Menús: Configurar el menú para cada idioma, creando uno nuevo para cada uno y asignándoles en sus opciones el idioma al que pertenece. Se debe señalar la página de inicio para cada lengua.

5. Contenido: Cada artículo se deberá crear teniendo en consideración el idioma, organizándose el contenido y las categorias en función de las lenguas a utilizar.

6. Módulos: Los módulos se tendrán que copiar y configurar para que aparezcan con el contenido correspondiente a su idioma y en los apartados de los menús que seleccionemos.

7. Plantilla: Tenemos la posibilidad de asignar una plantilla por defecto a cada idioma, o bien, duplicar estilos, realizar los cambios oportunos y configurar cada estilo para cada una de las lenguas de nuestro sitio.

Aunque en un principio puede resultar algo complejo o confuso, lo importante en comprender que cada elemento de nuestra web debemos ahora configurarlo teniendo en cuenta la opción "Idioma" que por defecto viene como "Todos". Menús, artículos, módulos y plantillas, deben tener el idioma configurado de forma coherente para que, por ejemplo, al pinchar en la bandera inglesa, se nos muestre el menú en inglés, los artículos en ese idioma, los módulos y la plantilla seleccionada. Todo en mucho más rápido cuando nos familiarizamos con su funcionamiento y tenemos en consideración que realmente es como gestionar varias webs en una sola (por ejemplo, si nuestra web en español tiene un menú, 4 módulos y 10 artículos y lo queremos en inglés y francés, nuestro sitio tendrá 3 menús, 12 módulos y 30 artículo) .

19 de julio de 2014

Problemas con la creación del ítem de SobiPro en el menú de componentes tras su instalación en Joomla! 3

Problema

Trabajando con Joomla! 3.3.1 nos disponemos a instalar el destacado componente gratuito SobiPro que sirve para crear directorios en el entorno de Joomla!

En un primer intento obtenemos un error al comprobar el sistema de instalación de la aplicación que el servidor tiene activado el "modo seguro" de php (safe mode), algo incompatible para que pueda funcionar SobiPro. Desde las opciones del panel de control de nuestro servidor tenemos la opción de desactivar el "modo seguro", lo hacemos y volvemos a intentar instalar el componente.

Esta vez sí que parece que todo ha ido bien, nos da algún aviso pero confirma que ahora ya se cumplen los requisitos mínimos exigidos y da la impresión de que SobiPro se instala correctamente. No obstante, nuestro gozo en un pozo cuando comprobamos que no existe ningún acceso a esta extensión desde el menú "Componentes" de nuestra administración de Joomla! ¿Entonces no se terminó de instalar? ¿Ha desparecido sin más? ¿Cómo puedo acceder a trabajar con él?... en definitiva ¿Dónde está SobiPro?

Solución

Comprobando vía FTP las carpetas existentes en el directorio "components" vemos que efectivamente existe una carpeta denominada SobiPro. Igualmente, en la gestión de extensiones podemos comprobar que aparece en el listado de componentes instalados...

Según parece este error viene provocado por una incompatibilidad con el editor "TinyMCE" instalado por defecto en todos los motores Joomla! El componente se instala, pero no se muestra en Componentes, funciona, pero es algo muy incómodo.

Para solucionarlo, y que nos aparezca normalmente nuestro ítem de SobiPro en "Componentes" para poder acceder con facilidad, solo hay que seguir tres sencillos pasos:

1. Desinstalar SobiPro (Componente y Plugin) desde el gestor de extensiones
2. Deshabilitar el plugin del editor "TinyMCE" en la gestión del plugins
3. Volver a instalar SobiPro

Y listo! Ya podemos volver a habilitar el plugin "TinyMCE" si nos es necesario y ya tenemos nuestro ítem de SobiPro funcionando en el menú de "Componentes".

Para más información, se puede consultar el detallado artículo del blog de Webempresa que trata sobre este mismo tema.

17 de julio de 2014

¿Puedo tener un único canal RSS en mi sitio con Joomla! 3 sin instalar ninguna extensión?

Como ya ocurría con las versiones anteriores 1.5 y 2.5, en Joomla! 3.x se mantiene el módulo por defecto denominado "Sindicación del sitio" que crea un canal de sindicación de noticias de las novedades de tu web.

No obstante, la principal dificultad de este módulo es que crea un canal RSS por categoría de tu web, es decir, si en mi página publico artículos en 5 categorías enlazadas desde mi menú principal obtendré un 5 canales de sindicación distintos, cada uno con du propia URL.

Esto es un gran problema porque por defecto no se puede obtener un único canal general con todas las novedades de todas mis categorías, siendo igualmente un inconveniente para los que utilizan FeedBurner, ya que solo se puede introducir un canal original en este herramienta de Google.

Con Joomla! 1.5 y 2.5 teníamos a nuestra disposición una extensión gratuita que permitía centralizar y configurar nuestro canal RSS con muchas opciones. Este complemento se denomina "Ninja RSS Syndicator" pero desafortunadamente todavía no está disponible para Joomla! 3.x. También existen otras alternativas de pago en Joomla! Extensions, pero aquí proponemos una solución en la que no es necesario instalar nada y totalmente gratuita.

La cuestión es que lo que pretendemos es unir todos los canales RSS de mi web en uno solo. Para ello, existe una fantástica herramienta de Yahoo! denominada Pipes que nos permite crear y configurar canales de sindicación a nuestro antojo. Lo positivo es que es muy potente y se puede hacer prácticamente todo lo imaginable, pero lo negativo es que es una herramienta con un interfaz poco intuitivo y totalmente en inglés.

Para obtener un único canal de nuestra web con esta herramienta online, creamos un nuevo "Pipe" -tubería en inglés- e introducimos en el panel el recurso "Fetch Feed" que permite unir hasta 10 canales RSS, por lo que copiamos ahí las direcciones originales de todos nuestros canales, una tras otra. Si tuviéramos más de 10 categorías, se pueden introducir varios "Fetch Feed" y posteriormente unirlos con el "Operator" "Union".

Una vez que hemos introducido todos nuestros canales originales, podemos ordenarlos por fechas para que aparezcan en orden cronológico mediante el "Operator" "Sort". También podemos limitar el número de ítems que aparecerán con el "Operator" "Truncate" o incluso prevenir los duplicados con "Unique".

Unimos nuestros recursos entre sí y con el módulo final "Pipe Output" y si todo va bien, ya disponemos de un único canal que muestra tal y como queremos todas las novedades de nuestra web. La dirección RSS de nuestro Pipe podemos usarla en FeedBurner y funcionará perfectamente.


Aquí queda esta posibilidad ya conocida por muchos, pero muy útil para los que se encuentran con este problema. Eso sí, un poco de paciencia con Pipes, ya que en un principio puede resultar un poco incomprensible la interfaz, pero los resultados son bastante buenos.

Solución al error "JFolder::create: Detectado bucle infinito" al intentar instalar extensiones en Joomla!

Existe un error bastante común en Joomla! cuando intentamos instalar alguna extensión que nos da, más o menos, el siguiente mensaje (extraído de la versión de Joomla! 3.2):
Advertencia
JFolder::create: Detectado bucle infinito
Advertencia: ¡Fallo al mover el archivo!
JFolder: :files: La ruta no es una carpeta. Ruta: /.../
JFolder: :folder: La ruta no es una carpeta. Ruta:
/.../
JFolder: :files: La ruta no es una carpeta. Ruta:
/.../
JInstaller: :Instalar: No se ha podido encontrar el archivo XML de configuración de Joomla!
Error
Archive does not exist
Al fin y al cabo lo que nos viene a indicar este mensaje es que no se encuentran algunas rutas, por lo que suele aparecer cuando cambiamos nuestro Joomla! de local a remoto, cambiamos de dominio o situaciones similares en las que tendremos que actualizar la configuración de nuestro motor.

Para solucionarlo, nos descargamos y abrimos nuestro archivo "configuration.php" de la raíz de la instalación de nuestro dominio. En este documento buscamos las líneas:
public $log_path = '/user/midominio.com/joomla3/logs';
public $tmp_path = '/user/midominio.com/joomla3/tmp'

Y modificamos y actualizamos las rutas en consonancia con nuestro nuevo dominio. Por ejemplo, si lo que he hecho es cambiar de midominio.com a miotrodominio.com, las nuevas líneas deberían ser:
public $log_path = '/user/miotrodominio.com/joomla3/logs';
public $tmp_path = '/user/miotrodominio.com/joomla3/tmp'
Guardamos y sobrescribimos el archivo. Al intentar de nuevo instalar una extensión, el sistema ya encuentra las carpetas "logs" y "tmp" y se puede completar con total normalidad.

En definitiva, un error que suele ser simplemente producto de un despiste, aunque habría que mencionar que en algunas ocasiones pueden darse errores similares en nuevas instalaciones donde no se tienen asignadas correctamente los permisos en las carpetas del servidor. En ese caso se deberían cambiar los permisos a 755 para carpetas y 644 para archivos.

14 de julio de 2014

Extensiones para mejorar el módulo de "Artículos relacionados" de Joomla!

Como bien sabemos, Joomla! trae por defecto un módulo denominado "Artículos - Artículos relacionados" que según su propia descripción "muestra otros artículos que se relacionan con lo que actualmente se está viendo. Estas relaciones se establecen por las Meta palabras clave".

La cuestión es que si queremos realmente darle uso a esta función de relacionar automáticamente artículos por sus palabras claves, la alternativa que nos ofrece por defecto el motor Joomla! deja bastante que desear, ya que apenas ofrece un par de opciones de configuración, como son que se muestre o no la fecha del artículo y el número de propuestas ofrecidas. En ningún caso nos ofrece la posibilidad de ordenar los resultados o mostrar imágenes de los artículos relacionados, por ejemplo.

Precisamente para añadirle más funcionalidad a esta posibilidad, vamos a recomendar un par de extensiones gratuitas, teniendo en consideración que la categoría de Joomla! Extensions denominada "Related Items" está plagada de extensiones de pago, algo -desafortunadamente- cada vez más común en el directorio de extensiones de Joomla!

- Módulo FJ Related Articles Plus: Módulo gratuito, similar al que viene por defecto en Joomla!, pero que a diferencia de este, trae muchos aspectos configurables: Orden de los artículos mostrados, incluir los artículos del mismo autor, de la misma categoría o incluso la visualización del texto de introducción mediante un tooltip. Disponible para Joomla! 2.5 y 3.x.

- Plugin SJ Content Related News: En esta ocasión de trata de un plugin de contenido que igualmente posibilita muchas opciones de filtrado, pero que también permite añadir una imagen en forma de icono de los artículos relacionados. Disponible para Joomla! 2.5 y 3.x.

Dos opciones totalmente gratuitas y que mejoran exponencialmente las posibilidades de personalización para mostrar artículos relacionados en Joomla!

4 de julio de 2014

Solucionando -definitivamente- los problemas con el código de los módulos de Jumi con Joomla! 3

Hace aproximadamente un año, publicábamos una entrada denominada "Solución al problema con el módulo de Jumi con Joomla! 2.5" donde exponíamos una posible solución a los últimos problemas que está presentando la extensión Jumi para guardar el código en sus módulos. En aquella ocasión planteábamos usar el componente para pegar el código y el módulo para hacer un llamamiento a ese código desde un lugar concreto de nuestra plantilla.

El problema de Jumi con Joomla! 3 vuelve a aparecer. Utilizando esta extensión que sirve para introducir códigos personalizados de javascript, php, html, css, dhtml scripts... ya sea directamente en el contenido de los artículos o mediante módulos, cuando queríamos insertar un determinado código mediante el módulo de Jumi, este desaparecía parcialmente al darle a "Guardar" el módulo, dejando inutilizado el código.

En el foro de esta extensión, podemos por fin encontrar una entrada donde un usuario propone una forma definitiva de solucionar este problema sin tener que recurrir a métodos indirectos como lo que proponíamos al principio de usar el componente como intermediario. La solución es muy simple y se basa en añadir un pequeño código en uno de los archivos del módulo:

1. Abrimos el archivo "mod_jumi.xml" que se encuentra en la carpeta modules >> mod_jumi
2. Buscamos la línea 35 (aproximadamente) donde aparece: 
    <field name="code_written" type="textarea" default="" label="Code written" description="PARAMCODEWRITTEN" cols="60" rows="17" />
3. Añadimos la expresión filter="raw" justo antes de type, debiendo quedar:
<field name="code_written" filter="raw" type="textarea" default="" label="Code written" description="PARAMCODEWRITTEN" cols="60" rows="17" />
4. Guardamos y listo!

30 de junio de 2014

Problema con los módulos tras realizar la actualización a Joomla! 3.3

Problema

Trabajando con Joomla! 3.2, realizamos la actualización del motor a la versión 3.3 mediante el componente "Actualizar Joomla!".

Una vez que se actualiza a la última versión, nos da el mensaje de confirmación y la web parece que sigue funcionando perfectamente. No obstante, al intentar modificar las características de un módulo, nos percatamos de que no podemos guardarlo ni copiarlo, de hecho, todas las opciones contextuales "Aplicar", "Guardar y cerrar", "Guardar y nuevo" y "Guardar como copia" no funcionaban, el único que parecía responder era "Cerrar" y esa opción de muy poco nos sirve.

Esto mismo nos ocurre con proyectos tanto en servidores locales como en la web... ¿Qué ocurre? ¿Un fallo en la actualización? ¿Ya no podremos modificar ni crear nuevos módulos?

Solución

De forma evidente, lo primero que hicimos fue relacionar este error con la actualización. En un primer momento activamos la "Depuración del sistema" en la pestalla "Sistema" que se encuentra en la "Configuración global" de nuestro motor para ver qué ocurre y comprobamos que de esta forma sí que podemos realizar cambios a los módulos donde su menú de opciones vuelve a funcionar normalmente, pero claro, no queremos estar mostrando permanentemente los errores de la web, por lo que no es la solución ideal, aunque ya por lo menos nos vamos acercando.

En una búsqueda por The Joomla! Forum, encontramos que el tema ya se ha tratado en varios hilos. En uno de ellos, se propone que se cambie la plantilla de la administración, de la "Isis" que es la que se muestra por defecto a la "Hathor", que también está instalada y que recuerda a la administración de las versiones anteriores de Joomla!. Así lo hacemos, nos dirigimos a "Extensiones" >> "Gestor de plantillas" y desde ahí realizamos el cambio y comprobamos que las opciones de los módulos vuelven a funcionar... pero claro, tendríamos que renunciar a usar la plantilla "Isis" y tampoco es lo que pretendemos.

De esta forma, ya hemos podido situar el problema en la plantilla. Finalmente, encontramos en otro tema del foro de Joomla! una solución permanente:

1. Sustituir la carpeta de la plantilla "Isis" de nuestra web por la que trae el paquete de instalación del nuevo Joomla! 3.3.
2. Limpiar la caché del navegador y de nuestro motor.

Y así lo hacemos. Copiamos la carpeta "isis" que está en el paquete de Joomla! 3.3 en la ruta "administrator" >> "templates", y la pegamos en la misma ruta de nuestra web mediante FTP. Posteriormente limpiamos la caché y problema resuelto de forma definitiva... Esperamos que sirva a quien esté en la misma situación.

20 de mayo de 2014

Solución al bloqueo en la "Creación de tablas de la base de datos" durante la instalación de Joomla! 3 en XAMPP

Problema

Trabajando con el servidor local XAMPP en su versión 1.8.3, pretendíamos instalar el paquete de Joomla! 3.2.3, no obstante, después de completar los tres pasos para la configuración del motor, al pulsar "Instalar" en nuestro Joomla! 3, éste se quedaba una y otra vez bloqueado procesando la tarea "Creación de tablas de la base de datos".... el tiempo pasaba y el gestor nunca se terminaba de instalar.

Entrábamos una y otra vez en nuestro directorio de instalación para comprobar los datos y ver si alguna combinación mágica hacía que se pudiera completar el proceso de una vez. Pero parecía que nunca iba a suceder... ¿Qué estaba ocurriendo? ¿Cómo solucionarlo?

Solución

Buscando una posible alternativa sobre este tema en los foros de Joomla!, pronto nos situamos en la pista correcta. Encontramos primero una referencia a un problema similar pero con la versión de Joomla! 3.0.3. La solución propuesta es modificar el valor de "max_execution_time", una variable que se puede encontrar en el archivo "php.ini" de la carpeta "php" en nuestro directorio local de XAMPP.

De esta forma, modficamos el valor que aparece por defecto en la línea "max_execution_time" de 30 a 60, reiniciamos el servidor local... pero nada. Lo probamos con 100 y tampoco.

Continuamos la búsqueda y encontramos esta intervención respecto a un problema similar que propone subir el valor hasta 240. Así lo hacemos, colocamos "max_execution_time=240", reiniciamos el servidor otra vez (importante no olvidar este detalle)... y ahora sí, después de repetir nuevamente el proceso, por fin nos aparece la pantalla de confirmación de la instalación de nuestro Joomla! 3.2.

9 de mayo de 2014

EVO Frontpage, un módulo ligero y potente para mostrar novedades en Joomla!

Sin duda, un tipo de extensión que siempre he considerado muy útil e interesante son las que se encargan de ir mostrando las novedades o noticias en la portada de nuestro sitio web de forma totalmente automática y configurable.

Continuando precisamente la línea de desarrollo de otro popular módulo de News Display, Mini FrontPage, se nos presenta la extensión EVO Frontpage que nos permite mostrar descripciones, autoría y miniaturas de nuestras novedades publicadas de una forma simple, fiable y sin consumir prácticamente recursos de la web, uno de los aspectos más negativos de este tipo de herramientas, sobre todo cuando el número de artículos a mostrar son demasiados.

EVO Frontpage, disponible lógicamente desde el directorio Joomla! Extensions y cuyo posible aspecto se puede apreciar en la imagen adjunta, es compatible con todas las versiones del motor Joomla! (Joomla! 1.5, Joomla! 2.5 y Joomla! 3.x).

Tras lo positivo de su poco peso y su gran potencia, se esconden algunas carencias para su personalización total, teniendo bastante menos opciones que otras extensiones para este mismo uso como AidaNews2 pero que precisamente destaca por consumir bastantes recursos.

Merece la pena probarlo, o al menos echarle un vistazo a la web de EVO Frontpage para poder comprobar exactamente a qué nos estamos refiriendo, su aspecto, sus opciones, etc.

3 de mayo de 2014

Solucionando problemas de saturación del servidor por Spam con Joomla!

Problema 

En un proyecto en el que se continuaba utilizando la versión 1.5.26 de Joomla! un día, sin motivo aparente, comienza a presentar errores en la navegación, en principio y atendiendo al mensaje de error, parecía que el problema se daba en la conexión con la base de datos.

Después de conversar con el servidor, nos cuentan que la base de datos que utilizamos está saturada y de ahí los problemas, que probablemente sea debido a alguna extensión instalada en la web u otro tipo de error en la programación del sitio. Realizando un exhaustivo examen de todas las extensiones de Joomla!, se desactivan las que parecen realizar mayor número de peticiones a la base datos.

Al poco tiempo, cuando parecía simplemente un repentino y extraño fallo, los problemas para acceder al sitio web se multiplican al poco, informando el servidor en esta ocasión de un exceso de consumo de recursos PHP y de peticiones al servidor... ¿Qué está ocurriendo? ¿Cómo puede ser que de la noche a la mañana y sin realizar ninguna acción relevante empiece a fallar todo?

Solución

Después de varios días, por fin parece que vamos situando el problema, y es que, consultando las estadísticas del servidor comprobamos unas series de IP de origen chino que están demandando muchísimos recursos, no aparecen en Google Analytics y evidentemente no se corresponden con el comportamiento normal de visitantes humanos.

Lo primero que hacemos es intentar que el servidor bloquee esas IP concretas que en los últimos días están entrando insistentemente. En principio parece de nuevo que se soluciona, pero al día siguiente, las IP cambian y la web vuelve a presentar problemas. Es algo extraño, ya que estas visitas de robots considerados Spam que estaban desestabilizando el funcionamiento de la web no dejaba comentarios ni ninguna otra huella aparente que la de intentar una y otra vez acceder al sitio.

Habiendo situado completamente el problema como Spam, con robots accediendo una y otra vez a nuestra web hasta saturarla, las medidas que tomamos son:

  • Bloqueo de IPs  en el archivo .htaccess
Una de las funciones más utilizadas del archivo .htaccess (aparte del tema de las URL en Joomla!) es poder denegar manualmente el acceso al sitio de determinadas IPs o rangos de IP. Para lograrlo, tenemos que escribir al final del archivo:
## USER IP BANNING
<Limit GET POST>
order allow,deny
deny from 220.161.103.
deny from 121.205.
deny from 91.188.124.239
deny from 178.137.92.179
allow from all
</Limit>

Varias notas al respecto:
  1. El ejemplo es un extracto del código real compuesto por muchas más IPs, siempre respetando el mismo formato por línea. Como se puede ver está compuesto por IP completas y rangos (los dos primeros que terminan en punto) que facilitan la labor de denegar IPs que comparten bloques de números idénticos.
  2. Para saber que IP son las que accedían analizamos las estadísticas del servidor.
  3. La primera línea <Limit GET POST> también se puede encontrar como <Limit GET HEAD POST>. Se puede utilizar una u otra siempre que no aparezca problema de incompatibilidad en el servidor.
Perfecto, con esta limitación manual nos aseguramos que esas IPs malignas concretas no vuelvan a acceder a nuestra web, pero ahora queda lo más difícil ¿cómo hacemos para que esto no nos vuelva a ocurrir?

  • Instalación del plugin HTTP:BL
Para tener protegido nuestro sitio Joomla! de forma permanente contra nuevos ataques de Spam, instalamos el plugin gratuito denominado HTTP:BL - Project Honeypot Blocklists con el objetivo de tener un sistema que bloquee de forma automática las IPs consideradas malignas.

Una vez que instalamos el plugin -con versiones para Joomla! 1.5 y 2.5- tenemos que darnos de alta en el Project HoneyPot cuyo objetivo es precisamente fomentar una comunidad que pueda detectar y prevenir ataques de Spam a nivel global. Cuando nos registramos nos asignan nuestra "API Key" que tenemos que escribir en la configuración de nuestro plugin. Posteriormente lo activamos y algo importante, lo tenemos que colocar para que se cargue en primer lugar (posición 0).

Cuando comienza a funcionar el plugin, nos genera en el directorio principal de nuestro alojamiento un archivo denominado "httpbl.txt" en el que se recoge de forma constante la actividad de esta magnífica extensión, bloqueando todas aquellas IPs que están en la base de datos del proyecto clasificadas como malignas o como Spam. Los que no estén muy seguros de su utilidad, quedarán convencido viendo los resultados en este archivo que comentamos.

Complementariamente, se puede colaborar de diversas formas con Project HoneyPot para la detección y prevención del Spam, fundamentalmente colocando códigos "trampa" por tu web no visibles para los humanos pero que los robots de Spam consideran vulnerables, permitiendo así analizarlos para poder bloquearlos.

Pues de esta forma es como pudimos solventar este extraño error que nos costó detectar. Desde entonces vamos observando el archivo "httpbl.txt" y, aunque son bloqueadas, si vemos que una IP o rango concreto quiere entrar demasiadas veces seguidas en la web, procedemos a incluirla en nuestra lista negra en .htaccess añadiendo otra línea con "deny from" y la IP en cuestión.

27 de abril de 2014

Algunas herramientas de Google a tener en cuenta para nuestra web

Por todos es conocido la diversidad de herramientas de las que dispone Google en casi cualquier ámbito y no podía ser menos en el caso de los webmasters en general y los usuarios de Joomla! de forma particular.

Repasamos a continuación algunas de las funcionalidades que ofrece Google más utilizadas por los administradores webs que podrían ser muy útiles para nuestro sitio en el raro caso de que todavía no las conozcamos:
  • Google Webmasters: Con esta valiosa herramienta podemos conocer el estado de nuestra web para Google, introducir Sitemaps, monitorear posibles errores de rastreo u obtener mucha información sobre el tráfico de búsquedas de nuestra web, entre otras cosas.
  • FeedBurner: Aunque existen otras opciones en Joomla! para disponer de nuestro propio feed, esta herramienta de Google continúa siendo bastante apreciada por los administradores web por el potencial y fiabilidad que tiene, tanto para el RSS, como para el envío de boletines por e-mail con novedades a usuarios registrados, etc.
  • Búsqueda personalizada: Como sabemos, Joomla! dispone de su propio motor de búsqueda integrado e incluso existen extensiones para mejorarlo. No obstante, mediante la búsqueda personalizada en nuestra web de Google podremos complementar esta búsqueda, o incluso reemplazarla si no queremos cargar nuestro motor.
  • Traductor de Google: Al que ya le prestamos ocasión en una entrada anterior. Con sus obvias limitaciones, es una buena opción para la traducción automática de tu sitio web.
También existen otras herramientas de interés, como Google Drive, la popular nube de Google con la que podemos insertar formularios y documentos o disponer de un espacio "extra" para compartir archivos pesados; Google Calendar con el que podemos introducir un calendario en nuestra web, igual como Google Maps con los mapas, el utilizado programa de Publicidad de Google, el propio YouTube para gestionar y compartir nuestros videos o su red social Google+.

Para todas estas herramientas, y para muchas más, existen diversas extensiones específicas para Joomla! cuya función es facilitar su integración, aunque siempre tenemos la opción de utilizar códigos de forma común mediante módulos como Jumi.

20 de abril de 2014

Desaparece el Archivo de extensiones para Joomla! 1.5

El pasado 1 de marzo de 2014 se cerró definitivamente el "Archivo" de Joomla! Extensions Directory donde se podía consultar, desde febrero de 2013 cuando fue creada, un espacio donde continuaban recopilándose las extensiones de Joomla! 1.5, de cuya última versión estable (1.5.26) se van a cumplir ahora dos años.

La cronología de esta muerte anunciada ha sido la siguiente:
  • 1 de abril de 2012: Se dejan de aceptar extensiones de Joomla! 1.5 en el directorio.
  • 15 de febrero de 2013: Se deshabilita el icono de compatibilidad para la versión 1.5 para las nuevas extensiones y se crea el espacio del "Archivo" en http://archive.extensions.joomla.org.
  • Marzo de 2013: Se van purgando del sistema las extensiones únicamente para Joomla 1.5!
  • 1 de marzo de 2014: Se cierra el espacio destinado al "Archivo" de la versión 1.5.
Un motivo más para realizar la migración a las versiones superiores, ya que tampoco podremos a partir de ahora encontrar fácilmente las extensiones compatibles para Joomla! 1.5. No obstante, bien es cierto que todavía se puede encontrar en las páginas de muchas extensiones concretas las anteriores versiones para este desarrollo ya abandonado.