Greenlight de Big Blue Button. Fallo al actualizar y comandos útiles de docker.

Ayer queríamos crear un nuevo usuario de Greenlight por línea de comandos y, como nuestra versión no permitía esta opción, actualizamos. ¿Conclusión? Error en Greenlight:

Greenlight encountered a database migration error.
This may be because you haven’t updated to Greenlight 2.0.
If you are not an administrator, please contact one.
We’ve released a new version of Greenlight, but your database isn’t compatible.

Hoy os explicamos cómo lo solucionamos, junto a algunos comandos útiles usando docker.

Cómo actualizar Greenlight.

Para las últimas versiones (a fecha del artículo) la actualización es bastante sencilla. La documentación dice ejecutar
$ docker pull bigbluebutton/greenlight:v2 aunque si quieres más opciones puedes elegir cualquier de las «releases» desde Dockerhub.

Aquí fue donde nos falló, tras la actualización daba el error mencionado arriba. Por más que paráramos Greenlight con $ docker-compose down para levantarlo luego con $ docker-compose up -d

Obviamente el mensaje no tenía sentido. Veníamos de una versión 2.2 a una 2.4. Pero creo que ponen un mensaje genérico que no indica mucho.

Qué estaba pasando.

Investigando pudimos ver que ejecutando
docker exec greenlight-v2 bundle exec rake db:migrate nos decía que nos faltaba una tabla, role_permissions , en la base de datos (que se encuentra en el directorio root/greenlight/db/production).

Además, ejecutando docker exec greenlight-v2 bundle exec rake db:migrate:status nos decía que quedaban 3 pasos de la migración por completar.

Teníamos 2 opciones, intentar añadir esta tabla manualmente, y luego volver a ejecutar el comando con db:migrate para que continuara con la migración (o con posteriores errores) o recrear la base de datos. Como nosotros no tenemos grabaciones, y básicamente 3 o cuatro usuarios, decidimos optar por la segunda opción.

Para ello:

  • renombramos la base de datos para poder tener copia.
  • Paramos Greenlight con $ docker-compose down
  • Ejecutamos docker exec greenlight-v2 bundle exec rake db:setup que básicamente recrea la base de datos vacía. Te indica en línea de comandos el usuario administrador.
  • Entramos, cambiamos los datos (nombre y contraseña) del administrador.
  • Añadimos los usuarios que nos faltaba siguiendo la documentación con
    $ docker exec greenlight-v2 bundle exec rake user:create["name","email","password","user"]
    para usuarios normales y
    $ docker exec greenlight-v2 bundle exec rake user:create["name","email","password","admin"] para administradores.

Y resuelto.

Tenemos que recordar que, al ser Greenlight un front-end de Big Blue Button, el servicio de videoconferencias es independiente y sigue activo en todo este proceso (afortunadamente).


Windows se suspende incluso cuando la suspensión está desactivada.Solución. Suspensión desatendida.

En ocasiones nos hemos encontrado este problema en usuarios de Windows , donde aún teniendo la suspensión desactivada en las opciones de energía, el equipo entra en suspensión.
Además ocurre tras periodos de tiempo muy cortos (1,2, 3 o 4 minutos).

Cuando esto ocurre se puede activar una opción de energía de Windows que está oculta, llamada el Tiempo de espera de suspensión desatendida. Os mostramos cómo activarla.

Activar y modificar el Tiempo de espera de suspensión desatendida.

Para realizarlo tenemos que editar el registro.
Nota: ¡haced una copia antes! Modificar el registro sin saber puede dañar el sistema.

  • Abrimos regedit : Ejecutar (o Windows+R ), regedit, Intro.
  • Hacemos la copia de seguridad.
  • Vamos a la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0
  • Buscar a la derecha el valor REG_DWORD Attributes y cambiarlo (botón derecho->Modificar) de 1 a 2.
  • Cerrar regedit e ir a las opciones de energía de Windows (Windows+X->Opciones de energía)
  • Pincha en el mas en Suspender para que se desplieguen los submenús.
  • Uno de ellos es el Tiempo de espera de suspensión desatendida . Puedes modificar su valor. Si pones 0 (cero) se desactiva la suspensión desatendida y no entrará en suspensión aunque no uses tu equipo. Pero puedes subirlo a 180, 240 minutos, o lo que prefieras.

Todavía podrás ajustar los tiempos de suspensión «normal» desde el panel de control de energía, porque son independientes de este (por alguna razón).

Configurar la suspensión desatendida en equipos con Directiva de grupo.

Si tu versión de Windows permite directivas de grupo, abre un editor de directivas (Ejecutar-> gpedit.msc ) y busca:

Configuración del equipo > Plantillas administrativas > Sistema > Administración de energía > Configuración de suspensión

Ahí verás dos opciones de Especificar el tiempo de espera para la suspensión desatendida , una con batería y otra conectado con cable. Pincha en la que quieras, Habilitar y luego pon el tiempo siguiendo el esquema anterior (cero deshabilitado, o el tiempo en minutos.

Cuando los marques se verán en el registro en la clave:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Power\PowerSettings\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0

Campos ACSettingIndex (con cable) y DCSettingIndex (batería).

Fuente: https://answers.microsoft.com/es-es/windows/forum/all/c%C3%B3mo-configurar-el-tiempo-de-espera-de-la/1d5f23b1-e3eb-4c59-9231-501a33a3a300

Qué hacer si un Snippet te ha bloqueado acceso al backend.

Si, nos ha pasado. Jejejeje. Así que os lo dejamos aquí para que no os pase a vosotros.

Situación: creáis un Snippet a través del backend. Lo activáis…. y os echa del mismo. Ya no os deja entrar.
¿Cómo recuperáis acceso? siguiendo estos pasos (afortunadamente el plugin tiene un modo seguro).

  • Entra por FTP
  • Edita el fichero wp-config.php
  • Añade esta línea. Por ejemplo encima de la línea que pone
    /* That’s all, stop editing! Happy blogging. */

    define('CODE_SNIPPETS_SAFE_MODE', true);

    Salva el fichero.
  • Vuelve a entrar en el backend de WordPress. Ya deberías poder. Desactiva o modifica el Snippet y luego quita (o comenta) la línea que has añadido en el fichero para volver a activar los Snippets.

También puedes activar el «safe mode» poniendo esto ?snippets-safe-mode=true detrás de cada url. Pero tienes que hacerlo cada vez que refresque o pase de página.

Solucionado.

Menudo susto 😀

Eliminar una impresora en Windows 10 con Powershell.

En ocasiones, eliminar una impresora en Windows (en la fecha del artículo Windows 10), la versión que sea, es tarea casi imposible. Parece que se resisten a dejarlas. Puedes ir a «Impresoras y Escáneres«, pinchar en la impresora y en «Quitar dispositivo» y Windows que bien, que para tu prima.

Hace un tiempo escribimos un artículo sobre cómo quitar las controladores de una impresora desde Windows. Este truco es lo primero que hay que probar, y funciona en muchos casos. Elimina todos los controladores y quita la impresora. Pero a veces, ni con esa.
Así que os dejamos otra manera de hacerlo usando Powershell (una línea de comandos avanzada).

Cómo eliminar una impresora en Windows 10 con Powershell.

  1. Lo primero que tenemos que hacer abrir un Powershell. En el cuadro de búsqueda escribimos «Powershell» y pinchamos en la aplicación Windows Powershell.
    Se abrirá una ventana azul, muy parecida al cmd pero de otro color.
  2. Lo siguiente es saber el nombre de la impresora a eliminar, el que podemos usar en la línea de comandos.
    Para ello vamos a escribir:
    wmic printer get name
    Esto nos dará una lista de impresoras.
  3. Equivalente a lo anterior es escribir:
    Get-Printer | Format-List Name
  4. Lo siguiente es eliminar esa impresora con:
    Remove-Printer -Name  "nombre de impresora"

    Donde hay que cambiar nombre de impresora por el nombre de la impresora que queremos eliminar.
    Damos a Intro y ya habremos eliminado la impresora.

Cómo mejorar la señal Wifi en tu casa u oficina.

Una de las preguntas habituales en clientes tanto particulares como de empresa: cómo mejorar la señal Wifi en casa o en la oficina.

En este vídeo os dejamos unos cuantos trucos y consejos, además de explicaciones técnicas sobre por qué debéis hacer unas cosas u otras.

Esperemos que os guste. Hemos intentado meter la mayor cantidad de información relevante, sin cansar demasiado con detalles técnicos.

Un resumen sería:

  • Colocad el punto de acceso (o router) en un lugar elevado.
  • Probad a cambiar el canal de emisión.
  • No uséis repetidores.
  • Elegid la ubicación del router para maximizar la cobertura.
  • Si un sólo punto de acceso no cubre toda la casa, tirad cable para colocar un nuevo punto de acceso que cubra las zonas sin señal.

Dónde descargar versiones anteriores de Moodle

Es difícil tener Moodle actualizado a la ultimísima versión, porque la actualización no es «hacer un clic». De hecho tampoco es recomendable porque los temas y addons no se actualizan tan rápido como el core, y porque pueden surgir problemas con la última versión.

Así que cuando quieres actualizar Moodle te encuentras con que tienes que descargar versiones que no están en su página web.

Aquí os dejamos los enlaces para descargar todas las versiones de Moodle.

Desde estos enlaces puedes encontrar la versión o versiones que necesitas y actualizar tu Moodle a la penúltima versión (no recomiendo la última).

Acrobat Reader error: Ya se ha instalado una versión más reciente.

Si estás instalando Acrobat Reader, y te sale el error de «Ya se ha instalado una versión más reciente» seguramente te habrás quedado igual que nosotros. Con ganas de gritar al ordenador «¡pero si no está instalado!»

Hoy os decimos cómo solucionarlo.

Solución.

Os dejamos un vídeo explicando la solución que consiste en:

  • Abrir un Explorador de Windows.
  • Ir a Vista->Opciones->Cambiar opciones de carpeta y búsqueda->Ver.
  • Ahí tenemos que activar la opción «Mostrar archivos, carpetas y unidades ocultos«. Damos a Aceptar.
  • Después tenemos que abrir la ruta C:\ProgramData\Adobe\Setup\{AC76BA86-7AD7-1034-7B44-AC0F074E4100}
  • Ahí tendremos un AcroRead.msi que podremos ejecutar y nos instalará el programa.

WordPress no para de pedir usuario y contraseña de FTP.

Problema.

En ocasiones nos hemos encontrado con este problema en algún cliente. Estás en el backend (administración), y para acceder algunos apartados pide usuario y contraseña de FTP. Además, cuando intentas instalar un plugin, no deja porque no tiene las credenciales de FTP.

Causa y solución.

La causa del problema es que los permisos están mal. configurados en este hosting. Pueden ser los permisos de las carpetas (deberían ser 755 directorios y 644 ficheros en la mayoría de los casos) o que el usuario en que se ejecuta la web no tiene permiso para escribir en el directorio. Obviamente ambos están relacionados, pero por temas de seguridad, no podemos dar cualquier permiso a WordPress.

Lo primero a probar como solución sería cambiar los permisos por FTP. Grabaremos un vídeo sobre esto, pero es fácil asignar los que hemos dicho más arriba.

Si aún así no funciona, lo que debemos hacer es que los administradores del alojamiento nos corrijan el usuario y grupo de los directorios de nuestra web. Deben ser los que corre Apache o el usuario web bajo los que corre Apache. Con este usuario, y los permisos adecuados, WordPress no da problemas.

PERO, los administradores puede tardar un tiempo en solucionar este problema, y mientras tanto necesitamos actualizar o instalar componentes. En este caso os damos dos soluciones provisionales. Ambas deberían ser provisionales, y sólo mientras instalamos o actualizamos (luego las quitamos). Si no podemos tener problemas de seguridad.

  1. Añadir la siguiente línea a wp-config.php

    define('FS_METHOD','direct');

    Lo puedes poner debajo de DB_COLLATE
    Puedes ver más información aquí. Directo fuerza Direct File I/O  en php al transferir ficheros, y a guardarlos con el usuario de Apache,Pero puede abrir agujeros de seguridad si el servidor no está bien configurado.
    Así que ponemos esta línea, guardamos y deberíamos poder actualizar e instalar lo que queramos desde el backend.
    Cuando acabemos, quitamos la línea de nuevo.
  2. Configurar usuario y contraseña de FTP en wp-config.
    De nuevo esto crea riesgos de seguridad porque están los datos de FTP en un fichero al que pueden acceder los usuarios (si está mal configurado).
    Añadimos lo siguiente al fichero (sólo la parte en negrita):

    define(‘FTP_HOST’, ‘ftp.MIDOMINIO.com’);  > Servidor de FTP
    define(‘FTP_USER’, ‘USUARIO_FTP’);  > usuario FTP
    define(‘FTP_PASS’, ‘LA_CONTRASEÑA’);  >contraseña FTP
    define( ‘FTP_BASE’, ‘/httpdocs/wp/’ );  > Directorio donde tenemos instalado wordpress
    define(‘FTP_SSL’, false); > solo en el caso que tengamos SFTP

    De nuevo lo quitamos al acabar.

Las páginas protegidas con contraseña no funcionan en WordPress con caché (plugin, Cloudfront o Cloudflare).

Recientemente hemos estado peleando con esto, y os dejamos la solución.

Problema.

El problema detectado es que no te funcionan las páginas protegidas con contraseña en WordPress. En nuestro caso por más que ponías la contraseña correcta en algunas páginas te la volvía a preguntar. En otras páginas simplemente aparecía el texto sin poner la contraseña.

Causa.

Para entender lo que está pasando hay que comprender cómo funcionan las páginas protegidas por contraseña en WordPress.

Cuando proteges una página, y el usuario pone la contraseña, el truco es que WordPress la comprueba, guarda la contraseña en una cookie llamada
wp-postpass_COOKIEHASH donde COOKIEHASH es un número generado (un hash).
Para ello va a la url wp-login.php?action=postpass

Las causas del error pueden ser varias:

  • Se ha modificado el wp-login.php (por ejemplo para cambiar el acceso de usuario) o alguna redirección o bloqueo no deja llegar a esa página. En tal caso no puede comprobar la contraseña y no funciona.
    Prueba a acceder a tudominio/wp-login.php para ver si funciona.
  • Se está impidiendo acceder o guardar la cookie wp-postpass_*
    Esto suele ser por un CDN o caché, lo vemos más adelante.
  • El caché está guardando esta cookie demasiado tiempo y la contraseña ha cambiado.
    Cambia los tiempos de expiración de las cookies (en concreto la que hemos dicho).
  • La configuración del servidor o de la web está impidiendo que de la página vaya a wp-login y vuelva a la página. Esto está relacionado con los «HTTP referrers«.
    En estos casos dejando pasar estos en el firewall o quitando cosas como <meta name=»referrer» content=»no-referrer»> de la web se arregla.

Obviamente hay alguna causa más pero esto son los principales.

Solución si tienes CDN o caché tipo Cloudfront de Amazon o Cloudflare.

Si estás trabajando con Cloudfront de Amazon o Cloudflare, la causa seguramente será la cookie.

En este caso tienes que ir a la configuración de tu CDN y decir que deje pasar (whitelist) la cookie wp-postpass_*. En Amazon Cloudfront por ejemplo funciona así. Pero debería funcionar en cualquier CDN o plugin de caché.

Comprueba también que los HTTP referrer no los está eliminando el CDN, es decir que los deje pasar como los manda el origen (muchos CDN eliminan los headers).

Esperamos que con esto se os quiten muchos dolores de cabeza porque es un error de los «raros».

Cómo solucionar problemas con Divi con el Support Center y el Safe Mode.

Divi es una de las plantillas más usadas en WordPress. Pero cuando falla, también una de las que más quebraderos de cabeza da. Porque suele fallar con pantallas en blanco, o el editor dando vueltas, y sin errores en ningún lado.

A principios de este año, los creadores de Divi han sacado un nuevo apartado con varias funcionalidades muy útiles para poder arreglar problemas con su plantilla: el Support Center.

Qué es Support Center y qué funciones útiles tiene.

Support Center es un apartado dentro de Divi que incluye varias funcionalidades extra enfocadas a resolver problemas con la plantilla. Os resumimos alguna:

System Status.

Un resumen de la configuración de tu servidor, con opciones que son correctas, y recomendaciones para mejorar. Esto ya es muy útil, porque Divi tiene unos mínimos para que funcione correctamente, estos pueden cambiar en nuevas versiones, y es bueno poder comprobarlo en tu web.
Y específicamente que ve Divi que está «mal» en tu servidor.

Después hay unas opciones más centradas en el soporte de Elegan Themes, como la manera para que su soporte se conecte a tu web (Elegant Themes Support) y un acceso a documentación sobre el tema y su soporte documentado (Divi Documentation & Help).
Las dos últimas opciones son mucho más interesantes.

Safe Mode

Esta opción te permite activar el «modo seguro» en el que se deshabilitarán todos los plugins no esenciales para el funcionamiento de la plantilla. Así puedes ver de manera rápida si un plugin es el que está causando los errores.
Además te indica qué plugins ha deshabilitado (o va a deshabilitar) y te permite activarlos de manera rápida (desactivando Safe Mode).
Parece una tontería…pero es MUY útil.

Logs

Aquí puedes ver el contenido del fichero donde WordPress guarda los registros si tienes activada la opción de  WP_DEBUG_LOG .
También útil para ver lo que pueda estar ocurriendo.

Gran avance Elegant Themes. Buena herramienta para los usuarios de Divi.