GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar phpMyAdmin con Apache (LAMP) en Ubuntu 18.04

Este tutorial le mostrará cómo instalar phpMyAdmin con Apache, MariaDB, PHP7.2 (pila LAMP) en Ubuntu 18.04 LTS. phpMyAdmin es una herramienta de administración de base de datos basada en web gratuita y de código abierto escrita en PHP. Proporciona una interfaz web gráfica para que los usuarios administren la base de datos MySQL o MariaDB. También vamos a aprender cómo habilitar la autenticación de dos factores en phpMyAdmin.

phpMyAdmin permite a los administradores:

  • navegar a través de bases de datos y tablas;
  • crear, copiar, renombrar, modificar y eliminar bases de datos;
  • crear, copiar, renombrar, modificar y eliminar tablas;
  • realizar el mantenimiento de la tabla;
  • añadir, editar y soltar campos;
  • ejecutar cualquier instrucción SQL, incluso múltiples consultas;
  • crear, modificar y eliminar índices;
  • cargar archivos de texto en tablas;
  • crear y leer volcados de tablas o bases de datos;
  • exportar datos a formatos SQL, CSV, XML, Word, Excel, PDF y LaTeX;
  • administrar múltiples servidores;
  • administrar usuarios y privilegios de MySQL;
  • verifique la configuración del servidor y la información de tiempo de ejecución con sugerencias de configuración;
  • verificar la integridad referencial en las tablas MyISAM;
  • cree consultas complejas usando Query-by-example (QBE), automáticamente
  • conectando las tablas requeridas;
  • crear gráficos en PDF del diseño de la base de datos;
  • buscar globalmente en una base de datos o en un subconjunto de ella;
  • transformar datos almacenados en cualquier formato utilizando un conjunto de funciones predefinidas, como mostrar datos BLOB como imagen o enlace de descarga;
  • administrar tablas InnoDB y claves externas;

Requisitos

Para seguir este tutorial, necesita un sistema operativo Ubuntu 18.04 ejecutándose en su computadora local o en un servidor remoto.

Si está buscando un VPS (servidor privado virtual), puede crear una cuenta en Vultr a través de mi enlace de referencia para obtener $ 50 de crédito gratis (solo para nuevos usuarios). Y si necesita configurar phpMyAdmin con un nombre de dominio, le recomiendo comprar nombres de dominio de NameCheap porque el precio es bajo y ofrecen protección de privacidad whois de forma gratuita.

Se supone que ya instaló la pila LAMP en Ubuntu 18.04. Si no es así, consulta el siguiente tutorial.

  • Cómo instalar la pila LAMP (Apache, MariaDB, PHP7.2) en Ubuntu 18.04 LTS

Con eso fuera del camino, comencemos con la instalación de phpMyAdmin.

Paso 1:Descargue e instale phpMyAdmin en Ubuntu 18.04

phpMyAdmin está incluido en el repositorio de software de Ubuntu 18.04. para que podamos instalarlo fácilmente con el siguiente comando.

sudo apt update
sudo apt install phpmyadmin

El comando anterior instalará todas las dependencias necesarias, incluidas las extensiones PHP7. Durante la instalación, le pedirá que seleccione un servidor web para configurar. Presiona el space barra para seleccionar apache2. (Un asterisco * indica que el elemento está seleccionado). Luego presiona Tab tecla y Enter para confirmar su elección.

En la siguiente pantalla, seleccione Yes para configurar una base de datos para phpMyAdmin con dbconfig-common .

Luego establezca una contraseña para el phpmyadmin usuario en MariaDB/MySQL.

Una vez realizado este paso, una nueva base de datos llamada phpmyadmin se crea y el usuario de la base de datos phpmyadmin tiene los privilegios necesarios para administrar esta base de datos. Si tiene curiosidad como yo, puede iniciar sesión en MariaDB y verificar qué privilegios phpmyadmin usuario ha sido concedido.

Puede usar el siguiente comando para iniciar sesión en el servidor MariaDB.

sudo mysql -u root

Luego verifique los privilegios de phpmyadmin usuario.

show grants for [email protected];

Salida:

Como puede ver, el usuario phpmyadmin tiene todos los privilegios en la base de datos phpmyadmin . Ahora puede salir ejecutando:

exit;

Ahora ejecute el siguiente comando para verificar si /etc/apache2/conf-enabled/phpmyadmin.conf el archivo existe.

file /etc/apache2/conf-enabled/phpmyadmin.conf

Si no hay ningún error en el proceso de instalación, debería ver el siguiente comando.

/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf

Si este archivo no existe en su servidor, es probable que no haya seleccionado el servidor web Apache en el asistente de configuración de phpMyAdmin. Puedes arreglarlo con los siguientes comandos.

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf

sudo a2enconf phpmyadmin

sudo systemctl reload apache2

Paso 2:Acceso a phpMyAdmin desde un subdirectorio

Al instalar phpMyAdmin, se coloca un archivo de configuración en /etc/apache2/conf-enabled/phpmyadmin.conf , que nos permite acceder a phpMyAdmin a través de un subdirectorio. Si ha instalado otras aplicaciones web como WordPress en el mismo servidor Ubuntu 18.04, simplemente agregue /phpmyadmin después de su nombre de dominio en la barra de direcciones del navegador.

your-domain.com/phpmyadmin

Si phpMyAdmin está instalado en su computadora Ubuntu local, puede acceder a la interfaz web de phpMyAdmin escribiendo el siguiente texto en la barra de direcciones del navegador.

localhost/phpmyadmin

Si la conexión se rechaza o no se completa, es posible que haya un firewall que impida las solicitudes HTTP. Si está utilizando el firewall de iptables, debe ejecutar el siguiente comando para abrir los puertos TCP 80 y 443.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Si está utilizando un firewall UFW, ejecute este comando para abrir los puertos TCP 80 y 443.

sudo ufw allow http
sudo ufw allow https

Ahora puede usar el nombre de usuario y la contraseña de MariaDB/MySQL para iniciar sesión en phpMyAdmin

Paso 3:Acceda a phpMyAdmin desde un subdominio

Si su servidor Ubuntu 18.04 no tiene otro host virtual Apache, entonces puede usar un subdominio para acceder a la interfaz web de phpMyAdmin. De esta forma, puede habilitar HTTPS para cifrar el tráfico.

Primero, necesitamos crear un servidor virtual Apache para phpMyAdmin. El fragmento de código de configuración de phpMyAdmin existente se puede utilizar como plantilla. Vamos a copiarlo en un archivo nuevo.

sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf

Luego edite el nuevo archivo con un editor de texto de línea de comando, como Nano.

sudo nano /etc/apache2/sites-available/phpmyadmin.conf

Agregue las siguientes líneas al principio de este archivo. Reemplace pma.example.com con su subdominio preferido para phpMyAdmin. No olvide crear un registro DNS A para este subdominio.

<VirtualHost *:80>
    ServerName pma.example.com
    DocumentRoot /usr/share/phpmyadmin

    ErrorLog ${APACHE_LOG_DIR}/pma.error.log
    CustomLog ${APACHE_LOG_DIR}/pma.access.log combined

Agregue la siguiente línea al final de este archivo.

</VirtualHost>

Guarde y cierre el archivo. (Para guardar un archivo en el editor de texto Nano, presione Ctrl+O , luego presione Entrar para confirmar. Para salir, presiona Ctrl+X .) Luego habilite este host virtual.

sudo a2ensite phpmyadmin.conf

Vuelva a cargar el servidor web Apache para que este cambio surta efecto.

sudo systemctl reload apache2

Ahora debería poder acceder a la interfaz web de phpMyAdmin a través de

pma.example.com

Antes de ingresar las credenciales de usuario en el formulario de inicio de sesión, habilitemos HTTPS.

Paso 4:habilite HTTPS en phpMyAdmin con Apache

Para proteger la interfaz web de phpMyadmin, podemos instalar un certificado TLS gratuito de Let's Encrypt. Ejecute el siguiente comando para instalar el cliente Let's Encrypt (certbot) desde el repositorio de software de Ubuntu 18.04.

sudo apt install certbot python3-certbot-apache

Python3-certbot-apache es el complemento de Apache para Certbot. Ahora ejecute el siguiente comando para obtener e instalar el certificado TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email protected]

Explicación:

  • –apache: Use el autenticador e instalador de Apache
  • –de acuerdo :Acepto los términos de servicio de Let's Encrypt
  • –redireccionar :Agregar redirección 301.
  • –hsts :agregue el encabezado Strict-Transport-Security a cada respuesta HTTP.
  • –grapa-ocsp :Habilita el grapado OCSP.
  • -imprescindible :Agrega la extensión OCSP Must Staple al certificado.
  • -d va seguido de una lista de nombres de dominio, separados por comas. Puede agregar hasta 100 nombres de dominio.
  • –correo electrónico :Correo electrónico utilizado para el registro y el contacto de recuperación.

Se le preguntará si desea recibir correos electrónicos de EFF (Electronic Frontier Foundation). Después de elegir S o N, su certificado TLS se obtendrá y configurará automáticamente para usted, lo cual se indica en el mensaje a continuación.

Paso 5:Solucione el error de inicio de sesión de phpMyAdmin

Si intenta iniciar sesión en phpMyAdmin con la cuenta raíz de MariaDB, es posible que vea el siguiente error.

#1698 - Access denied for user 'root '@'localhost'

y

mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'

Si inicia sesión con el usuario phpmyadmin , no verá el error anterior. Sin embargo, el usuario phpmyadmin solo se puede usar para administrar phpmyadmin base de datos. La causa del error es que, de forma predeterminada, el usuario raíz de MariDB se autentica a través del complemento unix_socket, en lugar de usar mysql_native_password enchufar. Para resolver este problema, podemos crear otro usuario administrador y otorgar todos los privilegios al nuevo usuario administrador.

Inicie sesión en el servidor MariaDB desde la línea de comandos.

sudo mysql -u root

Cree un usuario administrador con autenticación de contraseña.

create user [email protected] identified by 'your-preferred-password';

Otorgue todos los privilegios en todas las bases de datos.

grant all privileges on *.* to [email protected] with grant option;

Vaciar privilegios y salir;

flush privileges;

exit;

Ahora puede iniciar sesión en phpMyAmin con el admin cuenta y administrar todas las bases de datos.

Paso 6:Instale la última versión estable de phpMyAdmin

El repositorio de Ubuntu 18.04 viene con PHP7.2 y phpMyAdmin 4.6.6. Puede verificar su versión de phpMyAdmin en la barra de título del navegador.

Sin embargo, PHP7.2 es compatible con phpMyAdmin desde la versión 4.7.4. Cuando utilice phpMyAdmin 4.6.6 con PHP7.2, verá el siguiente mensaje de advertencia en la pestaña Exportar e Importar.

parameter must be an array or an object that implements countable

Para solucionar el problema de compatibilidad, podemos instalar phpMyAdmin 4.9, que es la última versión estable en el momento de escribir este artículo. Descárgalo usando wget .

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip

Sugerencia:siempre puede usar el formato de URL anterior para descargar la última versión estable de phpMyAdmin. Simplemente reemplace 4.9.0.1 con el último número de versión.

Luego extráigalo.

sudo apt install unzip

unzip phpMyAdmin-4.9.0.1-all-languages.zip

Haga una copia de seguridad de los archivos phpMyAdmin originales.

sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin-original

Mover phpMyadmin 4.9 a /usr/share/phpmyadmin/ directorio.

sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin

Edite el archivo de configuración del proveedor.

sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php

Busque la siguiente línea.

define('CONFIG_DIR', '');

Cámbialo a

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

Guarde y cierre el archivo. Luego crea el tmp carpeta para almacenar archivos de caché.

sudo mkdir /usr/share/phpmyadmin/tmp

Cambie la propiedad del usuario y la propiedad del grupo a www-data .

sudo chown www-data:www-data /usr/share/phpmyadmin/tmp

Ahora puede usar phpMyAdmin 4.9 sin ver los errores de PHP.

Habilitar autenticación de dos factores

También puede fortalecer phpMyAdmin habilitando la autenticación de dos factores, que es una función agregada en la versión 4.8. Para habilitarlo, inicie sesión en phpMyAdmin. Luego ve a Settings -> Two-factor authentication y seleccione Aplicación de autenticación (2FA) .

Después de hacer clic en Configurar autenticación de dos factores botón, se le presentará un código QR, que debe escanear con una aplicación de autenticación de dos factores en su teléfono.

Google Authenticator es una aplicación 2FA popular, pero recomiendo FreeOTP, que es una aplicación 2FA de código abierto desarrollada por Red Hat. Una vez que ingresa el código de autenticación generado por su aplicación 2FA, se habilita la autenticación de dos factores. Si ahora cierra la sesión y vuelve a iniciarla, debe ingresar el código de autenticación además del nombre de usuario y la contraseña.


Ubuntu
  1. Cómo instalar la pila LAMP en Ubuntu 18.04

  2. Cómo instalar y proteger phpMyAdmin con Apache en Ubuntu 18.04

  3. Cómo instalar PrestaShop en Ubuntu 20.04 con Apache

  4. Instale phpMyAdmin en Ubuntu 20.04 con Apache

  5. Instale phpMyAdmin en Ubuntu 22.04 con Apache

Cómo instalar WordPress con Apache en Ubuntu 20.04

Cómo instalar phpMyAdmin con Apache en Ubuntu 22.04 LTS

Cómo instalar Drupal con Apache en Debian y Ubuntu

Cómo instalar WordPress con LAMP en Ubuntu 20.04

Cómo instalar Joomla con LAMP en Ubuntu 20.04

Cómo instalar LAMP en Ubuntu