Como instalar o PhpMyAdmin com Apache em sistemas RHEL
Neste artigo, orientaremos você no processo passo a passo de instalação da versão mais recente do PhpMyAdmin com servidor web Apache em distribuições baseadas em RHEL, como CentOS Stream , Fedora, Rocky Linux e Alma Linux.
O que é PhpMyAdmin?
PhpMyAdmin é uma ferramenta popular e poderosa de gerenciamento de banco de dados baseada na Web, e ter a versão mais recente garante que você tenha acesso aos recursos e melhorias de segurança mais atualizados. Ao final deste guia, você será capaz de gerenciar seus bancos de dados MySQL ou MariaDB com facilidade usando o PhpMyAdmin.
Pré-requisitos
Antes de começarmos, certifique-se de ter o seguinte:
- Acesso a um sistema RHEL, CentOS Stream, Fedora, Rocky Linux ou AlmaLinux.
- Certifique-se de fazer login como usuário root ou ter privilégios sudo para instalar o software.
- Uma pilha LAMP existente, que inclui Apache, MySQL/MariaDB e PHP. Se você não possui o LAMP, siga estas etapas para configurá-lo.
Etapa 1: atualize o sistema
Antes de instalar qualquer software, é crucial garantir que seu sistema esteja atualizado executando o seguinte comando dnf.
sudo dnf update
Isso atualizará todos os pacotes do seu sistema para as versões mais recentes.
Etapa 2: Instale o servidor Web Apache
PhpMyAdmin é uma ferramenta baseada na web e, para usá-la, você precisa instalar o servidor web Apache usando o seguinte comando.
sudo dnf install httpd
Uma vez instalado, inicie o serviço Apache e habilite-o para iniciar na inicialização.
sudo systemctl start httpd
sudo systemctl enable httpd
Etapa 3: Instale MariaDB ou MySQL
Você também precisará de um servidor de banco de dados. Você pode optar por instalar o MariaDB ou o MySQL, mas usaremos o MariaDB neste exemplo.
sudo dnf install mariadb-server
Uma vez instalado, inicie o serviço MariaDB e habilite-o para iniciar na inicialização.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Em seguida, proteja a instalação do MariaDB executando o script, que solicitará que você insira uma senha para o usuário root, proibirá logins root remotos e removerá usuários anônimos. Também removerá o banco de dados de teste, que por padrão pode ser acessado por usuários anônimos.
sudo mysql_secure_installation
Passo 4: Instale o PHP
PhpMyAdmin é construído com PHP, então precisamos instalar o PHP e algumas extensões necessárias usando o seguinte comando.
sudo dnf install php php-mysqlnd php-json php-mbstring
Etapa 5: Instale o PhpMyAdmin
Agora, vamos prosseguir com a instalação do PhpMyAdmin em nosso sistema Linux navegando até o diretório raiz do documento do servidor web /var/www/html conforme mostrado.
cd /var/www/html
Em seguida, baixe a versão mais recente do PhpMyAdmin usando o seguinte comando wget conforme mostrado.
sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
Depois de baixado, extraia o arquivo baixado e renomeie o diretório por conveniência.
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin
Crie um arquivo de configuração para PhpMyAdmin.
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Edite o arquivo de configuração:
sudo nano /var/www/html/phpmyadmin/config.inc.php
Encontre a seguinte linha e defina seu próprio blowfish_secret:
$cfg['blowfish_secret'] = 'your_secret';
Salve e saia do arquivo.
Etapa 6: abra a porta Apache no firewalld
Por padrão, o Apache normalmente usa as portas 80 e 443 para HTTP e HTTPS, respectivamente. Para abrir portas Apache e permitir acesso ao PhpMyAdmin em seu servidor, execute:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload
Esses comandos adicionam uma regra para permitir o tráfego de entrada na porta especificada e recarregam o firewall para aplicar as alterações.
Etapa 7: reinicie o servidor Web Apache
Finalmente, reinicie o Apache para aplicar as alterações:
sudo systemctl restart httpd
Etapa 8: acesse o PhpMyAdmin
Agora você pode acessar o PhpMyAdmin através do seu navegador navegando até o endereço IP ou nome de domínio do seu servidor seguido de “/phpmyadmin” no URL:
http://your_server_ip/phpmyadmin
Faça login usando suas credenciais MySQL ou MariaDB.
Etapa 9: permitir acesso externo no PhpMyAdmin
Abra o arquivo de configuração do PhpMyAdmin.
sudo vi /etc/httpd/conf/httpd.conf
Encontre a seção
ou a seção onde seu PhpMyAdmin está configurado e atualize a diretiva Require
para permitir todos os endereços IP para acessar o PhpMyAdmin.
<Directory "/var/www/html/phpmyadmin">
...
Require all granted
...
</Directory>
A configuração acima permite o acesso de qualquer endereço IP, mas se você quiser restringir o acesso a IPs específicos, substitua Exigir todos concedidos
por Exigir ip seu_ip
.
Reinicie o Apache para aplicar as alterações.
sudo systemctl restart httpd
Agora, você deve conseguir acessar o PhpMyAdmin do mundo externo usando o endereço IP ou domínio do seu servidor.
http://your_server_ip/phpmyadmin
Lembre-se de que abrir o acesso ao PhpMyAdmin do mundo externo pode representar riscos de segurança. Certifique-se de ter um mecanismo de autenticação forte e considere usar HTTPS para comunicação criptografada. Além disso, restrinja o acesso apenas a endereços IP confiáveis, se possível, ou URL de login seguro do PhpMyAdmin.
Alterar URL de login do phpMyAdmin
O URL de login padrão do phpMyAdmin é previsível e comumente alvo de agentes mal-intencionados que tentam explorar vulnerabilidades. Alterar o URL de login adiciona uma camada adicional de segurança, tornando mais difícil para usuários não autorizados obter acesso à interface de gerenciamento de banco de dados.
Para fazer isso, crie um arquivo de configuração /etc/httpd/conf.d/phpMyAdmin.conf.
vi /etc/httpd/conf.d/phpMyAdmin.conf
Em seguida, adicione a seguinte configuração.
#Alias /phpMyAdmin /var/www/html/phpmyadmin
Alias /my /var/www/html/phpmyadmin
<Directory /var/www/htm/lphpmyadmin>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
# Additional IP or hostname-based access control can be added here
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
# Additional IP or hostname-based access control can be added here
</IfModule>
</Directory>
Substitua /my
pelo URL de login personalizado desejado. Salve as alterações e saia do editor de texto.
Após fazer alterações nos arquivos de configuração, reinicie o Apache para aplicar as modificações:
systemctl restart httpd
Abra seu navegador e navegue até o novo URL de login do phpMyAdmin.
http://yourdomain.com/my/
Configurando SSL para phpMyAdmin
Proteger a comunicação entre o servidor web Apache e o phpMyAdmin é crucial para proteger informações confidenciais, como credenciais de login e conteúdo do banco de dados. Uma maneira eficaz de conseguir isso é configurar o SSL (Secure Socket Layer) para o phpMyAdmin em um servidor web Apache.
Para fazer isso, primeiro instale o módulo mod_ssl em seu servidor.
yum install httpd mod_ssl openssl
Em seguida, crie um diretório para armazenar o certificado e gere um certificado SSL autoassinado e uma chave privada conforme mostrado.
mkdir /etc/httpd/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt
Após criar o certificado SSL e a chave, abra o arquivo de configuração Apache SSL.
vi /etc/httpd/conf.d/ssl.conf
Em seguida, adicione as seguintes linhas ao arquivo de configuração.
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
Salve as alterações e reinicie o servidor web Apache.
systemctl restart httpd
Agora, abra o arquivo de configuração do phpMyAdmin.
vi /var/www/html/phpmyadmin/config.inc.php
Adicione as seguintes linhas para forçar SSL para phpMyAdmin.
$cfg['ForceSSL'] = true;
Salve as alterações e saia do editor de texto.
Por fim, abra seu navegador e navegue até o seguinte URL para acessar o phpMyAdmin por meio de uma conexão SSL segura.
https://yourdomain.com/my/
Esteja ciente de que a mensagem indicando uma conexão insegura se deve exclusivamente à utilização de um certificado autoassinado. Para prosseguir, clique em “Avançado” e confirme a exceção de segurança.
Conclusão
Parabéns! Você instalou com sucesso o PhpMyAdmin com Apache em seu sistema RHEL, CentOS Stream, Rocky Linux ou AlmaLinux. Esta ferramenta baseada na web simplifica o gerenciamento de seus bancos de dados, facilitando tarefas como criação de banco de dados, consultas e gerenciamento de dados.