Actualizar PHPMyAdmin a mano

El otro día me pudrí de los errores que me daba PHPMyAdmin, molestos, incómodos, pero todos porque hace mil años que no lo actualizaban en el repositorio de Ubuntu. Cansado de eso busqué cómo hacer para actualizarlo a mano en vez de esperar mil años para el repo.

Para aquellos que tienen VPS o servidores montados sobre Ubuntu 20.10 hasta 16.04 esta explicación les va a servir. No se si se da en otras distros pero seguramente también suceda, los repositorios no se actualizan tan rápido y siempre queda un PHPMyAdmin viejo.

Backup

Primero, como siempre, hacer un backup del PHPMyAdmin viejo, no es que sea muy importante conservarlo... pero háganlo

sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak

Luego vuelven a crear la carpeta

sudo mkdir /usr/share/phpmyadmin/

Y entran en ésta

cd /usr/share/phpmyadmin/   

Bajar y extraer PHPMyAdmin

Tengan en cuenta que PHPMyAdmin 5 es sólo compatible con PHP a partir de la versión 7.1, lo ideal es que tengan instalado 7.4 o 8.x por seguridad, pero no es raro encontrar servidores con versiones más viejas.

Siempre visiten primero la página oficial antes de descargar la versión que aquí indique porque esto se puede desactualizar rápido, la versión oficial al momento de escribir esto es la 5.1.2

Descagar desde consola:

sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.1.2/phpMyAdmin-5.1.2-all-languages.tar.gz

descomprimir:

sudo tar xzf phpMyAdmin-5.1.2-all-languages.tar.gz
    
ver el contenido:

ls
    
Como notarán hay una carpeta completa llamada "phpMyAdmin-5.1.2-all-languages" que tiene todos los archivos.

La vamos a mover a su destino final:

sudo mv phpMyAdmin-5.1.2-all-languages/* /usr/share/phpmyadmin

Y así como está ya pueden entrar a la nueva versión. Notarán el cambio si se loguean de nuevo.

Configurar vendor_config.php

Hay varios "problemitas" que pueden surgir y se solucionan editando el vendor_config.php

Errores comunes:

$cfg[‘TempDir’] (./tmp/) is not accessible

Editan el archivo en cuestión:

sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php
    
Nano es un programa para editar texto, pueden usar vim o lo que les guste, en nano para buscar una cadena de texto usan CTRL+W y buscan: "TEMP_DIR"

Debería aparecer algo así:

define('TEMP_DIR', ROOT_PATH . 'tmp' . DIRECTORY_SEPARATOR);

Pueden comentarlo o borrarlo y agregar:

define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');

CTRL+X y una linda Y ya cierran nano y guardan los cambios.

blowfish_secret

A veces el archivo de configuración necesita una frase secreta, se agrega así.

Abren el vendor_config

sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php
    
Buscan la cadena CONFIG_DIR y la cambian por:

define('CONFIG_DIR', '/etc/phpmyadmin/');

Con esto PHPMyAdmin generará su propia frase secreta en el directorio de instalación.

Limpieza

Si todo está bien pueden borrar el archivo descargado, la carpeta de descompresión y el directorio de backup

    sudo rm /usr/share/phpmyadmin/phpMyAdmin-5.1.2-all-languages.tar.gz

    sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-5.1.2-all-languages

    sudo rm -rf /usr/share/phpmyadmin.bak
    
O lo dejan ahí por las dudas

Blowfish Secret Error “Too Short”

En algunos casos al intentar loguearse puede aparecer ese mensaje de error, se edita el blofwish_secret aquí:

sudo nano /var/lib/phpmyadmin/blowfish_secret.inc.php

y se agrega la siguiente línea 

<?php
    
    $cfg['blowfish_secret'] = '32_char_random_phrase_here';

Este tutorial es una versión traducida del original de Dev Answers aquí, el sitio está lleno de geniales tutoriales para todas estas cosas que un sysadmin siempre necesita Guiño

Si te gustó esta nota podés...
Invitame un café en cafecito.app


Otros posts que podrían llegar a gustarte...

Comentarios

  • Nach0     07/02/2022 - 13:09:36

    Hace años que cambié phpmyadmin por adminer y no me arrepiento, cumple con todo lo que debe hacer un herramienta de administración de BD y pesa solo 400kb (es simplemente un archivo .php). Es rapidísimo comparado phpmyadmin.

    lo probaste?

    • Nach0     07/02/2022 - 13:13:04

      olvidate me autorespondo jaja:

      https://www.fabio.com.ar/7899

      • Fabio Baccaglioni     07/02/2022 - 13:20:03

        jaja señor, obvio :D si, ya lo había posteado pero Adminer carece de unas cuantas cosas que el otro las tiene más completas, para la admin básica recontra va.

    • José Zanni     08/02/2022 - 12:00:27

      Venía a decir exactamente lo mismo... NUNCA mas usé PhpMyAdmin, me parece un monstruo incómodo y enorme.

      Con Adminer está todo en un solo PHP y tiene de sobra todo lo que yo necesito.

      • Fabio Baccaglioni     08/02/2022 - 15:43:21

        Adminer es medio un riesgo de seguridad también, recomiendo cambiarle el nombre al archivito...

  • cesar     08/02/2022 - 00:37:15

    Que locura hacer eso, con la cantidad de cosas que pueden salir mal.

    • Fabio Baccaglioni     08/02/2022 - 01:02:21

      hay cosas peores y, además, la primer tarea es hacer backup ¿Qué puede salir mal? Peor es tener mil errores forzados por una versión antigua que jamás actualizan en el repo

  • José Zanni     11/02/2022 - 14:14:14

    Fabio Baccaglioni dijo:

    Adminer es medio un riesgo de seguridad también, recomiendo cambiarle el nombre al archivito...

    Ah si, eso es lo primero que hago!!

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https

Negrita Cursiva Imagen Enlace


Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.