GNU/Linux >> Tutoriales Linux >  >> Linux

Instalar y configurar phpMyAdmin

phpMyAdmin® es una herramienta de administración gratuita y de código abierto para MySQL® y MariaDB®. Como aplicación web portátil escrita principalmente en PHP, phpMyAdmin se ha convertido en una de las herramientas de administración de MySQL más populares, especialmente para servicios de alojamiento web.

Este artículo describe cómo instalar y configurar phpMyAdmin en su servidor web para CentOS® 7, Red Hat® Enterprise Linux® (RHEL) 7 y Ubuntu® 16.04 LTS.

Requisitos

Antes de poder instalar phpMyAdmin, debe tener instalado lo siguiente en su servidor:

  • Un servidor web, como Apache® o NGINX®
  • PHP

Verificar si un servidor web está instalado

Utilice los comandos de la siguiente tabla para comprobar si hay un servidor web instalado:

Sistema operativo Servidor web Comando
CentOS y RHEL Apache rpm -qa | grep httpd
CentOS y RHEL NGINX rpm -qa | grep nginx
Sistema operativo Ubuntu Apache dpkg -l | grep apache
Sistema operativo Ubuntu NGINX dpkg -l | grep nginx

Verificar si PHP está instalado

Use el siguiente comando para verificar si PHP está instalado en CentOS o RHEL:

rpm -qa | grep php

Use el siguiente comando para verificar si PHP está instalado en el sistema operativo Ubuntu:

dpkg -l | grep php

Instalar phpMyAdmin

Use las instrucciones en las siguientes secciones para instalar phpMyAdmin.

CentOS y RHEL

Instale phpMyAdmin usando el siguiente comando:

yum install phpmyadmin

El resultado debe ser similar al siguiente ejemplo:

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.mhd.uk.as44574.net
 * epel: mirror.freethought-internet.co.uk
 * extras: mirror.mhd.uk.as44574.net
 * updates: mirror.mhd.uk.as44574.net
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.4.15.10-3.el7 will be installed
--> Processing Dependency: php-mysqli >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-mbstring >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-gd >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-xmlwriter for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf-dejavu-sans-fonts for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-php-gettext for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Running transaction check

El sistema operativo Ubuntu

Instale phpMyAdmin usando el siguiente comando:

apt-get install php phpmyadmin

El resultado debe ser similar al siguiente ejemplo:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  dbconfig-common dbconfig-mysql fontconfig-config fonts-dejavu-core javascript-common libfontconfig1 libgh3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml
Suggested packages:
  libgd-tools php-libsodium php-gmp php-imagick www-browser
The following NEW packages will be installed:
  dbconfig-common dbconfig-mysql fontconfig-config fonts-devaju-core javascript-common libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml phpmyadmin
0 upgraded, 28 newly installed, 0 to remove and 6 not upgraded.
Need to get 16.3 MB of archives.
After this operation, 61.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Presiona Y y luego presione Entrar para continuar con el proceso de configuración. Consulte Configurar phpMyAdmin en el sistema operativo Ubuntu sección para más instrucciones.

Configurar phpMyAdmin en CentOS y RHEL

Después de haber instalado phpMyAdmin en su servidor web, utilice las instrucciones de las siguientes secciones para configurar phpMyAdmin.

servidor web Apache

Primero debe agregar la dirección de Protocolo de Internet (IP) que desea usar para acceder a phpMyAdmin en /etc/phpMyAdmin/config.inc.php archivo de configuración.

  1. Abra el /etc/phpMyAdmin/config.inc.php archivo en un editor de texto.

  2. En la sección que comienza con la línea <IfModule !mod_authz_core.c> , agregue la dirección IP como se muestra en el siguiente ejemplo:

    <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order Deny,Allow
    Deny from All
    Allow from 127.0.0.1
    Allow from ::1
    Allow from
    Require ip 94.236.7.190
    </IfModule>
    </Directory>
    
  3. Guarde y cierre el archivo.

Establecer un alias de URL (opcional)

La URL estándar para una instalación de phpMyAdmin es https://ipaddress/phpMyAdmin , donde dirección IP es la dirección IP que agregó al archivo de configuración en la sección anterior. Si desea cambiar la URL, puede establecer un alias.

  1. Abra el /etc/httpd/conf.d/phpMyAdmin.conf archivo en un editor de texto.

  2. Encuentra las líneas que comienzan con Alias y cambie /phpMyAdmin al alias de su elección, como se muestra en el siguiente ejemplo:

    Alias /NewName /usr/share/phpMyAdmin
    Alias /newname /usr/share/phpMyAdmin
    
  3. Guarde y salga del archivo.

Archivo de configuración de la base de datos

Si el servidor de base de datos MySQL o MariaDB que desea usar con phpMyAdminis no se encuentra en el mismo servidor que su servidor web, debe editar el archivo de configuración de la base de datos para definir la ubicación del servidor de la base de datos.

Hay dos opciones de configuración:

  1. Host MySQL o dirección IP
  2. Puerto MySQL/MariaDB

Use los siguientes pasos para definir la ubicación de su servidor de base de datos:

  1. Abra el /etc/phpMyAdmin/config.inc.php archivo en un editor de texto.

  2. Edite el archivo como se muestra en el siguiente ejemplo:

    $cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
    $cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port
    $cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket
    $cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')
    $cfg['Servers'][$i]['extension']     = 'mysqli';    // The php MySQL extension to use ('mysql' or 'mysqli')
    $cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection
                                                        // (requires PHP >= 4.3.0)
    $cfg['Servers'][$i]['controluser']   = '';          // MySQL control user settings
                                                        // (this user must have read-only
    $cfg['Servers'][$i]['controlpass']   = '';          // access to the "mysql/user"
                                                        // and "mysql/db" tables).
    
  3. Guarde y salga del archivo.

Para realizar los cambios en vivo, debe verificar la sintaxis del demonio del motor web y luego reiniciarlo correctamente o volver a cargarlo.

Verifique la sintaxis usando el siguiente comando:

apachectl configtest

Si no hay errores en el archivo de configuración, debería ver Syntax OK en la salida.

Vuelva a cargar el servidor web Apache usando el siguiente comando:

CentOS y RHEL 6

service httpd graceful

CentOS y RHEL 7

systemctl status httpd

Verifique el estado del servicio httpd para asegurarse de que funciona como se espera mediante el siguiente comando:

CentOS y RHEL 6

service httpd status

CentOS y RHEL 7

systemctl status httpd

Ahora debería poder ver phpMyAdmin a través de un navegador web, como se muestra en la siguiente imagen:

servidor web NGINX

En NGINX, el paquete phpMyAdmin no viene con un archivo de configuración, por lo que debe crear un bloque de servidor para apuntar al archivo de configuración de phpMyAdmin.

  1. Abra un editor de texto y cree el archivo /etc/nginx/conf.d/phpMyAdmin.conf .

  2. Introduzca los siguientes ajustes de configuración:

    server {
    listen 80;
    server_name 95.138.162.233;
    root /var/www;
    location /phpMyAdmin {
        root /usr/share/;
        index index.php;
    
    # auth_basic "phpMyAdmin Login";                # uncomment if using .htaccess & .htpasswd security
    # auth_basic_user_file /etc/nginx/.pma_pass;    # uncomment if using .htaccess & .htpasswd security
    
        location ~\.php$ {
            try_files $uri =404;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
            }
    
        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
         root /usr/share/;
            }
        }
    
    location /phpmyadmin {
        rewrite ^/* /phpMyAdmin last;
        }
    }
    
  3. Guarde y salga del archivo.

Para realizar los cambios en vivo, debe verificar la sintaxis del demonio del motor web y luego reiniciarlo correctamente o volver a cargarlo.

Utilice el siguiente comando para comprobar la sintaxis:

nginx -t

Si no hay errores en el archivo de configuración, debería ver Syntax OK en la salida.

Vuelva a cargar el servidor web NGINX usando el siguiente comando:

CentOS y RHEL 6

service nginx graceful

CentOS y RHEL 7

systemctl reload nginx

Verifique el estado del servicio NGINX para asegurarse de que funciona como se espera mediante el siguiente comando:

CentOS y RHEL 6

service nginx status

CentOS y RHEL 7

systemctl status nginx

Ahora debería poder ver phpMyAdmin a través de un navegador web, como se muestra en la siguiente imagen:

Configure phpMyAdmin en el sistema operativo Ubuntu

Utilice los pasos de las siguientes secciones para configurar phpMyAdmin en el sistema operativo Ubuntu.

Servidor web Apache

El proceso de instalación agrega el archivo de configuración de phpMyAdmin Apache a /etc/apache2/conf-enabled/ directorio, donde se lee automáticamente. Lo único que debe hacer es habilitar mbstring Extensión de PHP, que puede hacer ejecutando el siguiente comando:

sudo phpenmod mbstring

Después de instalar phpMyAdmin, aparece la pantalla de configuración del paquete, como se muestra en la siguiente imagen.

Usa la barra espaciadora para seleccionar apache2 , presiona Tab para seleccionar Aceptar y luego presione Intro .

El proceso de instalación continúa hasta que aparece otra pantalla de configuración que le pide que confirme si desea configurar su base de datos para phpMyAdmin usando dbconfig-common .

Seleccione y luego presione Intro .

Se le solicitará su contraseña de administrador de la base de datos. Ingrese su contraseña, presione Tab para seleccionar Aceptar y luego presione Intro .

Luego, ingrese una contraseña para la aplicación phpMyAdmin, presione Tab para seleccionar Aceptar y luego presione Intro .

Confirme la contraseña seleccionando Ok y luego presione Intro .

Una vez que se completa el proceso de instalación, el archivo de configuración de phpMyAdmin se agrega a /etc/apache2/conf-enabled/phpmyadmin.conf .

Si este archivo no existe después de completar la instalación, puede copiarlo desde /etc/phpmyadmin/apache.conf a /etc/apache2/conf-enabled . Si ese archivo no existe, debe crear un host virtual para phpMyAdmin con la siguiente configuración:

server {
       listen 80;
       server_name example.com www.example.com;
       root /var/www/vhosts/example.com;
       ..

       location /phpMyAdmin {
           root /usr/share/;
           index index.php;

           # auth_basic "phpMyAdmin Login";                                # uncomment if using .htaccess & .htpasswd security
           # auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;    # uncomment if using .htaccess & .htpasswd security

           location ~\.php$ {
                   try_files $uri =404;
                   fastcgi_pass unix:/var/run/php-fpm.sock;
                   fastcgi_index index.php;
                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                   include /etc/nginx/fastcgi_params;
           }
           location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                   root /usr/share/;
           }
    }
    location /phpmyadmin {
           rewrite ^/* /phpMyAdmin last;
    }
    ...
}

Si en algún momento necesita reconfigurar phpMyAdmin, puede usar el siguiente comando:

dpkg-reconfigure phpmyadmin
Configuración de base de datos remota

Si el servidor de base de datos que desea administrar con phpMyAdmin es remoto, debe configurar phpMyAdmin de manera diferente. Los archivos de configuración se encuentran en /etc/phpmyadmin directorio. El archivo de configuración principal es /etc/phpmyadmin/config.inc.php , que contiene las opciones de configuración que se aplican globalmente a phpMyAdmin.

Para usar phpMyAdmin para administrar una base de datos MySQL alojada en otro servidor, abra /etc/phpmyadmin/config.inc.php en un editor de texto y luego edite la siguiente línea:

Línea anterior Nueva línea
$cfg['Servers'][$i]['host'] = '$dbserver'; $cfg['Servers'][$i]['host'] = '192.168.71.21';

Nota: Reemplazar $dbserver con el nombre real del servidor de la base de datos remota o la dirección IP. Además, asegúrese de que el host phpMyAdmin tenga permisos para acceder a la base de datos remota.

El otro archivo de configuración que debe editar es /etc/phpmyadmin/apache.conf . Este archivo está vinculado simbólicamente a /etc/apache2/conf-disponible/phpmyadmin.conf . Una vez habilitado, se usa para configurar Apache2 para servir al sitio phpMyAdmin. El archivo contiene directivas para cargar PHP, permisos de directorio, etc.

Ejecute el siguiente comando para habilitar el archivo de configuración y luego vuelva a cargar el servicio:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin.conf sudo systemctl reload apache2.service

Ahora que phpMyAdmin está instalado en la computadora cliente, conéctese al servidor remoto donde está instalada la base de datos MySQL o MariaDB. Abra el archivo /etc/mysql/mysql.conf.d/mysql.cnf y edite la siguiente línea:

bind-address           =              0.0.0.0

Reemplazar 0.0.0.0 con la dirección IP del servidor remoto y luego guarde y salga del archivo.

Ejecute el siguiente comando para permitir que el usuario raíz acceda al servidor desde la computadora cliente:

sudo mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.71.20' IDENTIFIED BY 'root_password_here' WITH GRANT OPTION;

Reemplace la dirección IP con la dirección del servidor remoto y root_password_here con la contraseña de usuario root.

Después de editar los ajustes de configuración, abra un navegador y vaya a https://clientPC/phpmyadmin , utilizando la dirección IP o el nombre de host del equipo cliente. Debería poder iniciar sesión de forma remota en el servidor desde el portal web del cliente phpMyAdmin.

Recargar el servidor web

Para realizar los cambios en los archivos de configuración en vivo, primero debe verificar la sintaxis del archivo y luego reiniciar o recargar correctamente el servidor web.

Use el siguiente comando para verificar la sintaxis de los archivos de configuración:

apache2ctl configtest

Luego, vuelva a cargar el servidor web Apache ejecutando el siguiente comando:

systemctl reload apache2

Compruebe el estado del servicio para asegurarse de que funciona como se espera ejecutando el siguiente comando:

system status apache2

Ahora debería poder ver phpMyAdmin a través de un navegador web, como se muestra en la siguiente imagen:

servidor web NGINX

Después de instalar phpMyAdmin, aparece la pantalla de configuración del paquete, como se muestra en la siguiente imagen:

Usa la barra espaciadora para seleccionar apache2 , presiona Tab para seleccionar Aceptar y luego presione Intro .

El proceso de instalación continúa hasta que aparece otra pantalla de configuración que le pide que confirme si desea configurar su base de datos para phpMyAdmin usando dbconfig-common .

Seleccione y luego presione Intro .

Se le solicitará su contraseña de administrador de la base de datos. Ingrese su contraseña, presione Tab para seleccionar Aceptar y luego presione Intro .

Luego, ingrese una contraseña para la aplicación phpMyAdmin, presione Tab para seleccionar Aceptar y luego presione Intro .

Confirme la contraseña seleccionando Ok y luego presione Intro .

Una vez finalizado el proceso de instalación, debe crear el archivo de configuración de phpMyAdmin aquí:/etc/nginx/sites-enabled/phpmyadmin.conf .

Ingrese la siguiente información en el archivo y luego guárdelo:

server {
   listen 80;
   server_name 95.138.162.233;
   root /var/www;

   location /phpmyadmin {
             root /usr/share/;
             index index.php;
             try_files $uri $uri/ =404;

             # auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security

             # auth_basic_user_file /etc/nginx/.pma_pass;  # uncomment if using .htaccess & .htpasswd security


    location ~ ^/phpmyadmin/(doc|sql|setup)/ {
           deny all;
    }

    location ~ /phpmyadmin/(.+\.php)$ {
         fastcgi_pass unix:/run/php/php7.0-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params; include snippets/fastcgi-php.conf;
   }
  }
}

Sus archivos de phpMyAdmin se encuentran en /usr/share/phpmyadmin/ directorio. La configuración anterior le dice a NGINX que si los visitantes ingresan https://ip_address/phpmyadmin en la barra de direcciones del navegador, debería encontrar el index.php archivo en el /usr/share/phpmyadmin/ directorio y mostrarlo.

Recargar el servidor web

Para realizar los cambios en los archivos de configuración en vivo, primero debe verificar la sintaxis del archivo y luego reiniciar o recargar correctamente el servidor web.

Use el siguiente comando para verificar la sintaxis de los archivos de configuración:

nginx -t

Luego, vuelva a cargar el servidor web Apache ejecutando el siguiente comando:

RHEL y CentOS 6

service nginx graceful

RHEl y CentOS 7

systemctl reload nginx

Compruebe el estado del servicio para asegurarse de que funciona como se espera ejecutando el siguiente comando:

RHEL y CentOS 6

service nginx status

RHEL y CentOS 7

systemctl status nginx

Ahora debería poder ver phpMyAdmin a través de un navegador web, como se muestra en la siguiente imagen:

Configurar seguridad adicional (opcional)

htpasswd se utiliza para crear y actualizar archivos planos que almacenan nombres de usuario y contraseñas para la autenticación básica de usuarios HTTP. Si htpasswd no puede acceder a un archivo (no puede escribir en el archivo de salida ni leer el archivo para actualizarlo), devuelve un estado de error y no realiza cambios.

Utilice los pasos de las siguientes secciones para configurar la autenticación básica en un servidor web que ejecute phpMyAdmin.

Servidor web Apache

Por defecto, Apache no permite el uso de .htaccess . Debe configurar Apache para permitir .htaccess -autenticación basada.

Abra el archivo de configuración de Apache en un editor de texto y busque la sección que comienza con <Directory "/var/www/html"> .

Para RHEL y CentOS, el archivo de configuración es /etc/httpd/conf/httpd.conf .

Para el sistema operativo Ubuntu, el archivo de configuración es /etc/apache2/conf/httpd.conf .

Cambie la línea de AllowOverride none para AllowOverride AuthConfig .

Nota :Si esta línea dice AllowOverride All , entonces no se requiere ningún cambio.

Guarde y cierre el archivo.

El htpasswd El comando se utiliza para crear y actualizar los archivos que almacenan nombres de usuario y contraseñas para la autenticación básica de los usuarios de Apache. Use el siguiente comando para crear un archivo oculto para almacenar el nombre de usuario y la contraseña cifrada para cada usuario:

htpasswd -c /etc/phpMyAdmin/.phpmyadmin-htpasswd username

Después de crear un usuario, ejecute el siguiente comando para ver el nombre de usuario y la contraseña en /etc/phpMyAdmin/.phpmyadmin-htpasswd archivo:

cat /etc/phpMyAdmin/.phpmyadmin-htpasswd

El resultado debe ser similar al siguiente ejemplo:

user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1

Ahora necesitas permitir el apache usuario para leer el .htpasswd archivo ejecutando los siguientes comandos:

chown apache:apache /etc/phpMyAdmin/.phpmyadmin-htpasswd
chmod 0660 /etc/phpMyAdmin/.phpmyadmin-htpasswd

Finalmente, debe descomentar las siguientes líneas de los archivos de configuración de phpMyAdmin:

# auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;   # uncomment if using .htaccess & .htpasswd security

servidor web NGINX

El htpasswd El comando se utiliza para crear y actualizar los archivos que almacenan nombres de usuario y contraseñas para la autenticación básica de los usuarios de Apache. Use el siguiente comando para crear un archivo oculto para almacenar el nombre de usuario y la contraseña cifrada para cada usuario:

htpasswd -c /etc/nginx/.pma_pass username

Después de crear un usuario, ejecute el siguiente comando para ver el nombre de usuario y la contraseña en /etc/nginx/.pma_pass archivo:

cat /etc/nginx/.pma_pass

El resultado debe ser similar al siguiente ejemplo:

user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1

Ahora necesitas permitir el apache usuario para leer el .htpasswd archivo ejecutando los siguientes comandos:

chown nginx:nginx /etc/nginx/.pma_pass
chmod 0660 /etc/nginx/.pma_pass

Finalmente, debe descomentar las siguientes líneas de los archivos de configuración de phpMyAdmin:

# auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;   # uncomment if using .htaccess & .htpasswd security

Linux
  1. Cómo instalar y configurar OpenVPN Server en Debian 10

  2. Instalar y configurar Elasticsearch en Rocky Linux 8

  3. Cómo instalar y configurar Redis 6.0 en Debian 11

  4. Cómo instalar y configurar el servidor OpenVPN en Ubuntu 20.04

  5. Instalar y configurar Dovecot en CentOS

Instalación y configuración de PhpMyAdmin con Nginx en CentOS 7

Instalar y configurar Ansible en Linux

Cómo instalar y configurar Grafana

Cómo instalar y configurar Elasticsearch en Ubuntu 20.04

Cómo instalar y configurar el sistema de tickets Zammad en Ubuntu 20.04

Cómo instalar y configurar Nextcloud en Ubuntu 20.04