phpMyAdmin é uma ferramenta de administração gratuita e de código aberto para MySQL e MariaDB. Como um aplicativo da web portátil escrito principalmente em PHP, tornou-se uma das ferramentas de administração MySQL mais populares, especialmente para serviços de hospedagem na web. Neste guia, vamos instalar o phpMyAdmin com Apache no CentOS 7.
Um pré-requisito importante antes de usar este guia é instalar uma pilha LAMP (Linux, Apache, MariaDB e PHP) em seu servidor CentOS 7. A pilha LAMP é a plataforma que será usada para servir nossa interface phpMyAdmin (MariaDB também é o software de gerenciamento de banco de dados que desejamos gerenciar). Se você ainda não tem uma instalação do LAMP em seu servidor, clique aqui para ler nosso tutorial sobre como instalar o LAMP no CentOS 7.
Etapa 1:adicionar repositório EPEL:
Precisamos adicionar o repositório EPEL (Extra Packages for Enterprise Linux) ao nosso servidor antes de prosseguir com a instalação, pois ele contém muitos pacotes adicionais, incluindo o pacote phpMyAdmin que estamos procurando. Para instalar, digite o comando abaixo:
sudo yum install epel-release
Etapa 2:Instale o phpMyAdmin:
Digite o comando abaixo para instalar o pacote phpMyAdmin usando o sistema de empacotamento yum seguido de y para continuar:
sudo yum install phpmyadmin
Após a instalação com sucesso, você deve obter um resultado semelhante ao mostrado abaixo:
A instalação inclui um arquivo de configuração do Apache que foi colocado em seu diretório apropriado. Precisamos modificar este arquivo de configuração para que nossa instalação funcione perfeitamente para nossas necessidades.
Abra o
phpMyAdmin.conf
no /etc/httpd
arquivo no editor de texto (nano neste guia) para fazer algumas modificações:sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Atualmente, a configuração no arquivo de configuração está configurada para negar acesso a qualquer conexão que não seja feita do próprio servidor. Como estamos avaliando nosso servidor remotamente (via ssh), precisamos modificar algumas linhas para especificar o endereço IP de sua conexão doméstica.
O primeiro local é o
<Directory /usr/share/phpMyAdmin/>
seção como mostrado abaixo:Altere qualquer linha que leia
Require ip 127.0.0.1
ou Allow from 127.0.0.1
para se referir ao endereço IP da sua conexão doméstica. Observação: Se precisar de ajuda para encontrar o IP da sua conexão doméstica, clique aqui para verificar.
O segundo local é o
<Directory /usr/share/phpMyAdmin/setup/>
seção como mostrado abaixo:Além disso, altere qualquer linha que leia
Require ip 127.0.0.1
ou Allow from 127.0.0.1
para se referir ao endereço IP da sua conexão doméstica. Observação: O endereço IP das suas conexões domésticas é diferente do endereço IP do seu VPS.
Após fazer as configurações, reinicie o servidor web Apache digitando:
sudo systemctl restart httpd.service
Para acessar a interface, visite seu endereço IP público ou nome de domínio do servidor seguido de /phpMyAdmin, em seu navegador da web:
http://server_domain_or_IP/phpMyAdmin
Faça login na interface do phpmyadmin usando o nome de usuário root e a senha administrativa que você configurou durante a instalação do MySQL. Após o login, a interface do usuário se parece com a captura de tela abaixo:
PROTEGENDO SUA INSTÂNCIA PHPMYADMIN
Proteger seu phpmyadmin é importante para evitar acesso não autorizado. Uma maneira fácil de fazer isso é alterar a localização da interface de /phpMyAdmin para outra coisa para evitar tentativas automatizadas de força bruta de bot.
Abra o arquivo de configuração usando o comando abaixo:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
As duas linhas abaixo são os aliases padrão que nos fornecem conteúdo do
/usr/share/phpMyAdmin
localização se acessarmos o nome de domínio ou endereço IP do nosso site, seguido por /phpMyAdmin
ou /phpmyadmin
. Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
Vamos desabilitar esses aliases padrão devido à alta taxa em que são alvos de bots e usuários mal-intencionados. Por motivos de segurança, devemos decidir sobre nosso próprio alias tendo em mente estas duas regras:
- Não deve indicar a finalidade do local do URL.
- Deve ser fácil de lembrar, mas não fácil de adivinhar.
Neste guia, vamos usar
/somethingelse
. Para aplicar nossas alterações, vamos comentar as linhas existentes (você pode removê-las completamente) e adicionar as nossas próprias:
#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /somethingelse /usr/share/phpMyAdmin
Salve e feche o arquivo e prossiga para reiniciar o httpd com o comando abaixo:
sudo systemctl restart httpd.service
Se você visitar o local anterior da instalação do phpMyAdmin, receberá um erro 404:
http://server_domain_or_IP/phpMyAdmin
http://server_domain_or_IP/nothingtosee
Você também pode proteger o phpMyAdmin colocando um gateway na frente de todo o aplicativo usando o
.htaccess
integrado do Apache funcionalidades de autenticação e autorização. Primeiramente, precisaremos habilitar o uso de substituições de arquivos .htaccess editando nosso arquivo de configuração do Apache. Abra o phpmyadmin.conf com o comando abaixo:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Adicionar
AllowOverride All
na parte inferior do <Directory /usr/share/phpmyadmin>
seção do arquivo de configuração como mostrado abaixo:Salve o arquivo antes de fechar e reinicie o Apache com o comando:
sudo systemctl restart apache2
Após habilitar o uso do .htaccess, precisamos criar o arquivo para implementar totalmente a segurança digitando o comando abaixo:
sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Você pode ler mais em
htaccess
aqui. Digite o comando abaixo para adicionar a senha ao
htaccess
Arquivo:sudo htpasswd -c /etc/httpd/pma_pass username
Para adicionar usuários adicionais para autenticação, digite o mesmo comando novamente, mas desta vez sem o
-c
sinalizador e com um novo nome de usuário:sudo htpasswd /etc/httpd/pma_pass seconduser
Com isso, sempre que você acessar o phpMyAdmin em seu domínio, será solicitado o nome de conta e a senha adicionais que você acabou de configurar conforme mostrado abaixo:
Com isso, sempre que você acessar o phpMyAdmin em seu domínio, será solicitado o nome de conta e a senha adicionais que você acabou de configurar conforme mostrado abaixo:
Depois de digitar a senha de autenticação do Apache, você será redirecionado para a página de autenticação original do phpMyAdmin para inserir suas outras credenciais.