Tutorial de instalação e proteção do phpMyAdmin no Ubuntu com stack LAMP

por | 29/03/2023 | Ferramentas

O phpMyAdmin é uma excelente alternativa quando você precisa gerenciar um banco de dados e não deseja interagir com o prompt de comando do MySQL.

Através deste guia você aprenderá a instalar e configurar a ferramenta em um servidor com stack LAMP (um acrônimo para Linux, Apache, MySQL e PHP).

Nesse sentido, se você deseja saber um pouco mais sobre LAMP, dê uma olhada neste outro guia.

Este guia também conta com informações relacionadas à proteção do gerenciador, pois ele também representa um grande alvo para atacantes (desde que as devidas precauções não sejam tomadas, é claro).

Assim, o presente guia contempla instruções detalhadas para a instalação e configuração do gerenciador em servidores Linux com Ubuntu 18.04, 20.04 e 22.04.

Pré-requisitos

Antes de mais nada, vamos a alguns pré-requisitos básicos para que você seja capaz de instalar e utilizar o phpMyAdmin:

Sistema/FerramentaPré-requisito
Sistema localLinux/Windows/macOS
Sistema remotoLinux
Ferramentas locaisTerminal (Linux) ou um cliente SSH (PuTTY, por exemplo)
Ferramentas remotasServidor Ubuntu 18.04 / 20.04 / 22.04
Maiores detalhesLAMP stack / Usuário com privilégios administrativos – sudo

O que é phpMyAdmin?

O phpMyAdmin é uma ferramenta open source para gerenciamento de bancos de dados MySQL e MariaDB. Ele oferece ao usuário uma interface gráfica muito prática, acessível através de qualquer navegador web.

Assim, ao invés de lidar com uma linha de comando (o prompt do MySQL), você pode administrar tudo através de uma bela interface gráfica.

Traduzido em mais de 70 idiomas (incluindo o português do Brasil), o software de código aberto também conta com uma enorme quantidade de recursos.

Por exemplo, ele permite importação e exportação de dados (.CSV, .SQL, .XML, .PDF, etc), gerenciamento de privilégios e contas de usuário, geração de gráficos com base em layouts de bancos de dados, inúmeras opções de busca, etc.

Além disso, através do phpMyAdmin você pode executar inúmeras queries MySQL, além de ter em suas mãos o poder de executar as tarefas mais rotineiras em bancos de dados, tabelas e campos em específico.

Tarefas de manutenção também são perfeitamente possíveis, sendo que operações de otimização, reparação e até mesmo substituição de prefixos de tabelas, podem ser feitas de maneira simples.

Trata-se, além disso, de um software 100% gratuito. O phpMyAdmin é open source, vale lembrar mais uma vez, e distribuído sob a licença GNU GPL v2.

Como instalar o phpMyAdmin

Em primeiro lugar, gostaria de lembrar mais uma vez que antes de prosseguir é necessário que você tenha cumprido todos os pré-requisitos acima descritos.

Ou seja, de nada adianta tentar instalar o phpMyAdmin sem um stack LAMP completo rodando no servidor. Agora, seguem instruções detalhadas a respeito da instalação.

phpMyAdmin: como instalar no Ubuntu 18.04

A instalação da ferramenta no Ubuntu 18.04 é bem simples. Em primeiro lugar, utilize o comando abaixo para atualizar seu sistema:

sudo apt update && sudo apt upgrade

Agora, para instalar o phpMyAdmin, bem como alguns módulos necessários para seu funcionamento, utilize o seguinte comando:

sudo apt install phpmyadmin php-mbstring php-gettext

Neste momento, uma série de perguntas será feita. Uma lista com alguns servidores web é exibida, e você deve selecionar o apache2.

Resolvendo um “problema” durante a instalação – Ubuntu 18.04

Obs: os procedimentos abaixo servem tanto para o Ubuntu 18.04 quanto para o 20.04 e o 22.04.

Há um pequeno “problema”, aqui, que faz com que muitas pessoas tenham problemas durante esta fase da instalação.

Na verdade, trata-se mais de algo ligado à interpretação. Ou, talvez os desenvolvedores tenham se esquecido de tornar as coisas mais fáceis ou explícitas, principalmente em nossos dias tão atribulados.

Acontece que o instalador tentará configurar automaticamente o web server no qual o phpMyAdmin deverá rodar. Mas é preciso, antes de tudo, pressionar ESPAÇO, no teclado, para selecionar o apache2 (primeira opção).

Ou seja, apesar de parecer que a opção está selecionada a princípio, ela na verdade não está, a menos que você tecle ESPAÇO. Assim, seguem os passos necessários nesta tela:

  1. Tecle ESPAÇO e um asterisco (*) será exibido ao lado do apache2, indicando que ele foi selecionado;
  2. Tecle TAB para mover o cursor para <OK>;
  3. Finalmente, com o cursor (em vermelho) sobre <OK>, tecle ENTER.

Veja:

phpMyAdmin - Configurando o Apache

Agora, o instalador iniciará a criação e configuração de um primeiro banco de dados, necessário para o funcionamento do programa. Aqui, tecle TAB para mover o cursor para <Yes>, e tecle ENTER a seguir.

Veja:

Instalação do phpMyAdmin

Agora você deve informar uma senha para o usuário do phpMyAdmin. É importante usar uma senha forte e única. Veja:

Instalação do phpMyAdmin

Informe sua senha, e confirme-a a seguir. Pronto! O phpMyAdmin foi instalado com sucesso no Ubuntu 18.04.

Procedimentos finais da instalação – Ubuntu 18.04

Continuando com a instalação, agora você deve ativar um módulo PHP que possibilitará que o Apache e o PHP funcionem com a ferramenta.

Use o seguinte comando:

sudo phpenmod mbstring

Não estranhe o fato de que não haverá nenhuma saída após o comando acima. Finalmente, reinicie o Apache, através do seguinte comando:

sudo systemctl restart apache2

A partir de agora, você já pode acessar o software através de qualquer navegador. Porém, antes de prosseguir, vamos conhecer os passos necessários para a instalação do gerenciador em outras versões do Ubuntu.

phpMyAdmin: como instalar no Ubuntu 20.04 e 22.04

Os procedimentos necessários para a instalação da ferramenta de administração de bancos de dados no Ubuntu 20.04 e 22.04 são praticamente idênticos.

Apenas alguns comandos são levemente diferentes em relação à instalação no Ubuntu 18.04. Mais uma vez, inicie pela atualização do sistema, utilizando o seguinte comando:

sudo apt update && sudo apt upgrade

Prossiga agora com a instalação do software, bem de como alguns módulos necessários:

sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Resolvendo um “problema” durante a instalação – Ubuntu 20.04 e 22.04

E, mais uma vez, siga os procedimentos descritos no capítulo “Resolvendo um ´problema´ durante a instalação – Ubuntu 18.04” (acima).

Trata-se de procedimentos idênticos nas 3 versões do Ubuntu cobertas por este guia (18.04, 20.04 e 22.04).

Assim que realizar tais procedimentos, retorne ao capítulo seguinte (abaixo).

Procedimentos finais da instalação – Ubuntu 20.04 e 22.04

Retomando a instalação do phpMyAdmin no Ubuntu 20.04 ou 22.04, você deve ativar um módulo necessário para que o PHP e o Apache funcionem com a ferramenta:

sudo phpenmod mbstring

E não se preocupe: nenhuma saída será obtida no terminal após o comando acima. Fique atento apenas caso algum erro aconteça.

Em seguida, reinicie o Apache, através do seguinte comando:

sudo systemctl restart apache2

Como usar o phpMyAdmin

Neste momento, a ferramenta de gerenciamento de bases de dados já é plenamente acessível, sempre através de um navegador web.

Se você seguiu todos os procedimentos descritos acima, o software foi instalado com sucesso em seu servidor Linux.

Para acessá-lo, você deve usar um endereço como o abaixo, no seu navegador preferido (use o IP do seu servidor):

http://IP_Do_Servidor/phpmyadmin/

phpMyAdmin - Tela de login
Tela de login do phpMyAdmin

Por exemplo:

http://192.168.0.1/phpmyadmin/

Como “usuário” e “senha”, você deve utilizar os abaixo. Estou aqui assumindo que você não alterou nenhuma opção padrão durante a etapa “Resolvendo um ´problema´ durante a instalação – Ubuntu 18.04” (acima):

  • Usuário: phpmyadmin
  • Senha: a senha que você informou durante a instalação (mais detalhes acima);

Você verá, então, após o login, uma tela semelhante à abaixo:

phpMyAdmin - Dashboard
Tela principal do phpMyAdmin

A partir de agora, você já pode usar a ferramenta totalmente. Repare que os bancos de dados presentes na máquina encontram-se no painel esquerdo.

Há também uma espécie de “barra de ferramentas” na parte superior, a qual fornece acesso aos recursos mais utilizados. Através do botão “SQL”, por exemplo, você pode realizar consultas no banco de dados.

A barra superior é alterada, além disso, dependendo da ação do usuário. Se você selecionar uma tabela em específico, por exemplo, ela exibirá opções pertinentes.

De qualquer forma, através destas barras de ferramentas você obtém acesso aos recursos do software. A lista de opções e recursos é bem vasta, mas você pode sempre consultar a documentação disponível no site oficial.

Criando um usuário para trabalhar com o phpMyAdmin

Você pode utilizar o usuário “padrão” (phpmyadmin) juntamente com a senha definida durante a instalação (veja maiores detalhes acima), é claro.

Porém, você perceberá bem rapidamente que o usuário phpmyadmin é limitado. Dessa forma, recomendo que você crie um usuário específico para trabalhar com o gerenciador, dando ao mesmo privilégios totais (full).

E isto independentemente da sua versão do Ubuntu. Basta seguir o passo a passo abaixo.

Retorne ao terminal (conectado via SSH com o servidor) e utilize o comando abaixo:

sudo mysql -u root -p

Neste momento, uma senha será solicitada. Trata-se da senha do seu usuário root. Digite-a e tecle ENTER. Você será então redirecionado ao prompt do MySQL.

Agora você deve usar os comandos abaixo:

CREATE USER usuario IDENTIFIED by 'senha';
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Apenas observe alguns pontos importantes. Substitua todas as ocorrências de usuario pelo nome de usuário que você deseja utilizar.

Além disso, substitua a ocorrência senha pela senha de sua preferência (opte por uma senha forte).

Por exemplo:

CREATE USER marcos IDENTIFIED by '123456';
GRANT ALL PRIVILEGES ON *.* TO 'marcos'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Observe também que são 3 (três) comandos distintos. Ou seja, digite CREATE USER marcos IDENTIFIED by '123456'; e tecle ENTER. A seguir, digite GRANT ALL PRIVILEGES ON *.* TO 'marcos'@'localhost' WITH GRANT OPTION; e tecle ENTER.

Finalmente, digite FLUSH PRIVILEGES; e tecle ENTER. E para sair do prompt MySQL, digite exit e tecle ENTER.

A seguir, reinicie o Apache e o MySQL, através dos seguintes comandos:

sudo systemctl restart apache2
sudo systemctl restart mysql

Agora você já pode acessar o seu phpMyAdmin através do endereço http://IP_Do_Servidor/phpmyadmin/ usando os dados do usuário que acabamos de criar.

Observe que agora aparecem novas opções e botões. E logo de início você com certeza irá reparar na opção “Contas de usuário”: através dela você pode gerenciar e editar privilégios de quaisquer usuários.

Garantindo a segurança do phpMyAdmin

É imprescindível, também, que você garanta a segurança de sua instância do phpMyAdmin. O simples fato de “sair do radar” dos atacantes já proporciona enormes ganhos.

Assim, com isto em mente, vamos agora conferir alguns métodos de proteção.

Alterando a URL de acesso do phpMyAdmin

Abra o arquivo de configuração, através do comando abaixo:

sudo nano /etc/phpmyadmin/apache.conf

Com o arquivo em tela, localize a linha iniciada por Alias. Veja:

Protegendo a URL

Perceba que o alias /phpmyadmin é o responsável pelo nosso endereço de acesso à ferramenta (veja acima). Neste caso, este alias é usado no endereço de acesso atual (http://IP_Do_Servidor/phpmyadmin/.

Alterar este endereço de acesso é uma boa prática de segurança, uma vez que este é o endereço default, que pode inclusive facilitar a ocorrência de ataques de força bruta.

Simplesmente altere o alias pelo de sua preferência. Você pode utilizar qualquer combinação de letras (maiúsculas e minúsculas) e números.

Por exemplo, substitua o alias conforme o trecho abaixo, lembrando que você não deve alterar a seção /usr/share/phpmyadmin:

Alias /123cBa12iu /usr/share/phpmyadmin

Finalmente, salve as alterações, através da combinação de teclas CTRL + O (seguida de um ENTER). E para sair da edição do arquivo, tecle CTRL + X.

Agora, na linha de comando, é necessário reiniciar o Apache. Use o comando abaixo:

sudo systemctl restart apache2

De agora em diante, o seu phpMyAdmin somente poderá ser acessado através do endereço http://IP_Do_Servidor/123cBa12iu, de acordo com a alteração feita acima.

Lembre-se apenas de que você pode alterar o alias à vontade, usando a combinação de letras e números de sua preferência.

Protegendo o phpMyAdmin através de uma senha extra (.htaccess)

Embora o procedimento acima proporcione uma maior segurança, ele ainda assim não impossibilita que alguém descubra o novo endereço.

Assim, outro método de proteção se dá através da adição de uma nova “camada”. Um login adicional, antes que o usuário chegue no formulário de login do próprio software.

Ou seja, antes de preencher o formulário de login do software, outros dados de login devem ser informados corretamente. A página estará protegida.

O Apache permite a criação de arquivos de configuração chamados.htaccess, os quais podem, dentre outras coisas, proteger diretórios mediante o uso de uma senha.

Abra o arquivo de configuração do phpMyAdmin com o Apache, através do comando abaixo:

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

Em seguida, habilite o override de arquivos via .htaccess. Para isto, localize a seção <Directory /usr/share/phpmyadmin> e adicione uma nova linha com o conteúdo AllowOverride All.

Observe como o arquivo deve parecer após a edição:

Protegendo com senha

Agora salve as modificações (CTRL + O) e feche o arquivo de configuração (CTRL + X).

Em seguida, vamos criar um arquivo .htaccess dentro do diretório do phpMyAdmin. Assim, e conforme o diretório que você pode visualizar na imagem acima, crie o arquivo através do comando abaixo:

sudo nano /usr/share/phpmyadmin/.htaccess

Copie o código abaixo e cole-o em seu .htaccess:

AuthType Basic    
AuthName "Área restrita"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Aqui, vale lembrar que também iremos trabalhar com um “arquivo de senhas” (o .htpasswd). O código em uso (acima) especifica também onde ele deve ser criado.

Você pode alterar este caminho, é claro. Mas para facilitar as coisas, recomendo que não faça modificações.

A seguir, vamos usar um utilitário do Linux para a criação do arquivo de senhas. Utilize o seguinte comando:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd usuario

Lembre-se apenas de substituir usuario pelo nome de sua preferência. Em seguida, a ferramenta htpasswd solicita que você informe uma senha. Digite a senha de sua preferência (forte) e confirme-a.

Assim, o arquivo será criado e a senha será nele armazenada mediante uso de criptografia.

Finalmente, reinicie o Apache, através do seguinte comando:

sudo systemctl restart apache2

Como acessar o phpMyAdmin no novo endereço

De agora em diante, lembre-se de que você deve acessar seu phpMyAdmin através da URL modificada (no exemplo acima, http://IP_Do_Servidor/123cBa12iu).

Além disso, lembre-se de que o diretório foi protegido com uma senha, através de um .htaccess. Ou seja, este login adicional será sempre solicitado, de agora em diante.

Você pode testar tudo isto, agora mesmo. Por exemplo, feche seu navegador e tente abrir novamente seu phpMyAdmin (através da nova URL).

Você perceberá imediatamente que há uma janela popup solicitando um nome de usuário e uma senha. Ou seja, trata-se do usuário e da senha criados acima, através do utilitário htpasswd.

.htaccess

Informe os dados, portanto, e você será redirecionado ao formulário de login do software, onde deverá digitar os respectivos dados de acesso.

Observe que você também pode adicionar usuários extras ao arquivo de senhas. Basta utilizar o comando sem a opção -c, da seguinte forma:

sudo htpasswd /etc/phpmyadmin/.htpasswd usuario_extra

Por fim, vale lembrar que os procedimentos acima aumentam bastante a segurança em relação à sua instância do software.

Porém, existem outras medidas que podem ser tomadas visando incremento na segurança de um servidor, é claro. Mas isto é assunto para outros artigos.

Conclusão

Através deste guia completo você conheceu o phpMyAdmin, uma interessante ferramenta open source capaz de proporcionar muito mais comodidade a usuários que precisam lidar com bancos de dados.

Através de uma prática interface gráfica traduzida em mais de 70 idiomas, o usuário tem em suas mãos ferramentas completas e poderosas, para administrar totalmente bancos de dados MySQL e MariaDB.

Este guia também conta com informações detalhadas a respeito da instalação da ferramenta no Ubuntu Linux (versões 18.04, 20.04 e 22.04), incluindo os módulos PHP necessários.

Você também pôde conferir em detalhes como deve ser criado um usuário adicional com privilégios totais na ferramenta, além de alguns métodos para garantir a proteção do gerenciador de bancos de dados.

Se você tem alguma dúvida e/ou sugestão, não hesite em entrar em contato. Espero que tenha gostado do conteúdo.

Até a próxima!

Compartilhe este conteúdo:

<a href="https://teclinux.com/author/marcos-zy/" target="_self">Marcos A.T. Silva</a>

Marcos A.T. Silva

Apaixonado por tecnologia desde tenra idade, trabalha com TI há mais de 20 anos. Tem no rock and roll (em suas mais variadas vertentes) uma válvula de escape, e adora escrever guias e tutoriais, além de ser um grande entusiasta do Linux e do software livre.

0 comentários

Enviar um comentário

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

Pin It on Pinterest

Share This

Compartilhe

Compartilhe este post com seus amigos!