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.

Error Call to undefined function current_language() al correr el cron de Moodle

Otro de los errores típicos que nos encontramos al dar soporte a los clientes.

En este caso se trata al ejecutar el cron que necesita Moodle para las tareas de mantenimiento y limpieza. En el manual de Moodle indica que hay que ejecutar:

/usr/bin/php /ruta/hacia/moodle/admin/cli/cron.php

Este comando (con versiones actuales de Moodle, y dependiendo de la versión que tengas en tu servidor) puede dar el siguiente error:

Call to undefined function current_language() in /var/www/clients/client10/web87/web/lib/setuplib.php:713

Causa.

La causa de este error es que el script cron.php de las nuevas versiones de Moodle tienen comandos que no son compatibles con versiones anteriores a la 7.2 y tu servidor está ejecutando (al menos esa instancia) con una versión anterior.

Solución.

La solución es cambiar el comando que recomiendan y ejecutar la 7.2 (o superior). Así:

/usr/bin/php7.2 /ruta/hacia/moodle/admin/cli/cron.php

Si te da error ve a /usr/bin/ a ver que versiones tienes. Si no tienes superior a la 7.1 te toca instalar o pedir que te instalen una versión superior.

Una vez que veas que funciona en cli, puedes ponerlo en un cron job.

Nota: los números que he usado son actuales. Con problemas futuros habrá que probar con otras versiones, siempre superiores a la que te da el error.

Cómo hacer copia de seguridad del registro de Windows.

Nos hemos dado cuenta que, tras muchos artículos con soluciones que implicaban cambiar el registro, no hemos enseñando nunca a realizar una copia de seguridad del registro.
Aunque siempre advertimos que debe hacerse.

Así que hoy os dejamos un vídeo sobre cómo hacerlo.

Cómo exportar claves del registro de Windows, o el registro entero.

En este vídeo, os enseñamos a realizar la copia de seguridad del registro entero de Windows, o de claves específicas.