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.