phpMyAdmin · 7 min read · Nov 06, 2025
Instalar e Proteger o phpMyAdmin no CentOS 8

phpMyAdmin é uma ferramenta gratuita e de código aberto para gerenciar servidores MySQL e MariaDB através de uma interface baseada na web. Com o phpMyAdmin, você pode criar e gerenciar bancos de dados e usuários, executar instruções SQL, importar e exportar dados, e realizar atividades de banco de dados, como criar, excluir, tabelas, colunas, índices, permissões e muito mais. O phpMyAdmin é uma das ferramentas de administração mais populares e amplamente utilizadas, especialmente para serviços de hospedagem na web.
Recursos
Fornece uma interface web simples e amigável.
Importa dados de CSV e SQL.
Suporta a maioria dos recursos do MySQL, incluindo criar, copiar, excluir, renomear, excluir e alterar bancos de dados, tabelas, campos e índices.
Permite exportar dados para vários formatos, como PDF, CSV, SQL, XML e muitos mais.
Gerencia múltiplos servidores.
Cria consultas complexas usando Consulta-por-exemplo (QBE).
Neste tutorial, mostraremos como instalar e proteger o phpMyAdmin em um servidor CentOS 8.
Requisitos
Um servidor rodando CentOS 8.
Uma senha de root configurada no servidor.
Instalar o Servidor LAMP
Primeiro, você precisará instalar o Apache, MariaDB, PHP e outras bibliotecas PHP em seu servidor. Você pode instalar todos eles com o seguinte comando:
dnf install httpd mariadb-server php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd php-json php-mbstring wget unzipUma vez que todos os pacotes estejam instalados, inicie o serviço do Apache e do MariaDB e habilite-os para iniciar após a reinicialização do sistema com o seguinte comando:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadbUma vez que você tenha terminado, pode prosseguir para o próximo passo.
Configurar o MariaDB
Por padrão, o MariaDB não está seguro. Portanto, você precisará protegê-lo primeiro. Você pode fazer isso executando o script mysql_secure_installation:
mysql_secure_installationResponda a todas as perguntas conforme mostrado abaixo:
Definir senha root? [Y/n] Y
Nova senha:
Remover usuários anônimos? [Y/n] Y
Desabilitar login root remotamente? [Y/n] Y
Remover banco de dados de teste e acesso a ele? [Y/n] Y
Recarregar tabelas de privilégios agora? [Y/n] Y
Uma vez que você tenha terminado, você deve ver a seguinte saída:
... Sucesso!
Limpando...
Tudo pronto! Se você completou todas as etapas acima, sua instalação do MariaDB
agora deve estar segura.
Obrigado por usar o MariaDB!
Neste ponto, sua instalação do MariaDB está segura.
Instalar o phpMyAdmin
Por padrão, o phpMyAdmin não está disponível no repositório padrão do CentOS 8. Portanto, você precisará baixar a versão mais recente do phpMyAdmin do site oficial deles. Você pode baixá-lo com o seguinte comando:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.2/phpMyAdmin-4.9.2-all-languages.zipUma vez baixado, descompacte o arquivo baixado com o seguinte comando:
unzip phpMyAdmin-4.9.2-all-languages.zipEm seguida, mova o conteúdo extraído para o diretório /usr/share conforme mostrado abaixo:
mv phpMyAdmin-4.9.2-all-languages /usr/share/phpmyadminEm seguida, mude o diretório para /usr/share/phpmyadmin e renomeie o arquivo config.sample.inc.php:
cd /usr/share/phpmyadmin
mv config.sample.inc.php config.inc.phpEm seguida, abra o arquivo com seu editor de texto favorito conforme mostrado abaixo:
nano config.inc.phpAltere a seguinte linha:
$cfg['blowfish_secret'] = 'sua-senha-secreta';
Salve e feche o arquivo quando terminar. Em seguida, importe o create_tables.sql com o seguinte comando:
mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -pForneça sua senha de root quando solicitado para importar a tabela.
Em seguida, crie um diretório tmp para o phpmyadmin e dê as permissões adequadas:
mkdir /usr/share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmpConfigurar o Apache para o phpMyAdmin
Em seguida, você precisará criar um arquivo de configuração de host virtual do Apache para o phpMyAdmin. Você pode criá-lo com o seguinte comando:
nano /etc/httpd/conf.d/phpmyadmin.confAdicione as seguintes linhas:
Alias /phpmyadmin /usr/share/phpmyadmin
AddDefaultCharset UTF-8
# Apache 2.4
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
# Apache 2.4
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Salve e feche o arquivo quando terminar. Em seguida, reinicie o serviço do Apache com o seguinte comando:
systemctl restart httpdVocê pode verificar o status do Apache com o seguinte comando:
systemctl status httpdVocê deve ver a seguinte saída:
? httpd.service - O Servidor HTTP Apache
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
??php-fpm.conf
Active: active (running) since Wed 2019-12-18 01:07:52 EST; 6s ago
Docs: man:httpd.service(8)
Main PID: 5636 (httpd)
Status: "Iniciado, ouvindo na: porta 80"
Tasks: 213 (limite: 25044)
Memory: 28.7M
CGroup: /system.slice/httpd.service
??5636 /usr/sbin/httpd -DFOREGROUND
??5639 /usr/sbin/httpd -DFOREGROUND
??5640 /usr/sbin/httpd -DFOREGROUND
??5641 /usr/sbin/httpd -DFOREGROUND
??5642 /usr/sbin/httpd -DFOREGROUND
Dec 18 01:07:52 centos8 systemd[1]: Stopped O Servidor HTTP Apache.
Dec 18 01:07:52 centos8 systemd[1]: Starting O Servidor HTTP Apache...
Dec 18 01:07:52 centos8 httpd[5636]: AH00558: httpd: Não foi possível determinar de forma confiável o nome de domínio totalmente qualificado do servidor, usando fe80::200:d0>
Dec 18 01:07:52 centos8 httpd[5636]: Servidor configurado, ouvindo na: porta 80
Dec 18 01:07:52 centos8 systemd[1]: Started O Servidor HTTP Apache.
Configurar SELinux e Firewall
Por padrão, o SELinux está habilitado no CentOS 8. Portanto, você precisará configurar o SELinux para que o phpMyAdmin funcione corretamente.
Primeiro, instale o pacote policycoreutils-python-utils para gerenciar um ambiente SELinux com o seguinte comando:
dnf install policycoreutils-python-utilsEm seguida, habilite o acesso ao diretório /usr/share/phpmyadmin com o seguinte comando:
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpmyadmin/'
semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/phpmyadmin/tmp(/.*)?"Agora, recursivamente, percorra todos os arquivos no seu diretório phpmyadmin executando o seguinte comando:
restorecon -Rv '/usr/share/phpmyadmin/'Em seguida, você precisará criar uma regra de firewall para permitir o serviço HTTP de redes externas. Você pode permitir com o seguinte comando:
f firewall-cmd --permanent --add-service=http
f firewall-cmd --reloadO phpMyAdmin agora está instalado e configurado. Agora é hora de verificar se está funcionando ou não.
Abra seu navegador e digite a URL http://your-server-ip/phpmyadmin. Você será redirecionado para a seguinte página:

Proteger o phpMyAdmin
Neste ponto, a instância do phpMyAdmin está funcionando corretamente. No entanto, proteger sua instância do phpMyAdmin do mundo exterior é uma tarefa importante para você. Nesta seção, mostraremos como proteger sua instância do phpMyAdmin.
Permitir phpMyAdmin de IPs Específicos
Primeiro, você precisará configurar seu phpMyAdmin para ser acessível apenas a partir do endereço IP da sua conexão de casa.
Você pode configurá-lo editando o arquivo /etc/httpd/conf.d/phpmyadmin.conf:
nano /etc/httpd/conf.d/phpmyadmin.confEncontre as seguintes linhas:
Require all granted
E substitua-as pelas seguintes:
Require ip seu-endereço-ip-da-conexão-casa
Require ip ::1
Salve e feche o arquivo quando terminar.
Configurar uma Camada Extra de Autenticação
É uma boa ideia proteger seu diretório phpmyadmin com senha, configurando uma autenticação básica.
Para fazer isso, crie um novo arquivo de autenticação usando a ferramenta htpasswd conforme mostrado abaixo:
mkdir /etc/phpmyadmin
htpasswd -c /etc/phpmyadmin/.htpasswd adminVocê será solicitado a fornecer sua senha de admin conforme mostrado abaixo:
Nova senha:
Re-digite a nova senha:
Adicionando senha para o usuário admin
Em seguida, você precisará configurar o Apache para usar o arquivo .htpasswd. Você pode fazer isso editando o arquivo /etc/httpd/conf.d/phpmyadmin.conf.
nano /etc/httpd/conf.d/phpmyadmin.confAdicione as seguintes linhas abaixo da linha “AddDefaultCharset UTF-8”:
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
AuthType basic
AuthName "Autenticação Necessária"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Salve o arquivo e reinicie o serviço do Apache para que as alterações tenham efeito:
systemctl restart httpdAcessar o phpMyAdmin
Agora, sua instância do phpMyAdmin está protegida com uma camada extra de segurança. Abra seu navegador e digite a URL http://your-server-ip/phpmyadmin. Você será solicitado a inserir as credenciais de login do usuário que você criou anteriormente, conforme mostrado abaixo:

Forneça seu nome de usuário e senha de admin, em seguida, clique no botão OK. Você será redirecionado para a página de login do phpMyAdmin:

Agora, forneça suas credenciais de login do usuário administrativo do MySQL e clique no botão Ir. Você deve ver a seguinte página:

Conclusão
Parabéns! você instalou e protegeu com sucesso o phpMyAdmin no servidor CentOS 8. Agora você pode criar bancos de dados, usuários, tabelas e gerenciá-los a partir da interface baseada na web. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.