[v0z.cc]

blog de notas publico sobre linux y mas.

Como configurar PhpMyAdmin con Nginx

Para poder configurar phpmyadmin se requiere de una base de datos y nginx funcionado en la maquina local.

Confirma el acceso a la base de datos con el siguiente comando:

mysql -u user -p

Instala nginx en la maquina local con el comando:

sudo apt install nginx

Instala php-fpm (FastCGI Process Manager)

sudo apt install php-fpm

Comprobamos el estado del servicio con:

systemctl status php8.2-fpm.service

Para ver que version tenemos instalada podemos hacer un ls de /run/php

Siguiente instalamos phpmyadmin:

sudo apt install phpmyadmin

Configuramos nginx para acceder a phpmyadmin:

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Editamos la configuración de nginx por defecto a lo siguiente:

nano etc/nginx/sites-enabled/default
server {
          listen 80;
          listen 443 ssl;

          ssl_certificate /etc/nginx/ssl/dominio.com/dominio.com.ssl-bundle.crt;
          ssl_certificate_key /etc/nginx/ssl/dominio.com/dominio.com.key;

          ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
          ssl_ciphers HIGH:!aNULL:!MD5;

          client_max_body_size 1000M;   

          server_name phpmyadmin.dominio.com;
          root /var/www/html/phpmyadmin/;
          index index.php index.html index.htm index.nginx-debian.html;

          access_log /var/log/nginx/phpmyadmin_access.log;
          error_log /var/log/nginx/phpmyadmin_error.log;

          location / {
            try_files $uri $uri/ /index.php;
          }

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

          location ~ \.php$ {
            fastcgi_pass unix:/run/php/php8.2-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            # include snippets/fastcgi-php.conf;
          }

          location ~ /\.ht {
            deny all;
          }
}


Nota: para poder acceder con esa configuración tendremos que añadir el CNAME a nuestro dominio para que la ip apunte a phpmyadmin.dominio.com

Comprobamos de que la config funcione bien con el comando:

nginx -t

reiniciamos el servidor nginx para que coja la nueva configuración:

service nginx restart