Bom, esse foi um dos bugs mais malucos que já vi no CPANEL/WHM em termos de webmail. Veja bem, o Webmail era a versão estável (0.8.7) do Roundcube e do nada um cliente reportou que não conseguia mais logar-se somente nele. Fiz uma série de coisas malucas (procedimentos comuns quando os crashes são apresentados) como:
– Subir de stable para current no WHM e via console mandar /scripts/upcp –force,
– Forcei a upgrade do mysql (altamente NÃO recomendado, irá subir de 0.8.7 para 0.9.1),
– Mudei de Dovecot para Courier-IMAP (não recomendado pelo largo consumo de ram desse serviço de IMAP).
Depois de fazer essas coisas que sempre resolviam o problema decidi partir para linha de comando e investigar o erro (ESSA DICA NEM NA CPANEL [fórum] EXISTE). Qualquer artigo que existir com essa dica é CÓPIA FIEL DO MEU ARTIGO.
No terminal vamos monitorar o erro:
tail -fn0 /var/cpanel/roundcube/log/errors
Assim que rodar este comando tente entrar no webmail, a mensagem de erro de login será exibida claramente para você, monitore o terminal, deverá ocorrer um erro doido como o de baixo:
[24-Oct-2013 10:56:53 -0200]: DB Error: _doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_5e6ea5fdf1ac9c4bf4bc2bd25054252dc4a7bd63d FROM ‘INSERT INTO users (created, last_login, username, mail_host, alias, language) VALUES (now(), now(), ?, ?, ?, ?)’]
[Native code: 1054]
[Native message: Unknown column ‘alias’ in ‘field list’]
in /usr/local/cpanel/base/3rdparty/roundcube/program/include/rcube_mdb2.php on line 296 (GET /cpsess4815466491/3rdparty/roundcube/index.php)
[24-Oct-2013 10:56:53 -0200]: PHP Error: Failed to create new user in /usr/local/cpanel/base/3rdparty/roundcube/program/include/rcube_user.php on line 513 (GET /cpsess4815466491/3rdparty/roundcube/index.php)
[24-Oct-2013 10:56:53 -0200]: PHP Error: Failed to create a user record. Maybe aborted by a plugin? in /usr/local/cpanel/base/3rdparty/roundcube/program/include/rcmail.php on line 964 (GET /cpsess4815466491/3rdparty/roundcube/index.php)
Depois que isso aparecer a saída é bem simples, faça assim, entre no terminal do seu WHM/CPANEL e digite mysql -u root -p OU mysql -v, assim que logar digite use roundcube; (não se esqueça do ponto e vírgula que citei no comando). Assim que logar cole a query abaixo:
ALTER TABLE `users` ADD `alias` VARCHAR( 128 ) BINARY NOT NULL AFTER `last_login`;
Feito isso tente logar-se novamente no roundcube.
Abraços e aguardo aquela barra de protein low carb lá em casa…
Passei por isso recentemente, seu blog está de parabéns por compartilhar essas informações, continue assim.