martes, 7 de abril de 2020

phpmyadmin: errores en $cfg['TempDir'] y (blowfish_secret).

Después de tener instalado phpmyadmin (versión 4.9.0.1) en Debian 10 (como explique en este otro manual) 

Voy a la página web oficial de phpmyadmin y veo que hay una versión nueva, pues me decidí a instalar la ultima versión de phpMyAdmin (versión 5.0.2), que hace pocos días fue lanzada (03-21-2020), y claro como estamos en casa sin poder salir por la pandemia del coronavirus, me dije voy a instalar la nueva versión. Esta versión requiere: PHP 7.1 o posterior y MySQL 5.5 o posterior.

La verdad es que la instalación ha sido muy rápida, tan solo he tenido que seguir el manual anterior (instalar phpmyadmin en Debian 10).

Pero cual es mi sorpresa que al entrar en phpmyadmin, me encuentro con dos Warning (advertencia), NO errores.

- El archivo de configuración ahora necesita una frase secreta (blowfish_secret).

- El $cfg[‘TempDir’] (/usr/share/phpmyadmin/tmp/) es inaccesible. phpMyAdmin es incapaz de almacenar plantillas y será algo más lento debido a esto.


Ambas son fáciles de reparar, pero como se que muchas personas necesitaran ayuda para repararlo, aquí va mi aportación.



 Reparar el Warning: El $cfg[‘TempDir’] (/usr/share/phpmyadmin/tmp/) es inaccesible.  

Vamos a comenzar por la que parece mas fácil de subsanar es decir la segunda:

El $cfg[‘TempDir’] (/usr/share/phpmyadmin/tmp/) es inaccesible. phpMyAdmin es incapaz de almacenar plantillas y será algo más lento debido a esto.



La solución es muy fácil, solo tenemos que crear una carpeta llamada tmp dentro del directorio de /usr/share/phpmyadmin.

- Primero nos posicionamos en la carpeta /usr/share/phpmyadmin con el siguiente comando:

cd /usr/share/phpmyadmin


Una vez dentro de la carpeta, listamos el contenido de la misma, para ver si aparece la carpeta tmp. Usamos el siguiente comando:

ls -la

Podemos ver que se encuentra listado en orden alfabético, y como hemos podido ver, no aparece la carpeta tmp
Entonces, vamos a crearla dicha carpeta usando el siguiente comando:

mkdir tmp

ahora volvemos a usar el comando ls -la para asegurarnos que hemos creado la carpeta tmp.

Podemos ver como ahora si aparece la carpeta tmp y observamos, que tanto el usuario como el grupo pertenecen a root.
Entonces vamos a cambiarle el propietario y el grupo. Vamos a ponerle el propietario y grupo a www-data que son el usuario y grupo por defecto de Apache2.
Usaremos el siguiente comando:

chown -R www-data:www-data tmp

Y acto seguido volvemos a listar el contenido de la carpeta para ver que hemos cambiado el propietario.
Vemos que ya tiene el propietario correcto y el grupo correcto (www-data)

Ahora solo nos queda reiniciar el servidor web Apache2 para comprobar que hemos solucionado el primer Warning (advertencia).
Usamos el siguiente comando:

service apache2 restart

Al reiniciar el servidor web Apache2, si estábamos dentro de phpmyadmin, nos saca fuera y nos pide que nos volvamos a logear.

Entramos y nos vamos a la parte inferior, y observamos como hemos solucionado el Warning (advertencia)





 Reparar el Warning: El archivo de configuración ahora necesita una frase secreta (blowfish_secret)

Ahora vamos a reparar ahora el siguiente Warning (advertencia)
En este caso nos puede aparece uno de estos dos warning:

El archivo de configuración ahora necesita una frase secreta (blowfish_secret).

La frase secreta en la configuración (blowfish_secret) es demasiado corta.

Ambas advertencia hacen referencia a la clave secreta (blowfish_secret).

- El primer warning nos informa que necesita una clase, ya que no la tiene, (por eso nos informa)

- El segundo warning nos informa que la clave secreta que tiene es demasiado corta, para solucionarlo, tendremos que ponerle una mas larga. (a si de simple)

Como ambos warning hacen referencia a la clave secreta (blowfish_secret) para solucionarlo, tenemos que estar posicionados en la carpeta donde se guarda la contraseña, osea en: /usr/share/phpmyadmin

Primero nos posicionamos en la carpeta /usr/share/phpmyadmin con el siguiente comando:

cd /usr/share/phpmyadmin

Aquí vamos a editar el archivo llamado config.inc.php.
Usando el editor nano, con el siguiente comando:

nano config.inc.php

Aquí buscamos la variable $cfg['blowfish_secret'] = ' '; puede ser que no aparezca (en caso de no aparecer, seguir leyendo el siguiente paso)
Hemos encontrado la variable y observamos que el espacio reservado para la contraseña (las dos comillas simples) esta vacía, es aquí donde radica la advertencia. Entonces es en este lugar donde escribiremos una contraseña que sea larga, (tiene que ser larga) en caso contrario nos cambiará la advertencia y nos informará que la contraseña es demasiado corta.

En este ejemplo la contraseña que hemos colocado es: 'estaeslaclavequenecesitaparafuncionar´

Observación: Si la variable $cfg['blowfish_secret'] = ' '; no aparece, tenemos que crearlo nosotros, escribiendo la variable nosotros.

Guardamos los cambios pulsando la combinación de teclas Ctrl + O, (tecla Control mas tecla o) y luego salimos usando la combinación de teclas Ctrl + (tecla Control mas tecla X) 

Ahora solo nos falta reiniciar el servidos web Apache2.
Usando el siguiente comando:

service apache2 restart

Al reiniciar el servidor web Apache2, si estábamos dentro de phpmyadmin, nos saca fuera y nos pide que nos volvamos a logear.


Entramos y nos vamos a la parte inferior, y observamos como hemos solucionado el Warning (advertencia)











.

1 comentario:

Enrique Tabilo dijo...

MUY buen artículo, he mirado varios por internet y el tuyo mi ayudo...