phpMyAdmin · 6 min read · Oct 22, 2025

Como Instalar e Proteger a versão mais recente do phpMyAdmin no Debian 12

phpMyAdmin é uma ferramenta de administração gratuita e baseada na web usada para gerenciar bancos de dados MySQL e MariaDB, amplamente utilizada em sistemas Debian Linux. Ela fornece uma interface amigável para interagir com bancos de dados, permitindo que os usuários executem consultas SQL, gerenciem tabelas de banco de dados, importem e exportem dados e configurem várias configurações de banco de dados sem precisar usar a linha de comando. No Debian Linux, o phpMyAdmin é frequentemente instalado junto com uma pilha LAMP (Linux, Apache, MySQL/MariaDB, PHP), facilitando para administradores e desenvolvedores lidarem com operações de banco de dados de uma maneira mais visual e organizada.

Neste tutorial, vou mostrar como instalar e proteger a ferramenta de administração de banco de dados phpMyAdmin no Debian 12.

Pré-requisitos

  • Um servidor executando Debian 12.

  • Uma senha de root configurada no servidor.

Começando

Antes de começar, é uma boa ideia atualizar os pacotes do seu sistema para a versão mais recente. Você pode atualizar todos os pacotes usando o seguinte comando:

apt update -y

Uma vez que seu sistema esteja atualizado, você pode prosseguir para o próximo passo.

Instalar Servidor LAMP

phpMyAdmin é uma aplicação baseada em PHP que roda em um servidor web. Portanto, você precisará instalar o servidor LAMP no seu servidor. Você pode instalá-lo usando o seguinte comando:

apt install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -y

Uma vez que todos os pacotes estejam instalados, você pode prosseguir para o próximo passo.

Instalar e Configurar o phpMyAdmin

Primeiro, baixe a versão mais recente do phpMyAdmin do site oficial usando o seguinte comando:

wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip

Uma vez que o download esteja completo, descompacte o arquivo baixado com o seguinte comando:

unzip phpMyAdmin-5.2.1-all-languages.zip

Em seguida, mova o diretório extraído para o /usr/share com o seguinte comando:

mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin

Em seguida, crie o diretório necessário com o seguinte comando:

mkdir -p /var/lib/phpmyadmin/tmp

Em seguida, defina a propriedade adequada para o diretório do phpMyAdmin:

chown -R www-data:www-data /var/lib/phpmyadmin

Em seguida, copie o arquivo de configuração de exemplo do phpMyAdmin:

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Em seguida, instale o pwgen e gere uma chave secreta com o seguinte comando:

apt-get install pwgen -y  
pwgen -s 32 1

Saída:

pau9t1SG6lmaeCFxKqeeaY5N4erIa25K

Em seguida, edite o arquivo config.inc.php e configure-o:

nano /usr/share/phpmyadmin/config.inc.php

Defina sua chave secreta e descomente as seguintes linhas:

$cfg['blowfish_secret'] = 'pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* VOCÊ DEVE PREENCHER ISSO PARA AUTENTICAÇÃO DE COOKIE! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'password';

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Salve e feche o arquivo quando terminar.

Criar Usuário Admin do phpMyAdmin

É sempre recomendável criar um usuário separado para gerenciar o banco de dados através do phpMyAdmin.

Primeiro, importe as tabelas do phpMyAdmin para o banco de dados MariaDB usando o seguinte comando:

mysql < /usr/share/phpmyadmin/sql/create_tables.sql

Em seguida, conecte-se ao shell do MariaDB com o seguinte comando:

mysql

Uma vez conectado, conceda todos os privilégios necessários ao banco de dados phpmyadmin com o seguinte comando:

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';

Em seguida, crie um usuário admin com o seguinte comando:

MariaDB [(none)]> CREATE USER myadmin;

Em seguida, conceda todos os privilégios ao usuário admin com o seguinte comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Em seguida, limpe os privilégios e saia do shell do MariaDB usando o seguinte comando:

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Configurar o Apache para o phpMyAdmin

Em seguida, você deve criar um arquivo de configuração de host virtual do Apache para o phpMyAdmin. Você pode criá-lo usando o seguinte comando:

nano /etc/apache2/conf-available/phpmyadmin.conf

Adicione as seguintes linhas:

Alias /phpmyadmin /usr/share/phpmyadmin


    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    
        
            AddType application/x-httpd-php .php
        
        
            SetHandler application/x-httpd-php
        

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    
    
        
            AddType application/x-httpd-php .php
        
        
            SetHandler application/x-httpd-php
        

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    



# Autorizar para configuração

    
        
            AuthType Basic
            AuthName "Configuração do phpMyAdmin"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        
        Require valid-user
    


# Proibir acesso web a diretórios que não precisam

    Require all denied


    Require all denied


    Require all denied

Salve e feche o arquivo quando terminar, então habilite o arquivo de configuração do phpMyAdmin com o seguinte comando:

a2enconf phpmyadmin.conf

Em seguida, recarregue o serviço Apache para aplicar as alterações:

systemctl reload apache2

Você pode verificar o status do serviço Apache usando o seguinte comando:

systemctl status apache2

Você deve ver a seguinte saída:

? apache2.service - O Servidor HTTP Apache
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2024-08-25 11:28:21 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 23021 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 23031 (apache2)
      Tasks: 6 (limit: 2341)
     Memory: 14.6M
        CPU: 89ms
     CGroup: /system.slice/apache2.service
             ??45031 /usr/sbin/apache2 -k start
             ??45032 /usr/sbin/apache2 -k start
             ??45033 /usr/sbin/apache2 -k start
             ??45034 /usr/sbin/apache2 -k start
             ??45035 /usr/sbin/apache2 -k start
             ??45036 /usr/sbin/apache2 -k start

Sun 25 11:28:21 debian systemd[1]: Starting O Servidor HTTP Apache...

Acessar o phpMyAdmin

Neste ponto, o phpMyAdmin está instalado e configurado. Agora, abra seu navegador web e acesse o phpMyAdmin usando a URL http://seu-ip-do-servidor/phpmyadmin. Você deve ver a página de login do phpMyAdmin:

Login do phpMyAdmin

Forneça seu nome de usuário admin, senha e clique no botão Ir. Você deve ver o painel do phpMyAdmin na página seguinte:

phpMyAdmin

Proteger o phpMyAdmin

É uma boa ideia proteger o phpMyAdmin com autenticação de dois fatores. Você pode fazer isso usando as funcionalidades de autenticação e autorização do .htaccess.

Primeiro, edite o arquivo de configuração do phpMyAdmin:

nano /etc/apache2/conf-available/phpmyadmin.conf

Adicione a linha “AllowOverride All” no seguinte bloco de servidor:


    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All

    

Salve e feche o arquivo quando terminar, então reinicie o serviço Apache:

systemctl restart apache2

Em seguida, crie um arquivo .htaccess e defina o tipo de autenticação do Apache:

nano /usr/share/phpmyadmin/.htaccess

Adicione as seguintes linhas:

AuthType Basic
AuthName "Arquivos Restritos"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user

Salve e feche o arquivo, então crie um usuário com o seguinte comando:

ahtpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser

Você será solicitado a definir uma senha, como mostrado abaixo:

Nova senha: 
Re-digite a nova senha: 
Adicionando senha para o usuário secureuser

Verificar o phpMyAdmin

Neste ponto, o phpMyAdmin está protegido com autenticação adicional. Para verificá-lo, abra seu navegador web e acesse o phpMyAdmin usando a URL http://seu-ip-do-servidor/phpmyadmin. Você será solicitado a fornecer o nome de usuário e a senha adicionais, como mostrado abaixo:

Login seguro

Após fornecer seu nome de usuário e senha, você será redirecionado para a página de login regular do phpMyAdmin.

Conclusão

Parabéns! Você instalou e protegeu com sucesso o phpMyAdmin no Debian 12. Agora você pode explorar o phpMyAdmin e gerenciar seu banco de dados a partir do navegador web.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.