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 "
<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.