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 -yUma 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 -yUma 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.zipUma vez que o download esteja completo, descompacte o arquivo baixado com o seguinte comando:
unzip phpMyAdmin-5.2.1-all-languages.zipEm seguida, mova o diretório extraído para o /usr/share com o seguinte comando:
mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadminEm seguida, crie o diretório necessário com o seguinte comando:
mkdir -p /var/lib/phpmyadmin/tmpEm seguida, defina a propriedade adequada para o diretório do phpMyAdmin:
chown -R www-data:www-data /var/lib/phpmyadminEm seguida, copie o arquivo de configuração de exemplo do phpMyAdmin:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.phpEm seguida, instale o pwgen e gere uma chave secreta com o seguinte comando:
apt-get install pwgen -y
pwgen -s 32 1Saída:
pau9t1SG6lmaeCFxKqeeaY5N4erIa25K
Em seguida, edite o arquivo config.inc.php e configure-o:
nano /usr/share/phpmyadmin/config.inc.phpDefina 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.sqlEm seguida, conecte-se ao shell do MariaDB com o seguinte comando:
mysqlUma 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.confAdicione 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.confEm seguida, recarregue o serviço Apache para aplicar as alterações:
systemctl reload apache2Você pode verificar o status do serviço Apache usando o seguinte comando:
systemctl status apache2Você 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:

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:

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.confAdicione 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 apache2Em seguida, crie um arquivo .htaccess e defina o tipo de autenticação do Apache:
nano /usr/share/phpmyadmin/.htaccessAdicione 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 secureuserVocê 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:

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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.