Como Instalar o PhpMyAdmin com Apache em Sistemas RHEL

Neste artigo, vamos guiá-lo passo a passo pelo processo de instalação da versão mais recente de PhpMyAdmin com o servidor web Apache em distribuições baseadas em RHEL como CentOS Stream, Fedora, Rocky Linux e Alma Linux.

O que é o PhpMyAdmin?

PhpMyAdmin é uma ferramenta de gerenciamento de banco de dados web baseada amplamente utilizada e poderosa, e ter a versão mais recente garante que você tenha acesso aos recursos mais atualizados e melhorias de segurança. No final deste guia, você será capaz de gerenciar seus bancos de dados MySQL ou MariaDB facilmente usando PhpMyAdmin.

Pré-requisitos

Antes de começarmos, certifique-se de ter o seguinte:

  • Acesso a um RHEL, CentOS Stream, Fedora, Rocky Linux ou sistema AlmaLinux.
  • Certifique-se de que você possa fazer login como o usuário root ou ter privilégios sudo para instalar software.
  • Uma pilha LAMP existente, que inclui Apache, MySQL/MariaDB e PHP. Se você não tiver LAMP, pode seguir estas etapas para configurá-lo.

Passo 1: Atualizar o Sistema

Antes de instalar qualquer software, é fundamental garantir que seu sistema esteja atualizado executando o seguinte comando dnf.

sudo dnf update
Update Linux System

Isso atualizará todos os pacotes em seu sistema para as versões mais recentes.

Passo 2: Instalar 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
Install Apache in Linux

Uma vez instalado, inicie o serviço Apache e habilite-o para iniciar na inicialização.

sudo systemctl start httpd
sudo systemctl enable httpd

Passo 3: Instalar MariaDB ou MySQL

Você também precisará de um servidor de banco de dados. Você pode optar por instalar MariaDB ou MySQL, mas neste exemplo, vamos escolher MariaDB.

sudo dnf install mariadb-server
Install MariaDB in Linux

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 sua instalação do MariaDB executando o script, que o solicitará a inserir uma senha para o usuário root, proibirá logons remotos do root e removerá usuários anônimos. Ele 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
Secure MariaDB in Linux

Passo 4: Instalar o PHP

PhpMyAdmin é construído com PHP, então precisamos instalar PHP e algumas extensões necessárias usando o seguinte comando.

sudo dnf install php php-mysqlnd php-json php-mbstring
Install PHP in Linux

Passo 5: Instalar o PhpMyAdmin

Agora, vamos prosseguir com a instalação do PhpMyAdmin em nosso sistema Linux navegando até o diretório raiz do servidor web /var/www/html como mostrado.

cd /var/www/html

Em seguida, baixe a versão mais recente de PhpMyAdmin usando o seguinte comando wget como mostrado.

sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Após o download, extraia o arquivo baixado e renomeie o diretório para conveniência.

sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin

Crie um arquivo de configuração para o 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 sua própria blowfish_secret:

$cfg['blowfish_secret'] = 'your_secret';

Salve e saia do arquivo.

Passo 6: Abrir a Porta do Apache no firewalld

Por padrão, o Apache geralmente usa as portas 80 e 443 para HTTP e HTTPS, respectivamente. Para abrir as portas do Apache e permitir o acesso ao PhpMyAdmin no 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.

Passo 7: Reiniciar o Servidor Web Apache

Por fim, reinicie o Apache para aplicar as alterações:

sudo systemctl restart httpd

Passo 8: Acessar o PhpMyAdmin

Agora você pode acessar o PhpMyAdmin através do seu navegador web navegando até o endereço IP do seu servidor ou nome de domínio seguido de “/phpmyadmin” na URL:

http://your_server_ip/phpmyadmin

Faça login usando suas credenciais MySQL ou MariaDB.

PHPMyAdmin Login
PHPMyAdmin Dashboard

Passo 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 <Directory "/var/www/html"> ou a seção onde seu PhpMyAdmin está configurado e atualize a diretiva Require para permitir que todos os endereços IP acessem 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ê deseja restringir o acesso a IPs específicos, substitua Require all granted por Require ip seu_ip.

Reinicie o Apache para aplicar as alterações.

sudo systemctl restart httpd

Agora, você deve ser capaz de acessar PhpMyAdmin do mundo exterior usando o endereço IP do seu servidor ou domínio.

http://your_server_ip/phpmyadmin

Lembre-se, abrir o acesso a PhpMyAdmin do mundo exterior pode representar riscos de segurança. Certifique-se de ter um mecanismo de autenticação forte em vigor e considere o uso de HTTPS para comunicação criptografada. Além disso, restrinja o acesso apenas a endereços IP confiáveis, se possível, ou proteja a URL de login do PhpMyAdmin.

Alterar a URL de login do phpMyAdmin

A URL de login padrão para phpMyAdmin é previsível e comumente alvo de atores mal-intencionados que tentam explorar vulnerabilidades. Alterar a URL de login adiciona uma camada extra de segurança, tornando mais difícil para usuários não autorizados ganharem acesso à sua 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 pela URL de login personalizada desejada. 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 da web e navegue até a nova URL de login phpMyAdmin.

http://yourdomain.com/my/
phpMyAdmin Login URL

Configurando SSL para phpMyAdmin

Proteger a comunicação entre o servidor web Apache e o phpMyAdmin é crucial para proteger informações sensíveis, como credenciais de login e conteúdo do banco de dados. Uma maneira eficaz de alcançar isso é configurando SSL (Secure Socket Layer) para phpMyAdmin em um servidor web Apache.

Para fazer isso, primeiro instale o módulo mod_ssl no 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 como 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
Create SSL Certificate for PhpMyAdmin

Após a criação do certificado SSL e da chave, abra o arquivo de configuração SSL do Apache.

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 o SSL para o phpMyAdmin.

$cfg['ForceSSL'] = true;

Salve as alterações e feche o editor de texto.

Finalmente, abra seu navegador e navegue até a seguinte URL para acessar o phpMyAdmin por meio de uma conexão SSL segura.

https://yourdomain.com/my/

Tenha em mente que a mensagem indicando uma conexão insegura é devido ao uso de um certificado autoassinado. Para prosseguir, clique em “Avançado” e confirme a exceção de segurança.

SSL Warning
Secure phpMyAdmin Login
Conclusão

Parabéns! Você instalou com sucesso o PhpMyAdmin com o Apache em seu sistema RHEL, CentOS Stream, Rocky Linux ou AlmaLinux. Essa ferramenta baseada na web simplifica a gestão de seus bancos de dados, tornando tarefas como criação de banco de dados, consultas e gerenciamento de dados uma brisa.

Source:
https://www.tecmint.com/install-phpmyadmin-rhel-centos-fedora-linux/