Cómo actualizar PHPmyAdmin [revisitado]

28

Esta pregunta se hizo anteriormente, Cómo actualizar PHPmyAdmin

La respuesta dada fue

sudo apt-get update
sudo apt-get install phpmyadmin

o

sudo apt-get update
sudo apt-get upgrade

La versión de phpmyadminincluido en apt-get es 4.5.4, que se lanzó el 28 de enero de 2016.

En respuesta a esta pregunta, una respuesta fue usar el archivo phpMyAdmin que ofrece los siguientes comandos.

sudo add-apt-repository ppa:phpmyadmin/ppa
sudo apt-get update

En mi caso, eso actualizó muchas cosas, pero, no específicamente phpmyadmin, necesitaba el comando adicional

sudo apt-get update phpmyadmin

Esto superó con éxito la versión 4.9.0.1que se lanzó en 2019.

Al momento de escribir esto, parece que se requiere descargar y copiar manualmente usando las vagas instrucciones de docs.phpmyadmin.net .

¿Existe un repositorio más actual phpmyadminque el PPA o se requiere una instalación manual?

Dwight Wilbanks
fuente
2
@Rinzwind, actualmente está en la versión 4.5.4 y me gustaría que sea la versión actual de 4.7.3, ¿cómo es eso y no actualizar?
Dwight Wilbanks
Si no puede descubrir cómo instalar pma desde los tarballs, realmente no debería estar en el negocio de administrar un servidor web ... -1 para todos los que están aquí.
fkraiem

Respuestas:

36

¡@Foto Larry casi da en el clavo! Voy a dar una respuesta basada en la suya que será fácil de entender y seguir.

  • El primer paso es instalar PMA (phpMyAdmin) desde el repositorio oficial de Ubuntu: apt-get install phpmyadmin.
  • A continuación, cd en el directorio usr / share: cd /usr/share.
  • En tercer lugar, eliminar el directorio phpmyadmin: rm -rf phpmyadmin.
  • Ahora tenemos que descargar la última versión de PMA en nuestro sistema (en cuenta que necesita wget: apt-get install wget): wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip" Voy a explicar los argumentos de este comando, -P define la ruta y "el link.zip" es actualmente (07/17/18 ) la última versión de PMA. Puedes encontrar esos enlaces AQUÍ .
  • Para este próximo paso que debe descomprimir ( apt-get install unzip): unzip phpMyAdmin-4.8.2-english.zip. Acabamos de descomprimir PMA, ahora lo trasladaremos a su hogar final.
  • ¡Usemos el cpcomando (copiar) para mover nuestros archivos! Tenga en cuenta que tenemos que agregar el -rargumento ya que esta es una carpeta. cp -r phpMyAdmin-4.8.2-english phpmyadmin.
  • Ahora es el momento de limpiar: rm -rf phpMyAdmin-4.8.2-english.

¡Sigue leyendo!

Ahora puede notar dos errores después de iniciar sesión en PMA.

the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

Sin embargo, estos problemas son relativamente fáciles de solucionar. Para el primer problema, todo lo que tiene que hacer es tomar el editor de su elección y editarlo, /usr/share/phpmyadmin/config.inc.phppero hay un problema, ¡lo eliminamos! Está bien, todo lo que tienes que hacer es: cd /usr/share/phpmyadmin& cp config.sample.inc.php config.inc.php.

Ejemplo de entrada variable secreta phpMyAdmin Blowfish:

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; 
/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Ahora guarde y cierre el archivo.

  • Ahora crearemos un directorio tmp para PMA: mkdir tmp& chown -R www-data:www-data /usr/share/phpmyadmin/tmp. El último comando permite al servidor web Apache poseer el directorio tmp y editar su contenido.

EDITAR 12 de diciembre de 2018

No quieres que alguien te robe las cookies, ¿verdad?

Me ha llamado la atención que https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator causa errores en versiones anteriores en PMA. Sin embargo, la razón principal por la que desanimaría a que los sitios web utilizan como esto se debe a que no tiene ni idea de si utilizan un PRNG débil (Pseudo-Random Number Generator) (por ejemplo rand(), mt_rand()y lcg_value()) o uno de los "arrastrando los pies" funciones (por ejemplo str_shuffle(), shuffle(), array_rand()) Como tal, hice mi propia herramienta para este propósito. ¡Genera una cadena de 32 caracteres criptográficamente segura que puede usar sin preocuparse por la seguridad o los errores! Página del manual de PHP para la función que uso para generar la aleatoriedad http://php.net/manual/en/function.random-int.php . Reemplacé el viejo enlace por este:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/ .

CRIMSON 501
fuente
¡Buenas líneas! Los seguí con pocos pasos secundarios: a) en lugar de eliminar la versión anterior, le cambiaría el nombre; b) puede ser útil crear un enlace simbólico phpmyadmin, que se puede cambiar fácilmente entre varias versiones.
AntonK
He copiado su respuesta aquí, ya que creo que es la mejor opción. Si quieres dar tu propia respuesta, dímelo y eliminaré la mía.
PhoneixS
Está bien. ¡Muchas gracias por el crédito y por tener la decencia de informarme! @PhoneixS
CRIMSON 501
También debe eliminar el archivo ZIP descargado como parte de la limpieza
IvanRF
9

Solo tuve que hacer esto debido a problemas con php7.2 y recibir el error count(): Parameter must be an array or an object that implements Countable.

La versión de apt era 4.5.4 y el ppa no tiene las soluciones para php7.2. Mi solución fue descargar la última versión de https://www.phpmyadmin.net/ y copiar los archivos a /usr/share/phpmyadmin.

Jason Houle
fuente
1
funcionó para mí como un encanto
Norman Bird
OK, mucho mejor ahora! Debian (y Ubuntu) deberían actualizar sus paquetes. PD. Incluso estoy ejecutando PHP 7.3.
peligro89
3

Como se indicó anteriormente, debe actualizar los archivos manualmente, pero busqué durante una hora para averiguar dónde estaban ubicados (/ usr / share) y seguí viendo que iba a colocarse en / var / www / html, lo cual es incorrecto . Si instaló el software con apt-get install phpmyadmin después de agregar el repositorio anterior que dice ser actual, entonces al menos obtendrá las bibliotecas php7.2 necesarias. Luego debe instalar la NUEVA versión (4.8) en / usr / share / phpmyadmin yendo a / usr / share y clonando el git: git clone https://github.com/phpmyadmin/phpmyadmin.git (Primero hice rm -rf phpmyadmin) solo para asegurarme de que no quedaba ningún código antiguo. Luego, al ingresar a la interfaz web ... verá que se está utilizando la versión más nueva. Luego asegúrese de cd a phpmyadmin y ejecute: composer update --no-dev Esto obtiene las bibliotecas adicionales necesarias. Esto instala 4.9.0-dev que funciona muy bien y estoy ejecutando Ubuntu 16.04.4. Gracias espero que esto ayude a alguien a ahorrar tiempo

Foto Larry
fuente
¡Gracias !, ¡esto me salvó el día! pero decidí usar el estable github.com/blackmambano5/phpmyadmin.git ¡ esta es la versión 4.8.1 y todo funciona!
gfivehost
Gracias, esto ayudó. Lo instalé desde zip, no desde Github, no hay mucha diferencia allí. Sugiero editar la pregunta para dividir el párrafo grande en una lista de pasos.
pgr
Mejor obtener los últimos estable versión de Git como esto: git clone -b STABLE https://github.com/phpmyadmin/phpmyadmin.git.
Christopher K.
2

Simplemente puede instalar manualmente la última versión de phpmyadmin.

Dirígete a https://www.phpmyadmin.net/downloads y descarga la última versión, pero asegúrate de tener la versión compatible de PHP y MySQL que figura en el sitio web.

Extraerlo a la carpeta pública del servidor y editar el config.inc.phparchivo. Asegúrese de que auth_typesea cookiey hostsea ​​lo que sea su anfitrión. Esta configuración le hará ingresar su nombre de usuario y contraseña al iniciar sesión.

/*Authentication type*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
Timothy
fuente
2

Usaría el archivo phpMyAdmin si realmente necesita la última versión. Tenga en cuenta que hay una dependencia (también necesita un php más nuevo):

Descripción de PPA

Últimos paquetes phpMyAdmin: https://www.phpmyadmin.net/ . Basado en paquetes disponibles en Debian.

Hay algunos cambios notables:

Rinzwind
fuente
2
Creo que preguntó cómo actualizarlo a la última versión, no dónde se puede descargar la instalación.
Tarik
1
En julio de 2018, ese PPA todavía está en 4.6.6 (con el error) mientras que phpMyAdmin está en 4.8 (sin el error). Parece que el PPA ya no se mantiene?
Steve
Acabo de usar este PPA - 4.9.0, no está mal - la última es 4.9.1. Hace la vida simple.
Tuve
0

Aconsejaría usar Docker para ejecutar el último phpmyadmin. Es fácil de configurar y todas las dependencias se administran automáticamente y no interactúan con su instalación local. Utiliza 25 MB de RAM, por lo que tampoco es un memoryhog.

Muy fácil de ejecutar el último phphmyadmin en cualquier plataforma.

https://docs.phpmyadmin.net/en/latest/setup.html#installing-using-docker

Peterdk
fuente
0

La respuesta de Crimson501 es perfecta a menos que esté en Ubuntu, para solucionar el problema del archivo blowfish y tmp en ubuntu, debe modificar el siguiente archivo, para hacer referencia a la configuración existente y al directorio tmp que usa ubuntu.

Usando su editor de archivos de texto favorito, modifique:

/usr/share/phpmyadmin/libraries/vendor_config.php
find TEMP_DIR
modify './tmp/' to '/var/lib/phpmyadmin/tmp/'
find CONFIG_DIR
modify '' to '/etc/phpmyadmin/'
save the changes

Ahora, cuando regrese y actualice la página, los errores desaparecerán.

usuario373310
fuente
-1

Siguiendo las instrucciones que se encuentran aquí , creé este script simple para actualizar PHPMyAdmin a la última versión estable :

echo
echo "Backing up"
mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak

echo "Getting lastest PHPMyAdmin version..."
mkdir -p /usr/share/phpmyadmin/
cd /usr/share/phpmyadmin/
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
tar xzf phpMyAdmin-latest-all-languages.tar.gz
mv phpMyAdmin-*/* /usr/share/phpmyadmin

echo "Updating vendor_config"
sed -i -r "s/('TEMP_DIR'\s*,)[^\)]*/\1 '\/var\/lib\/phpmyadmin\/tmp\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php
sed -i -r "s/('CONFIG_DIR'\s*,)[^\)]*/\1 '\/etc\/phpmyadmin\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php

echo "Cleaning up..."
rm /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.tar.gz
rm -rf /usr/share/phpmyadmin/phpMyAdmin-*
rm -rf /usr/share/phpmyadmin.bak

echo "Done!"
echo
garsax
fuente