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 popular 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 com facilidade usando PhpMyAdmin.

Pré-requisitos

Antes de começarmos, verifique se você possui 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 possui LAMP, pode seguir essas etapas para configurá-lo.

Passo 1: Atualizar o Sistema

Antes de instalar qualquer software, é crucial 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

Depois de instalado, inicie o serviço Apache e ative-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 optar por MariaDB.

sudo dnf install mariadb-server
Install MariaDB in Linux

Depois de instalado, inicie o serviço MariaDB e ative-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 levará a inserir uma senha para o usuário root, proibir login remoto 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 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 PhpMyAdmin

Agora, vamos prosseguir com a instalação de 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

Depois de baixado, extraia o arquivo de 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 chave 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 para 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 do 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 que você tem 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.

Mude a URL de login do phpMyAdmin

A URL de login padrão para phpMyAdmin é previsível e comumente visada por atores mal-intencionados tentando explorar vulnerabilidades. Mudar a URL de login adiciona uma camada extra de segurança, tornando mais difícil para usuários não autorizados ganharem acesso ao seu 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 sua URL de login personalizada desejada. Salve as alterações e saia do editor de texto.

Depois de 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é o novo URL de login do 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 o 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

Depois de criar o certificado SSL e a 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 saia do editor de texto.

Finalmente, 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/

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. Esta 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/