Pesquisa de site

Como instalar o phpMyAdmin no Ubuntu 22.04


phpMyAdmin é uma ferramenta gratuita e de código aberto para gerenciar e administrar servidores MySQL. Ele pode ser usado para gerenciar até mesmo vários servidores MySQL em locais diferentes. phpMyAdmin é um aplicativo baseado na web escrito em PHP e pode ser executado na pilha LAMP (Linux, Apache2, MariaDB/MySQL, PHP) ou LEMP (Linux, Nginx, MariaDB/MySQL, PHP-FPM). o phpMyAdmin é um aplicativo muito poderoso e se tornou um aplicativo amplamente utilizado para gerenciar servidores MySQL, pois fornece extensa documentação e wikis.

phpMyAdmin permite que você gerencie dados MySQL a partir de um navegador da web, você pode gerenciar bancos de dados, tabelas, colunas, índices, relações, usuários, permissões, etc. a partir de uma única interface de painel em seu navegador. o phpMyAdmin também permite importar e exportar dados para o servidor MySQL. Você pode importar dados CSV e SQL para seu MySQL e também exportar seus dados para vários formatos, como CSV, SQL, XML, Latex, XML, PDF e texto e planilha OpenDocument.

Neste tutorial, mostraremos como instalar e configurar o phpMyAdmin no servidor Ubuntu 22.04 mais recente. Este tutorial também cobre algumas configurações adicionais para proteger a instalação do phpMyAdmin.

Pré-requisitos

  • Uma máquina Ubuntu 22.04 – você pode usar o servidor Ubuntu ou a versão desktop.
  • Um usuário não root com privilégios de administrador root.
  • Uma pilha LAMP está instalada na máquina. Este exemplo usa a instalação básica do LAMP Stack (Linux, Apache2, MariaDB e PHP).

Instalando o phpMyAdmin

Na versão mais recente do Ubuntu 22.04, o pacote phpMyAdmin está disponível no repositório oficial do Ubuntu Universe. Portanto, antes de instalar o phpMyAdmin, certifique-se de que o repositório do universo Ubuntu esteja habilitado em seu sistema.

No status atual, o Ubuntu fornece o phpMyAdmin v5.x, que é a versão estável mais recente do phpMyAdmin.

Antes de começar a instalar os pacotes, execute o seguinte comando para atualizar e atualizar seus repositórios Ubuntu.

sudo apt update

Certifique-se de que o repositório Ubuntu APT Universe esteja habilitado em seu sistema.

Agora verifique o pacote phpmyadmin usando o seguinte comando.

sudo apt info phpmyadmin

Como você pode ver na imagem a seguir, o repositório Ubuntu APT fornece o phpMyAdmin v5.x e está disponível no repositório Ubuntu Universe.

A seguir, você pode instalar o pacote phpMyAdmin usando o comando abaixo.

sudo apt install phpmyadmin

Insira Y para confirmar a instalação e pressione ENTER para iniciar. Agora a instalação do phpMyAdmin está em andamento.

Durante a instalação do phpMyAdmin, serão solicitadas as seguintes configurações:

Escolha o servidor web para o phpMyAdmin. Neste exemplo, o servidor web é apache2 e selecione OK.

Agora selecione Sim para começar a configurar o phpMyAdmin com o dbconfig-common. Isso irá automaticamente todas as configurações de banco de dados para phpMyAdmin.

Para a senha do banco de dados phpMyAdmin, você pode deixá-la em branco ou simplesmente inserir sua própria senha e selecionar OK. Se você deixar em branco, o dbconfig-common irá gerar automaticamente a senha do seu phpMyAdmin.

Por último, abra seu navegador e visite o endereço IP do servidor com o caminho URL /phpmyadmin (por exemplo: http://192.168.10.15/phpmyadmin). E agora você receberá a página de login do phpMyAdmin.

Insira o usuário e a senha do servidor MariaDB e clique em Ir para fazer login.

Depois de fazer login, você verá o painel do phpMyAdmin abaixo. Como você pode ver, o phpMyAdmin 5.x está instalado na máquina Ubuntu 22.04 com Apache2, MariaDB 10.xe PHP 8.1.

Protegendo a instalação do phpMyAdmin

Depois de instalar o phpMyAdmin. a seguir, você aprenderá como proteger a instalação do phpMyAdmin.

Abaixo você aprenderá três métodos para proteger a instalação do phpMyAdmin em seu sistema Ubuntu:

  • Alterar URL do caminho da instalação do phpMyAdmin: A instalação padrão do phpMyAdmin está disponível no caminho da URL /phpmyadmin, que é fácil de adivinhar para os invasores. Você pode alterar o caminho padrão para o URL do caminho personalizado.
  • Autenticação adicional usando Apache2 Basic Auth: Neste cenário, os usuários verão a autenticação básica do Apache2 antes de mostrar a página de login do phpMyAdmin. Isso adicionará autenticação adicional, de modo que apenas os usuários na lista de autenticação básica do Apache2 verão a página de login do phpMyAdmin e poderão fazer login no phpMyAdmin.
  • Bloqueando tentativa de login do phpMyAdmin com Fail2ban Jail: Você precisará do fail2ban instalado e configurado em sua máquina Ubuntu. Isso banirá o endereço IP de tentativas maliciosas de login no phpMyAdmin. Além disso, você pode configurar a tentativa máxima de login na prisão Fail2ban.

Agora, vamos começar a proteger o phpMyAdmin usando três métodos diferentes.

Alterar URL do caminho da instalação do phpMyAdmin

A instalação padrão do phpMyAdmin vem com configuração adicional para o servidor web apache2, a configuração é o arquivo /etc/phpmyadmin/apache.conf. Para alterar o caminho padrão de instalação do URL do phpMyAdmin, você precisará editar a configuração /etc/phpmyadmin/apache2.conf e reiniciar o serviço Apache2.

Edite o arquivo de configuração /etc/phpmyadmin/apache.conf usando o editor nano.

sudo nano /etc/phpmyadmin/apache.conf

Altere a opção "Alias /phpmyadmin" para o novo caminho do ULR. No exemplo abaixo, o phpMyAdmin estará disponível no caminho URL /padm.

Alias /padm /usr/share/phpmyadmin

Salve e feche o arquivo quando terminar.

A seguir, verifique e verifique a configuração do Apache2 usando o comando abaixo. Se sua configuração estiver correta, você receberá uma mensagem como "Sintaxe OK".

sudo apchectl configtest

Agora reinicie o serviço Apache2 para aplicar novas alterações no arquivo /etc/phpmyadmin/apache.conf.

sudo systemctl restart apache2

Volte ao seu navegador e visite o phpMyAdmin com o novo caminho URL /padm (por exemplo, http://192.168.10.15/padm). Você obterá o painel do phpMyAdmin na imagem a seguir.

Agora você alterou com sucesso o caminho padrão de instalação do URL do phpMyAdmin para o novo caminho URL /padm.

Protegendo o phpMyAdmin com Apache2 Basic Auth

A autenticação básica do Apache2 é um método de autenticação fornecido pelo módulo Apache mod_basic_auth. Para configurar a autenticação básica do Apache2, você precisará gerar o arquivo de senha e configurar o arquivo .htaccess no diretório raiz do documento phpMyAdmin.

Agora execute o comando abaixo para gerar um novo arquivo de autenticação básico do Apache2 /etc/phpmyadmin/.htpasswd com o novo usuário chamado padm. Se você não possui o comando htpasswd, você precisará instalar o pacote apache2-utils em seu sistema.

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

Agora insira a senha do usuário padm de autenticação básica do Apache2 e repita a senha. Isso irá gerar um novo arquivo de senha /etc/phpmyadmin/.htpasswd.

Em seguida, edite a configuração /etc/phpmyadmin/apache.conf usando o editor nano.

sudo nano /etc/phpmyadmin/apache.conf

Adicione a configuração dentro de "" conforme abaixo.

<Directory /usr/share/phpmyadmin>
...
...
AllowOverride All

Salve e feche o arquivo quando terminar.

Em seguida, execute o comando abaixo para habilitar o módulo mod_rewrite do Apache2.

sudo a2enmod rewrite

Crie um novo arquivo /usr/share/phpmyadmin/.htaccess usando o editor nano.

sudo nano /usr/share/phpmyadmin/.htaccess

Adicione a seguinte configuração ao arquivo.

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Salve e feche o arquivo quando terminar.

Agora reinicie o serviço Apache2 para aplicar novas alterações.

sudo systemctl restart apache2

Por último, volte ao seu navegador e atualize o URL do phpMyAdmin (por exemplo, http://192.168.10.15/padm). Agora você será solicitado à autenticação básica do Apache2.

Insira o usuário padm com sua senha e clique em Entrar. Se seu usuário e senha corresponderem à configuração /etc/phpmyadmin/.htpasswd arquivo, então você poderá obter o painel do phpMyAdmin, caso contrário, receberá a mensagem de erro como "421 Não Autorizado".

Agora você protegeu o phpMyAdmin com autenticação básica Apache2. Este método é recomendado para uso com certificados SSL em seu servidor web Apache2.

Bloqueando tentativa de login do phpMyAdmin com Fail2ban Jail

Neste cenário, você precisará que o Fail2ban esteja instalado e configurado em sua máquina Ubuntu. Usar a prisão Fail2ban limitará a falha de autenticação contra o phpMyAdmin e limitará o ataque de força bruta. O Fail2ban bloqueará qualquer tentativa de login maliciosa detectada no phpMyAdmin.

O Failban funciona verificando o arquivo de log da aplicação, então você precisará habilitar o arquivo de log do phpMyAdmin.

Edite a configuração do phpMyAdmin /etc/phpmyadmin/config.inc.php usando o editor nano.

sudo nano /etc/phpmyadmin/config.inc.php

Adicione a seguinte configuração ao final da linha. Isso registrará toda a autenticação do phpMyAdmin no arquivo Syslog /var/log/auth.log.

...
...
...
$cfg['AuthLog'] = 'syslog';

Salve e feche o arquivo quando terminar.

Em seguida, edite a configuração da prisão Fail2ban /etc/fail2ban/jail.local usando o editor nano.

sudo nano /etc/fail2ban/jail.local

Pesquise a prisão chamada "phpmyadmin-syslog" e adicione a opção "enabled=true" para habilitar a prisão.

[phpmyadmin-syslog]
enabled = true
port    = http,https
logpath = %(syslog_authpriv)s
backend = %(syslog_backend)s

Salve e feche o arquivo quando terminar.

Agora reinicie o serviço Fail2ban usando o comando abaixo para aplicar a nova configuração do jail.

sudo systemctl restart fail2ban

Para verificar a prisão "phpmyadmin-syslog", execute os comandos fail2ban-client abaixo.

Verificando a lista de jail Fail2ban habilitadas.

sudo fail2ban-client status

Verificando detalhes da prisão Fail2ban phpmyadmin-syslog.

sudo fail2ban-client status phpmyadmin-syslog

Abaixo você pode ver o status detalhado da prisão do phpmyadmin-syslog. Na captura de tela abaixo, você pode ver que um endereço IP "192.168.10.1" está bloqueado pelo Fail2ban.

Se você verificar o arquivo de log /var/log/auth.log usando o comando abaixo.

cat /var/log/auth.log

Você verá os logs da autenticação do phpMyAdmin abaixo. Você pode ver que o endereço IP "192.168.10.1" foi detectado como um login malicioso devido ao uso de usuário e senha incorretos.

Neste ponto, você protegeu o phpMyAdmin usando vários métodos diferentes. Outra consideração é usar SSL em cada host virtual do seu servidor. Isso torna o seu phpMyAdmin ainda mais seguro porque o SSL criptografará as conexões entre o seu navegador e o servidor.

Conclusão

Parabéns! Agora você aprendeu como instalar e configurar o phpMyAdmin no Ubuntu 22.04 mais recente. Além disso, você aprendeu vários métodos para proteger a instalação do phpMyAdmin, incluindo alterar o URL do caminho padrão, adicionar autenticação usando autenticação básica Apache2 e bloquear tentativas de login maliciosas usando Fail2ban Jail.