Categorias
Linux MySQL NginX PHP PhpMyAdmin Ubuntu

[Linux] Como Instalar o PHPMyAdmin mais recente no Ubuntu com Nginx

Neste post irei demonstrar como instalar o PHPMyAdmin no Linux Ubuntu sem complicações baixando a versão mais recente no portal do projeto e ao invés de utilizar o Apache, utilizarei o Nginx. Este procedimento servirá para uso tanto em localhost como servidor remoto ou WSL.

Pressuposto

Estou partindo do pressuposto que você já possui o PHP com FPM, MySQL e o Nginx instalados

Mas antes de prosseguir, certifique-se que tenha instalados:

sudo apt update
sudo apt install unzip wget

Instalando o PHPMyAdmin

Acesse o portal do projeto para pegar o URL da versão mais recente.
Observe que são fornecidas 2 versões mais recentes, sendo a mais antiga 4.9.5 compatível com PHP desde 5.4 até 7.4 e a versão mais recente 5.0.2 compatível com o PHP desde a versão 7.1.

Escolha a versão compatível com seu PHP e no primeiro link clique com o botão direito do mouse para copiar o endereço do link:

Link Download PHPMyAdmin

IMPORTANTE

Neste tutorial a versão é utilizada é a 5.0.2, por isso ao copiar e colar os links abaixo, certifique-se de alterar para a versão atual do seu procedimento.

Feito isso, acesse o terminal do ubuntu e acesse a pasta raiz do seu usário para ter certeza de onde está baixando:

cd ~

e baixe o arquivo:

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

Faça a extração:

unzip phpMyAdmin-5.0.2-all-languages.zip

Mova para um lugar onde o Ngnix possa acessar:

sudo mv phpMyAdmin-5.0.2-all-languages /srv/phpmyadmin

Configurando Nginx

Agora vamos configurar o Nginx para responder ao URL do PHPMyAdmin.

Editor de Código

Eu vou utilizar o VIM para realizar os procedimentos, mas você pode utilizar o Nano ou qualquer outro editor que estiver mais acostumado.

Crie o arquivo no Nginx que resolverá o URL do PHPMyAdmin (nomei o arquivo com o mesmo nome que você vai utilizar para fazer o acesso via navegador ou como achar melhor, eu uso “pma” porque é mais fácil de digitar no navegador. Certifique-se de adequar no seu código. )

sudo vim /etc/nginx/sites-available/pma.localhost

Adicione o conteúdo:

server {
    listen 80; 
    server_name pma.localhost; 
    root "/srv/phpmyadmin"; 
    index index.html index.htm index.php; 
    charset utf-8; 

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

    location = /favicon.ico { 
        access_log off; 
        log_not_found off; 
    } 

    location = /robots.txt { 
       access_log off; 
       log_not_found off; 
    } 

    access_log off; 
    error_log /var/log/phpmyadmin/nginx-error.log error; 
    sendfile off; 

    location ~ \.php$ { 
        fastcgi_split_path_info ^(.+\.php)(/.+)$; 
        fastcgi_pass unix:/run/php/php7.4-fpm.sock; 
        fastcgi_index index.php; 
        include fastcgi_params; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        fastcgi_intercept_errors off; 
        fastcgi_buffer_size 16k; 
        fastcgi_buffers 4 16k; 
        fastcgi_connect_timeout 300; 
        fastcgi_send_timeout 300; 
        fastcgi_read_timeout 300; 
    } 
    
    location ~ /\.ht { 
        deny all; 
    }
}

Certifique-se de criar o arquivo de logs:

sudo mkdir /var/log/phpmyadmin
sudo touch /var/log/phpmyadmin/nginx-error.log

Observe que utilizei o PHP 7.4, por isso lembre-se de adequar para sua versão também, no caso somente X.Y, por exemplo: 5.6, 7.0.

Agora informe ao Nginx que você deseja ativar essas configurações criando um alias:

sudo ln -s /etc/nginx/sites-available/pma.localhost /etc/nginx/sites-enabled/pma.localhost

Verifique se está tudo OK:

sudo nginx -t

E você deverá ver essas duas linhas:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Caso contrário, leia com atenção a mensagem que certamente será bem descritiva.

Agora você precisa informar ao sistema operacional que o servidor está esperando requisições. Para tal, se estiver no Linux Server, acesse /etc/hosts e adicione a linha:

127.0.0.1    pma.localhost

WSL

Se você estiver utilizando o WSL será preciso configurar o arquivo C:\Windows\System32\drivers\etc\hosts abrindo-o pelo Bloco de Notas como administador, e selecionando “Todos os arquivos”

Neste momento já é possível verificar se o Nginx está configurado corretamente reiniciando o Nginx:

sudo service nginx restart

ou

sudo systemctl restart nginx

e acessando o url http://pma.localhost/ (troque pelo seu aqui)

Neste momento você poderá acessar com as credenciais de qualquer usuário existente no MySQL.

Mas o PHPMyAdmin precisa de algumas configurações, senão você verá algumas notificações de erro na tela.

Crie o arquivo de configuração:

mv /srv/phpmyadmin/config.sample.inc.php /srv/phpmyadmin/config.inc.php

Blowfish

Abra o arquivo:

/srv/phpmyadmin/config.inc.php

E procure pela linha que contém a definição:

$cfg['blowfish_secret'] = '';

E mude para qualquer coisa como ( e que não contenha aspas simples, é claro!):

$cfg['blowfish_secret'] = '1^HmW.B?oi$c7>|xlAN8%0LH,RoCVq]P1bxl_Qzy>+b^7>O\F3 >":pGM=G&rp>';

Salve o arquivo!

Bom, e isso aí!
Espero ter lhe ajudado.
😀

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *