Após o encerramento não limpo, o ownCloud continua respondendo com o erro HTTP 500

1

Meu servidor ownCloud baseado em Raspbian sofreu uma queda de energia no outro dia. Desde então, não consegui usar o ownCloud: no navegador, acabei de receber uma página em branco que parece não terminar o carregamento, o DAVdroid e o cliente de sincronização da área de trabalho reclamam de receber um Erro HTTP 500 (Erro interno do servidor). / p>

Eu nem consigo acessar a interface do administrador do próprioCloud. O syslog não possui entradas que pareçam suspeitas. O que dá?

    
por user149408 06.03.2017 / 00:00

1 resposta

0

Um guia genérico para a solução de problemas do ownCloud está em site oficial .

arquivos de log do ownCloud estão em /var/www/owncloud/data/owncloud.log estavam vazios no meu caso.

Os logs de erros do PHP5 estão desabilitados por padrão (pelo menos no Raspbian). Você precisa habilitá-los em /etc/php5/apache2/php.ini definindo log_errors como Ativado e definindo o caminho para o arquivo de log em error_log . Depois disso, você precisa reiniciar o servidor da Web para que as alterações entrem em vigor. Ignorei essa etapa inteira.

Os logs de erro do Apache são armazenados em /var/log/apache2/error.log (em Raspbian - o caminho pode variar muito entre distribuições). Os logs são girados na reinicialização ou a cada 24 horas, com o log anterior sendo renomeado para error.log.1 , o log antes de ser gzipado e nomeado error.log.2.gz e assim por diante, para 10+ logs. Eles podem ser vistos assim:

sudo less /var/log/apache2/error.log
sudo less /var/log/apache2/error.log.1
sudo zcat /var/log/apache2/error.log.2.gz | less

(observe o comando diferente para logs gzipados).

Os logs de erro do Apache tinham muitas linhas como estas:

[Sat Mar 04 14:32:15.682697 2017] [:error] [pid 12325] [client 10.15.1.19:56016] PHP Parse error: syntax error, unexpected '41' (T_LNUMBER), expecting ')' in /var/www/owncloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Hash.php on line 385

Descendo um pouco mais para a história, na verdade, descobriu-se que esse erro começou a aparecer quando o sistema apareceu pela primeira vez após a queda de energia, o que sugere uma corrupção no sistema de arquivos.

O arquivo em questão parece ser parte da instalação do ownCloud, assim imaginei que a maneira mais fácil seria reinstalar o pacote ownCloud (eu havia escolhido o caminho deb).

Desde que o ownCloud desde então lançou uma nova versão, 9.1.4 (meu servidor ainda está no 9.1.3), a reinstalação falhou porque o pacote original não estava mais disponível em seu local antigo.

Por isso, decidi arriscar e executar a atualização, que imaginei que restauraria o arquivo ausente da mesma maneira. (A reinstalação provavelmente teria funcionado bem e restaurado o serviço mais rapidamente.)

Após a atualização, pelo menos o ownCloud me cumprimentou com um aviso dizendo que estava no modo de manutenção. Os seguintes comandos completaram a atualização:

sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off
sudo -u www-data php /var/www/owncloud/occ upgrade

(observe que o caminho para occ deve ser fornecido, caso contrário, ele não será encontrado).

Depois disso, eu ainda precisava fazer login com uma conta de administrador, ir para o Google Apps e reativar meus aplicativos novamente.

E o servidor está de volta dos mortos.

    
por 06.03.2017 / 00:00