Base de Conhecimento

Instalar phpMyAdmin no Ubuntu: passo a passo na VPS

  • phpmyadmin, ubuntu, mysql, apache, nginx, vps
  • Usuários acharam útil: 0

Instale o phpMyAdmin no Ubuntu pelo apt, escolha Apache ou Nginx, crie um usuário MySQL para entrar e proteja o painel com HTTPS, senha forte e restrição.

Por Redação Eleven Host · @robson.direitodigital · 29 de outubro de 2026 · 9 min de leitura

Arte da Eleven Host: janela de terminal com o título: Instalar phpMyAdmin no Ubuntu: passo a passo na VPS

Capa da Redação Eleven Host para o guia: Instalar phpMyAdmin no Ubuntu: passo a passo na VPS Arte: Eleven Host

Para instalar phpMyAdmin no Ubuntu, rode sudo apt install phpmyadmin, escolha o servidor web quando o instalador perguntar e crie um usuário MySQL com senha para entrar. Com Apache o pacote se configura sozinho; com Nginx a configuração é manual.

Este passo a passo leva você da instalação ao primeiro login numa VPS com Ubuntu. Ele explica as perguntas do instalador, os dois caminhos de servidor web, o problema do usuário root e as medidas de segurança que a documentação do phpMyAdmin recomenda. Os comandos seguem o guia do Ubuntu e a documentação do projeto, e usamos seudominio.com.br e o IP de exemplo 203.0.113.10 no lugar dos seus dados.

O que é o phpMyAdmin e o que você precisa antes

O phpMyAdmin é uma interface web para administrar bancos MySQL pelo navegador. Ele conversa com um servidor MySQL. Por isso, o guia do Ubuntu pede um MySQL acessível, no mesmo servidor ou pela rede.

Antes de começar, confira estes itens:

Instale o servidor web antes do phpMyAdmin, para o instalador conseguir configurá-lo na hora.

Instalar o phpMyAdmin pelo apt

Atualize a lista de pacotes e instale:

sudo apt update

sudo apt install phpmyadmin

Durante a instalação, o guia do Ubuntu descreve uma pergunta sobre qual servidor web configurar para o phpMyAdmin. O guia usa o Apache2 como exemplo. Marque o seu servidor na lista; se o seu servidor não estiver na lista, não marque nenhum (veja a seção sobre Nginx).

O instalador também pode perguntar se deve configurar o banco do próprio phpMyAdmin com o dbconfig-common. Segundo a documentação do projeto, o pacote Debian e Ubuntu cria o armazenamento de configuração do phpMyAdmin por esse recurso. Aceitar (Yes) é o caminho usual, e o instalador pede uma senha para esse banco interno. Guarde essa senha em um gerenciador.

Essa senha do instalador é diferente da senha que você usará para entrar no painel. O login do phpMyAdmin usa um usuário do MySQL, e o passo a seguir mostra como preparar um.

Instalar o phpMyAdmin com Apache

Segundo a documentação do phpMyAdmin, o pacote configura sozinho o Apache e o lighttpd. Escolhendo o Apache na pergunta do instalador, o endereço já deve responder. Os arquivos de configuração ficam em /etc/phpmyadmin: o principal é /etc/phpmyadmin/config.inc.php e o do Apache é /etc/phpmyadmin/apache.conf.

Se o Apache não ficou configurado, o guia do Ubuntu indica estes três comandos:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf

sudo a2enconf phpmyadmin.conf

sudo systemctl reload apache2.service

Depois abra o endereço no navegador. Com um domínio apontado para a VPS, use o endereço abaixo; sem domínio, use o IP:

https://seudominio.com.br/phpmyadmin

http://203.0.113.10/phpmyadmin

Repare que o endereço com IP usa HTTP, sem criptografia. Use esse formato só para conferir que a página abre e passe a usar HTTPS antes de digitar uma senha de verdade (veja a seção de segurança).

Quer um endereço com o seu nome para acessar seus projetos? Busque e registre seu domínio na Eleven Host. Registrar domínio

Instalar o phpMyAdmin com Nginx

A documentação mostra que o pacote só configura Apache e lighttpd. Com Nginx, o pacote instala os arquivos, mas a configuração do servidor web fica por sua conta. O caminho é este:

  1. Na pergunta do instalador sobre o servidor web, não marque nenhuma opção.
  2. Configure à mão um location /phpmyadmin no seu bloco server, apontando para a pasta do programa, /usr/share/phpmyadmin, e entregando os arquivos PHP ao PHP-FPM.
  3. Teste a sintaxe antes de aplicar:

sudo nginx -t

  1. Se o teste passar, recarregue o Nginx:

sudo systemctl reload nginx

Este guia não traz um bloco de Nginx pronto. Se você prefere um caminho com menos configuração manual, o pacote configura o Apache sozinho.

Com qual usuário entrar no phpMyAdmin

O guia do Ubuntu diz para entrar com o root ou com um usuário MySQL que já exista. No Ubuntu, porém, o root do MySQL pode usar o plugin auth_socket. A documentação do MySQL descreve esse plugin: ele autentica clientes que conectam da máquina local pelo arquivo de socket e confere se o nome de usuário do sistema operacional é igual ao nome de usuário do MySQL.

Como o phpMyAdmin entra com senha, o root com auth_socket não consegue logar por ele. A solução é criar um usuário próprio. Entre no MySQL pelo terminal:

sudo mysql

E crie o usuário, trocando a senha de exemplo por uma senha forte:

CREATE USER 'admin_pma'@'localhost' IDENTIFIED BY 'SenhaForte';

GRANT ALL PRIVILEGES ON *.* TO 'admin_pma'@'localhost' WITH GRANT OPTION;

Esse usuário tem poder total sobre o servidor MySQL. Se você usa o phpMyAdmin para cuidar de um banco só, prefira dar privilégios apenas nele, por exemplo GRANT ALL PRIVILEGES ON loja.* TO .... O guia Criar usuário MySQL: como dar permissões com GRANT explica cada parte desses comandos.

Agora volte ao navegador, abra o endereço do phpMyAdmin e entre com admin_pma e a senha definida.

Como proteger o phpMyAdmin

Um painel que administra seus bancos é um alvo para tentativas de acesso. A seção de segurança da documentação do phpMyAdmin reúne medidas que você pode combinar:

  • Servir só por HTTPS: a documentação diz literalmente para servir o phpMyAdmin apenas em HTTPS e recomenda também o HSTS. O guia Redirecionar HTTP para HTTPS: passo a passo no Nginx ajuda nesse ponto.
  • Manter atualizado: acompanhe os avisos de segurança do projeto e atualize o pacote.
  • Senha forte e usuário próprio: com a autenticação padrão, chamada cookie, um usuário MySQL válido consegue entrar, então uma senha fraca em uma conta é uma porta aberta.
  • Proibir o root: a opção AllowRoot impede o login do root pelo painel.
  • Camada extra de autenticação: a documentação sugere uma autenticação HTTP na frente, como o Basic auth do Apache com um arquivo criado pelo htpasswd.
  • Verificação em duas etapas: ative o two-factor na sua conta do phpMyAdmin.
  • Bloquear robôs de busca: use o robots.txt ou uma regra do servidor web.
  • Registrar logins que falham: as falhas vão para o syslog, configuradas pela opção AuthLog, e ferramentas como o fail2ban podem usar esse registro para barrar tentativas repetidas.
  • Captcha no login: as opções CaptchaLoginPublicKey e CaptchaLoginPrivateKey ligam esse recurso.
  • Apagar a pasta setup: depois da configuração inicial. No Debian e no Ubuntu, o pacote já protege o setup.

Para proibir o root, edite /etc/phpmyadmin/config.inc.php e acrescente a linha:

$cfg['Servers'][$i]['AllowRoot'] = false;

Restringir por usuário e IP

A documentação de configuração permite limitar quem entra por usuário e endereço. O exemplo abaixo, também em /etc/phpmyadmin/config.inc.php, deixa o usuário admin_pma entrar apenas a partir do IP de exemplo 198.51.100.20:

$cfg['Servers'][$i]['AllowDeny']['order'] = 'explicit';

$cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow admin_pma from 198.51.100.20'];

No modo explicit, o usuário e o endereço precisam estar nas regras de allow e fora das de deny. Troque o IP de exemplo pelo seu. Você também pode restringir por IP no próprio Apache, com Require ip, ou no firewall.

Trocar o endereço /phpmyadmin por outro nome, editando a linha Alias em /etc/phpmyadmin/apache.conf, reduz a visita de robôs, mas não é proteção. A documentação de segurança do phpMyAdmin não fala em trocar o endereço, então use essa troca só como complemento às medidas acima.

Erros comuns ao instalar o phpMyAdmin

  • Página não encontrada em /phpmyadmin: o servidor web pode não ter ficado configurado. No Apache, rode os três comandos da seção correspondente. No Nginx, falta o location manual.
  • Access denied ao entrar com o root: o root pode usar auth_socket. Entre com o usuário criado na seção anterior. Se a mensagem for do MySQL, o artigo Erro 1045 MySQL: Access denied for user, como resolver detalha as causas.
  • Login recusado para um usuário que existe: confira o host da conta. O usuário admin_pma@localhost só vale para conexões locais.
  • Apache não recarrega: confira se os três comandos foram digitados exatamente como no guia, sem erro de nome no arquivo phpmyadmin.conf.
  • Tela do instalador sem opção marcada: se você pulou a escolha do servidor web, use os comandos manuais do Apache mostrados acima.

Checklist do phpMyAdmin

  • O MySQL está instalado e responde ao sudo mysql.
  • O servidor web (Apache ou Nginx) está instalado e abre a página inicial.
  • Rodei sudo apt update e sudo apt install phpmyadmin.
  • Marquei o servidor web correto na pergunta do instalador.
  • No Nginx, criei o location /phpmyadmin e testei com sudo nginx -t.
  • Criei um usuário MySQL próprio, com senha forte, em vez de usar o root.
  • Dei privilégios só nos bancos que esse usuário precisa.
  • Passei a acessar por HTTPS antes de digitar senhas.
  • Ativei ao menos uma camada extra: IP permitido, Basic auth ou verificação em duas etapas.

Prefere ter um servidor só seu para seus projetos? A VPS Plano Bronze sai a partir de R$ 17,00/mês; confira na loja o que cada plano inclui. Ver planos de VPS

Perguntas frequentes

Preciso do MySQL antes de instalar o phpMyAdmin?

O guia do Ubuntu pede um MySQL acessível, no mesmo servidor ou pela rede. Confira isso antes de instalar.

Por que o root não entra no phpMyAdmin?

No Ubuntu, o root do MySQL pode usar o plugin auth_socket, que confere se o usuário do sistema coincide com o usuário do MySQL, em vez de pedir a senha. Crie um usuário próprio com senha, como mostrado acima.

Dá para usar o phpMyAdmin com Nginx?

Dá, mas a configuração é manual: o pacote só configura Apache e lighttpd. Não marque servidor na pergunta do instalador, crie o location e teste com sudo nginx -t.

É seguro deixar o phpMyAdmin aberto na internet?

Não trate isso como seguro. Use HTTPS, senha forte, usuário próprio e, de preferência, restrição por IP ou uma camada extra de autenticação.

Esta resposta lhe foi útil?

Artigos Relacionados