Como instalar o phpMyAdmin com segurança no Linux
Você gerencia servidores MySQL e bancos de dados Linux e concorda que o gerenciamento de linha de comando não é para todos? Não seria bom ter uma GUI de gerenciamento front-end, para variar, e não gastar mais tempo descobrindo os comandos do MySQL? Instalar o phpMyAdmin seria uma excelente solução para você. Continue lendo para aprender como instalar o phpMyAdmin!
phpMyAdmin é uma interface baseada na web baseada no MySQL, tornando o gerenciamento de banco de dados conveniente e com apenas alguns cliques de distância. E neste tutorial você aprenderá como instalar e configurar o phpMyAdmin para ajudá-lo a começar.
Os dias de queda acidental da tabela do banco de dados terminarão no final deste tutorial! Venha e vamos descobrir como salvar seu emprego!
Pré-requisitos
Para acompanhar este guia, você precisará dos seguintes recursos:
- Você precisará de um Ubuntu Server 18.04 (ou superior).
- Acesso root ou sudo no servidor.
- O servidor deve ter a pilha Linux, Apache, MySQL, PHP (LAMP) instalada. Consulte Como instalar uma pilha LAMP no Ubuntu 18.04.
- Outro computador com um cliente Secure Shell (SSH) inclui extensão SSH putty, Bitvise ou Chome. Este tutorial usará o cliente SSH pronto para uso no Windows 10 (
ssh.exe
).
Instalando o phpMyAdmin
Existem várias maneiras de instalar o phpMyAdmin no Ubuntu. O método de instalação mais rápido e comum é através da ferramenta de pacote avançado padrão ou apt
. Prossiga com as etapas a seguir para instalar o phpMyAdmin.
1. Abra seu cliente SSH e faça login no servidor Ubuntu.
ssh username@server_name_or_IP
2. Em seguida, execute o seguinte comando para atualizar o cache de fontes do repositório de pacotes do seu servidor. Isso garante que você instalará as versões mais recentes disponíveis do software posteriormente.
sudo apt update -y
Dependendo da conexão de Internet do seu servidor e da carga do sistema, o comando de atualização pode levar vários minutos para ser concluído.
3. Em seguida, execute o comando apt install
abaixo para instalar o pacote phpmyadmin
junto com php-mbstring
e php-gettext
pacotes.
sudo apt install phpmyadmin php-mbstring php-gettext -y
4. Enquanto você instala o phpMyAdmin, o setup fará uma série de perguntas necessárias para a configuração do phpMyAdmin.
Pressione as teclas de seta na tela de configuração do servidor web para mover o cursor para apache2 e pressione a barra de ESPAÇO para selecionar. Você deverá ver um caractere de asterisco [*]
ao lado de sua seleção. Após fazer a seleção, pressione Enter.
5. A próxima tela solicita que você instale e configure o banco de dados phpMyAdmin, certifique-se de que
6. O processo de instalação cria automaticamente uma nova conta de usuário MySQL chamada phpMyAdmin, digite a senha da nova conta no prompt de senha e pressione Enter. Por segurança, considere usar uma senha forte.
7. No seguinte prompt de Confirmação de senha, digite novamente a senha do phpMyAdmin e pressione Enter. Aguarde a conclusão da configuração e o retorno do prompt de comando.
8. Após a conclusão do instalador, execute o comando abaixo para confirmar se o arquivo de configuração do phpMyAdmin Apache /etc/apache2/conf-enabled/phpmyadmin.conf existe.
ls /etc/apache2/conf-enabled/
O arquivo phpmyadmin.conf contém as configurações do phpMyAdmin, incluindo o local de instalação e qual servidor de banco de dados usar. Na maioria dos casos, você não precisa editar este arquivo manualmente.
9. Para garantir que o servidor web possa interpretar adequadamente a configuração do phpMyAdmin, execute o comando abaixo para habilitar a extensão PHP mbstring.
sudo phpenmod mbstring
10. Para que as alterações tenham efeito, reinicie o serviço do servidor web executando o seguinte comando.
sudo systemctl restart apache2
11. Por fim, confirme se o servidor web está funcionando executando o comando abaixo.
sudo systemctl status apache2
Você obterá uma saída semelhante à imagem abaixo. Como você pode ver, o status do serviço do servidor web Apache é ativo (em execução).
Criando uma conta privilegiada phpMyAdmin dedicada
À medida que você instala o phpMyAdmin, o processo de configuração cria automaticamente uma conta de usuário padrão do MySQL chamada phpmyadmin. Mas esta conta só tem acesso privilegiado ao próprio banco de dados phpMyAdmin e não possui recursos de administrador global.
Em vez de elevar o privilégio do usuário padrão, é mais prático criar uma nova conta privilegiada com um nome de usuário personalizado. Por que? Porque os malfeitores normalmente visam contas de usuário padrão para hackear.
Para criar uma nova conta de gerenciamento privilegiada dedicada, proceda da seguinte forma.
1. Insira o shell MySQL no terminal executando o comando abaixo.
sudo mysql
Ou, para entrar no MySQL como usuário root:
sudo mysql -u root -p
2. No prompt MySQL>
, execute a instrução CREATE USER
abaixo para criar um novo usuário com o nome ata
e a senha é pa$$palavra
. Sinta-se à vontade para substituir o nome de usuário e a senha conforme achar necessário.
CREATE USER 'ata'@'localhost' IDENTIFIED BY 'pa$$word';
A captura de tela abaixo mostra que a criação do usuário foi bem-sucedida.
3. Em seguida, execute a instrução GRANT ALL PRIVILEGES
abaixo. Este comando concederá ao usuário ata
acesso total a todos os bancos de dados. Anexar a cláusula WITH GRANT OPTION
dá a este usuário a capacidade de conceder privilégios a outros usuários também.
GRANT ALL PRIVILEGES ON *.* TO 'ata'@'localhost' WITH GRANT OPTION;
4. Agora que você criou o usuário e concedeu os privilégios, saia do shell do MySQL.
exit
Fazendo login no portal da web phpMyAdmin
Depois de todas as tarefas de instalação e configuração que você realizou até agora, agora é a hora de testar se tudo funciona conforme o esperado.
1. Abra uma nova janela do navegador no seu computador.
2. Navegue até http://seu_domínio_ou_IP/phpmyadmin, onde seu_domínio_ou_IP é o endereço IP ou o registro DNS que aponta para o seu servidor phpMyAdmin.
3. Na página Bem-vindo ao phpMyAdmin que é carregada, digite o nome de usuário e a senha que você criou na seção anterior e clique em Ir .
Depois de fazer login, você deverá ver o portal phpMyAdmin, conforme mostrado abaixo.
4. Para testar os privilégios da conta, clique na guia Banco de dados para listar todos os bancos de dados no servidor. Em seguida, clique no link Verificar privilégios à direita de qualquer nome de banco de dados.
Como você pode ver abaixo, a conta ata
possui todos os privilégios para este banco de dados. E por causa desse privilégio, a função Adicionar conta de usuário também está disponível para esta conta de usuário, permitindo conceder privilégios a outros usuários.
Protegendo o site phpMyAdmin com senha
Devido à sua onipresença, o phpMyAdmin é um alvo popular para hackers. Tomar algumas precauções para proteger sua instalação é fundamental.
Uma das maneiras mais rápidas de proteger o acesso à instalação do phpMyAdmin é colocar um gateway na frente de todo o aplicativo. E fazer isso requer que você implemente os recursos integrados de autenticação e autorização .htaccess do Apache com a diretiva AllowOverride.
Colocar as diretivas apropriadas em um arquivo .htaccess melhora ainda mais a segurança, evitando que usuários inexistentes acessem a página phpMyAdmin. Para implementar esta medida de segurança, proceda da seguinte forma.
1. Execute o comando abaixo para começar a editar o arquivo de configuração do phpMyAdmin no terminal.
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
2. Em seguida, encontre a seção
e insira a diretiva AllowOverride All
. Depois de fazer isso, a configuração será semelhante à imagem abaixo.
Não use tabulações para recuos. Em vez disso, use espaços.
3. Depois de adicionar a diretiva, salve e feche o arquivo pressionando Ctrl+X
, Y
e Enter
.
4. Para que as alterações tenham efeito, reinicie o serviço do servidor web Apache.
sudo systemctl restart apache2
5. Agora, crie e edite o arquivo /usr/share/phpmyadmin/.htaccess.
Criar o .htacces no diretório /usr/share/phpmyadmin aplica a regra de restrição de acesso a todo o aplicativo phpMyAdmin
sudo nano /usr/share/phpmyadmin/.htaccess
6. Copie as diretivas abaixo e cole-as no arquivo .htaccess. Editando o arquivo, pressione CTRL+X
, Y
e Enter
para salvar e fechar.
# Sets the authentication type to require entering the username and password.
AuthType Basic
# The message that the server displays on the credential prompt.
AuthName "Restricted Files"
# Specifies the file's location containing the valid users and passwords list.
AuthUserFile /etc/phpmyadmin/.htpasswd
# Allows the user who successfully authenticated to continue accessing phpMyAdmin.
Require valid-user
Nem todos os navegadores exibem o valor da diretiva AuthName durante os prompts de autenticação.
7. Agora execute o comando abaixo para criar um novo arquivo de autenticação (.htpasswd). Substitua username
pelo nome de usuário que você deseja adicionar.
sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
Digite e digite novamente a nova senha enquanto pressiona Enter a cada vez.
Para adicionar usuários subsequentes, execute
sudo htpasswd /etc/phpmyadmin/.htpasswd advanceduser
, ondeadditionaluser
é o novo nome de usuário.
8. Por fim, abra seu navegador e navegue até seu endereço phpMyAdmin (https://domain_name_or_IP/phpmyadmin
) e digite o nome de usuário e a senha que você criou na etapa anterior.
Se você inseriu o nome de usuário e a senha corretos, você verá a próxima página de login do phpMyAdmin.
Por outro lado, se você falhar na autenticação, receberá uma resposta Não autorizado conforme abaixo.
Conclusão
Parabéns por chegar ao fim. Você aprendeu como instalar o phpMyAdmin no Linux, configurar e proteger o aplicativo. Com o phpMyAdmin em seu arsenal, gerenciar o MySQL através da linha de comando agora é apenas mais uma opção, junto com o novo portal web que você instalou.
Não pare aqui? Este tutorial mal arranhou a superfície do que o phpMyAdmin pode fazer. Talvez você possa aumentar ainda mais a segurança do phpMyAdmin com certificados, acesso HTTPS e desabilitando o login root. Boa sorte!