Búsqueda de sitios web

Cómo instalar phpMyAdmin en Ubuntu 22.04|20.04|18.04


En nuestra guía de hoy, analizaremos cómo instalar phpMyAdmin con Apache en Ubuntu 22.04|20.04|18.04. El paquete phpMyAdmin disponible en el repositorio Ubuntu 22.04|20.04|18.04 es un poco antiguo. Si necesita instalar la última versión de phpMyAdmin en Ubuntu 22.04|20.04|18.04, deberá descargar el paquete desde la página oficial de versiones de phpMyAdmin.

Para los chicos de Fedora, utilice nuestra guía anterior: Cómo instalar y configurar phpMyAdmin en Fedora

¿Qué es phpMyAdmin?

phpMyAdmin es una herramienta gratuita y de código abierto escrita en PHP que se utiliza para administrar el servidor de bases de datos MySQL y MariaDB desde una interfaz web. La mayoría de los desarrolladores prefieren usar phpMyAdmin para interactuar con un servidor de base de datos debido a su facilidad de uso, además del editor SQL avanzado que facilita la creación y prueba de consultas SQL complejas.

Paso 1: instalar PHP y extensiones

El primer requisito de software para ejecutar phpMyAdmin es PHP. Dado que phpMyAdmin está escrito en PHP, debe instalarlo en el sistema host. La versión de PHP puede ser la disponible en el repositorio o una versión más reciente.

Si elige utilizar la versión de PHP disponible en los repositorios de su sistema operativo, instálela ejecutando los siguientes comandos en su terminal.

sudo apt update
sudo apt  install -y php php-tcpdf php-cgi php-pear php-mbstring libapache2-mod-php php-common php-phpseclib php-mysql

Paso 2: Instale la base de datos MariaDB (opcional)

El siguiente paso es instalar el servidor de base de datos MariaDB si aún no tiene uno.

sudo apt install mariadb-server

Asegure su servidor de base de datos:

sudo mysql_secure_installation

Necesitará un usuario no root para acceder al panel de phpMyAdmin. Si no tiene uno, puede crear uno de prueba.

Inicie sesión en el shell mysql:

sudo mysql -u root

Crear base de datos de prueba y usuario.

CREATE DATABASE mydemo;
GRANT ALL ON mydemo.* TO mydemo@localhost IDENTIFIED BY 'MyStrongDBPassw0rd';
FLUSH PRIVILEGES;
QUIT

Pruebe el inicio de sesión con el usuario creado.

$ mysql -u mydemo -pMyStrongDBPassw0rd
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 59
Server version: 10.3.22-MariaDB-1ubuntu1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

Paso 3: Instale el servidor web Apache

Para esta configuración de instalación, elegimos Apache como servidor web para usar con phpMyAdmin. Sin embargo, eres libre de elegir el servidor web que prefieras.

Instale Apache en Ubuntu/Debian ejecutando los siguientes comandos:

sudo apt -y install apache2

Paso 4: Descarga phpMyAdmin

Puede consultar el lanzamiento de phpMyAdmin desde la página de descargas. Gracias William Deportes por la sugerencia sobre cómo obtener la última versión de phpMyAdmin.

Descargue la última versión de phpMyAdmin con el comando wget.

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Extraer el archivo descargado:

tar xvf phpMyAdmin-latest-all-languages.tar.gz

Mueva la carpeta resultante a la carpeta /usr/share/phpmyadmin.

sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin

Cree un directorio para archivos temporales de phpMyAdmin.

sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown -R www-data:www-data /var/lib/phpmyadmin

Cree un directorio para los archivos de configuración de phpMyAdmin, como el archivo htpass.

sudo mkdir /etc/phpmyadmin/

Cree el archivo de configuración phpMyAdmin.

sudo cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php

Edite el archivo /usr/share/phpmyadmin/config.inc.php y establezca una frase de contraseña secreta:

$ sudo vim /usr/share/phpmyadmin/config.inc.php
$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i'; 

Configurar el directorio temporal:

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Paso 5: configurar el servidor web Apache

Cree el archivo de configuración de phpMyAdmin Apache:

sudo vim /etc/apache2/conf-enabled/phpmyadmin.conf

Y pegue el siguiente contenido en el archivo:

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Puede restringir el acceso desde una IP específica agregando una línea como la siguiente:

Require ip 127.0.0.1 192.168.18.0/24
  • Donde 192.168.18.0/24 es su subred de confianza.

Reinicie el servidor web apache.

sudo systemctl restart apache2

Paso 6: visite la interfaz web de phpMyAdmin

Abra la URL http://[ServerIP|Hostname]/phpmyadmin para iniciar sesión en el panel de phpMyAdmin con las credenciales de su base de datos: nombre de usuario y contraseña.

El panel de phpMyAdmin se muestra al iniciar sesión correctamente. Se parece a esto:

Disfrute administrando el servidor de base de datos MySQL/MariaDB usando phpMyAdmin.

Libros recomendados para leer:

  • Los mejores libros para aprender desarrollo web: PHP, HTML, CSS, JavaScript y jQuery
  • Los mejores libros para dominar el diseño web
  • Los mejores libros para aprender CSS y CSS3
  • Los mejores libros para aprender HTML y HTML5
  • Los mejores libros de referencia de Apache y Nginx

Gracias nuevamente por utilizar nuestra guía para instalar phpMyAdmin en el sistema Linux Ubuntu 22.04|20.04|18.04. Esperamos que esta guía te haya resultado útil.