Moodle não faz login: causas e como resolver

Moodle não faz login: causas e como resolver

Resposta rápida: Quando o Moodle não faz login, a tela quase nunca diz o motivo: senha errada, usuário inexistente, conta suspensa e método de autenticação desativado mostram a mesma mensagem de login inválido. Abra o relatório de logs do administrador, veja o motivo registrado e corrija a causa: senha, bloqueio, cookies, endereço do site ou autenticação.

"O Moodle não faz login" pode ser uma senha esquecida ou um servidor mal configurado, e a tela de login não ajuda a distinguir. Este guia segue a ordem do nosso diagnóstico: primeiro o log, depois as causas comuns. Se você só quer recuperar a senha, vá para esqueci a senha do Moodle.

Descubra o motivo real nos logs

O Moodle mostra a mesma mensagem, "Invalid login, please try again" (login inválido), quando a senha está errada, o usuário não existe, a conta está suspensa ou o método de autenticação dela está desativado. Só o bloqueio por tentativas tem aviso próprio: um link de desbloqueio foi enviado por e-mail.

Quem vê o motivo é o administrador. Em Administração do site > Relatórios > Logs, procure o evento User login failed (falha de login). O Moodle registra cinco motivos: usuário inexistente, conta suspensa, senha provavelmente errada, usuário bloqueado e usuário não autorizado. Método de autenticação desativado aparece como conta suspensa.

Se nem o administrador entra, leia o log de erros do servidor web ou ligue a depuração em Administração do site > Desenvolvimento > Depuração. Sem acesso ao painel, descomente no config.php:

$CFG->debug = (E_ALL | E_STRICT);
$CFG->debugdisplay = 1;

A documentação marca essas linhas como não indicadas para produção: a saída pode revelar a configuração do site. Use só para diagnosticar e comente de novo.

Senha, conta suspensa ou bloqueada

  • Senha. Em contas de autenticação manual, o administrador redefine pelo painel ou por reset_password.php (veja Comandos úteis), que aplica a política de senha, salvo com --ignore-password-policy.
  • Conta suspensa. No perfil do usuário, confira a opção Suspended account.
  • Conta bloqueada. Em Segurança > Políticas do site (Site policies) ficam o limite de tentativas, a janela de observação e a duração do bloqueio. Para liberar na hora, use Usuários > Contas > Navegar na lista de usuários.

Cookies, sessão e o endereço do site

Se o Moodle aceita a senha e volta para a tela de login, a senha passou, mas a sessão não ficou. Causas comuns:

  • Endereço diferente do configurado. O Moodle compara o endereço acessado com o $CFG->wwwroot do config.php. Se o domínio ou a porta diferem, ou se a visita é http e o wwwroot é https, ele mostra o aviso "Incorrect access detected" e redireciona. Por isso http x https e www x sem www quebram o login. Atrás de proxy existem sslproxy e reverseproxy; o config-dist.php lembra que o site pode ser acessado por http ou https, mas não pelos dois.
  • Cookies bloqueados. O Moodle avisa que os cookies não estão ativados no navegador. Teste numa janela anônima.
  • Cookies seguros. A opção Secure cookies only (Segurança > Segurança HTTP, ou HTTP security) só deve ficar ligada se o site responde apenas por https.
  • Prefixo do cookie. Em Servidor > Tratamento de sessão (Session handling) fica o prefixo (sessioncookie). Dois Moodles no mesmo domínio precisam de prefixos diferentes, senão um derruba a sessão do outro.
  • Sessão que não grava. Pasta de dados sem permissão de escrita ou disco cheio (veja Moodle não abre: o que fazer).

Método de autenticação e login único

Cada conta tem um método de autenticação (manual, e-mail, LDAP, OAuth 2). Em Administração do site > Plugins > Autenticação > Gerenciar autenticação, o olho aberto indica plugin ativo; se o método de uma conta está desativado, o login é recusado. Exemplo da documentação: quem se cadastrou sozinho só continua entrando se a autenticação por cadastro via e-mail seguir ativa. Se o formulário de login foi escondido, a descrição da opção avisa que contas manuais deixam de entrar.

Com login único (SSO), o Moodle depende do provedor. Se Microsoft 365, Google ou LDAP falham, ou se o endereço de retorno cadastrado no provedor não bate com o do Moodle, ninguém entra. Mantenha um administrador com login manual. O passo a passo está em login único no Moodle.

Entra no site, mas não no curso

Autenticação é entrar no site; inscrição é entrar no curso. Se a pessoa entra e não vê o curso, o login está certo: falta um método de inscrição ativo, a chave de inscrição ou a própria matrícula. Veja comprou o curso e não foi matriculado e matrícula em massa por CSV.

Modo de manutenção

Em manutenção, só o administrador acessa; os demais veem a página de manutenção. Se ficou ligado depois de uma atualização, veja como desativar o modo de manutenção.

Comandos úteis

Rode na pasta do Moodle, com o usuário do servidor web (www-data ou apache), nunca como root:

cd /var/www/moodle
sudo -u www-data /usr/bin/php admin/cli/reset_password.php --username=admin
sudo -u www-data /usr/bin/php admin/cli/purge_caches.php
sudo -u www-data /usr/bin/php admin/cli/cfg.php --name=wwwroot
sudo -u www-data /usr/bin/php admin/cli/cfg.php --name=sessioncookie

O primeiro pede a nova senha e só funciona em contas manuais. O segundo limpa os caches. Os dois últimos mostram o endereço do site e o prefixo do cookie (sem saída, o valor não está definido).

Quando pedir ajuda

Se o log aponta uma causa que você não consegue corrigir, ou o login quebrou para todos de uma vez, vale uma segunda opinião antes de mexer no config.php de produção. O nosso suporte de Moodle começa com um diagnóstico gratuito.

Perguntas frequentes

Por que o Moodle não faz login mesmo com a senha certa?

A conta pode estar suspensa, o método de autenticação dela pode estar desativado ou a sessão não está sendo mantida. A tela mostra a mesma mensagem de login inválido nesses casos; o motivo real aparece no relatório de logs.

Por que o Moodle aceita a senha e volta para a tela de login?

A sessão não ficou. Causas comuns: acessar por endereço diferente do wwwroot do config.php (http em vez de https, com ou sem www), cookies bloqueados, cookies seguros num site em http, ou pasta de dados sem permissão de escrita.

Minha conta do Moodle foi bloqueada. Como desbloquear?

Depois de várias tentativas erradas, o Moodle bloqueia a conta e envia um link de desbloqueio por e-mail. O administrador também libera em Usuários, Contas, Navegar na lista de usuários, e ajusta os limites em Segurança, Políticas do site.

Como redefinir a senha do administrador pela linha de comando?

Na pasta do Moodle, rode admin/cli/reset_password.php com --username, usando o usuário do servidor web. O script pede a nova senha e só funciona em contas de autenticação manual; login único e LDAP têm a senha no sistema de origem.

Qual a diferença entre erro de autenticação e erro de inscrição no Moodle?

Autenticação é entrar no site com usuário e senha. Inscrição é fazer parte de um curso. Se a pessoa entra e não vê o curso, o login está certo e falta um método de inscrição ativo, a chave do curso ou a matrícula.

Alejandro Argachá, especialista em Moodle

Escrito por Alejandro Argachá

Conhece o Moodle desde 2011 e, desde 2016, atua na parte técnica: servidor, código e segurança. Mais de 250 projetos entregues, boa parte para outras empresas que vendem Moodle. Resolve na prática problemas como este em plataformas de empresas e instituições brasileiras. Ver casos reais.