Instalar phpMyadmin y tenerlo actualizado en Debian Jessie (8.x)

Ya sea porque has actualizado a PHP 7, o porque te interesan las nuevas funcionalidades de phpMyadmin, aquí se explica cómo instalarlo y tenerlo actualizado automáticamente a la última versión, gracias al repositorio que tienen en Github.

Lo primero que tendremos que hacer es configurar un nuevo subdominio para la gestión del nuevo sistema, ya que no es recomendable tenerlo en la carpeta-alias “/phpmyadmin” que se crea en nuestro dominio principal, por ser objeto de numerosos ataques por fuerza bruta.

Para ello, creamos un nuevo fichero de configuración del subdominio en Apache, cambiando “tudominio.com” por el nombre de tu dominio:

sudo pico /etc/apache2/sites-available/pma.tudominio.com.conf

Y pegamos el siguiente contenido. Recuerda modificar “tudominio.com” por el dominio en el que vayas a configurar el sistema:

<VirtualHost *:80>
  DocumentRoot /var/www/phpmyadmin/
  ServerName pma.tudominio.com
  ServerAlias pma.tudominio.com
  ServerAdmin [email protected]tudominio.com
  ErrorLog /var/www/phpmyadmin/logs/error.log
  CustomLog /var/www/phpmyadmin/logs/access.log combined
  <Directory /var/www/phpmyadmin>
    Options All -Indexes
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>
</VirtualHost>

Ctrl + X para guardar, pulsamos en “S” o “Y” para aceptar el guardado (depende del idioma de tu Debian).

Creamos la estructura de directorios que hemos especificado:

sudo mkdir -p /var/www/phpmyadmin/logs

Y le decimos a Apache que active el virtual host que acabamos de crear:

sudo a2ensite test.com.conf

Si no tenemos instalado Git, ahora es el momento:

sudo apt update && apt install -y git

Nos vamos a la raíz de www y descargamos manualmente una primera versión de phpMyadmin

cd /var/www
sudo git clone --depth=1 --branch=STABLE https://github.com/phpmyadmin/phpmyadmin.git
Cloning into ‘phpmyadmin’…
remote: Counting objects: 2403, done.
remote: Compressing objects: 100% (2271/2271), done.
remote: Total 2403 (delta 383), reused 913 (delta 76), pack-reused 0
Receiving objects: 100% (2403/2403), 8.77 MiB | 4.55 MiB/s, done.
Resolving deltas: 100% (383/383), done.
Checking connectivity… done.

Para que las nuevas versiones de phpMyadmin funcionen, debemos instalar Composer. Como el hash de instalación cambia con cada versión, te dejo enlace con los pasos a seguir en su página web. Recuerda que tras instalar Composer, debes crear el proyecto phpmyadmin con el siguiente comando:

sudo php composer.phar create-project phpmyadmin/phpmyadmin --repository-url=https://www.phpmyadmin.net/packages.json --no-dev

Tanto la instalación de Composer como la del proyecto phpMyadmin debes hacerlas dentro del directorio /var/www/phpmyadmin

Copiamos la configuración por defecto de phpMyadmin para poder personalizarla:

sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php

Reiniciamos apache para comprobar si nos carga correctamente el subdirectorio de PMA:

sudo apachectl -t
Syntax OK
service apache2 restart

Si cargamos http://pma.tudominio.com, deberíamos ver algo similar a esto:

Sería conveniente añadir más capas de seguridad, como deshabilitar el acceso root, permitir sólo conexiones locales (entrando a través de túnel inverso SSH), etc. Pero no es el fin de esta guía.

Para automatizar una actualización diaria de phpMyadmin, crearemos un script:

sudo mkdir -p /root/scripts
sudo pico /root/scripts/actualiza-pma.sh

En su interior, pondremos el siguiente contenido:

#!/bin/bash
cd /var/www/phpmyadmin/
git pull -q origin STABLE
chown -R www-data:www-data /var/www/phpmyadmin/

Debemos darle permisos de ejecución para poder convertirlo en un script:

sudo chmod +x /root/scripts/actualiza-pma.sh

Abrimos el editor de crontab de root:

sudo crontab -e

Y añadimos lo siguiente para actualizarlo, por ejemplo, todos los días a las 5 de la madrugada:

For more information see the manual pages of crontab(5) and cron(8)
m h dom mon dow command
0 5 * * * /root/scripts/actualiza-pma.sh >/dev/null 2>&1

Si todo ha salido bien, cada vez que entremos a phpMyadmin veremos en la info que está en la última versión:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Do NOT follow this link or you will be banned from the site!