Quando os uploads do ownCloud travam em 99%, verifique estes limites.

Quando a página de Arquivos do ownCloud estiver em 99%, verifique primeiro se o arquivo completo já aparece na pasta de destino antes de tentar novamente. Se estiver faltando ou incompleto, peça ao administrador para verificar a cota de usuário, o espaço livre nos diretórios temporários do PHP e nos arquivos chunk do ownCloud, e também os limites de requisições do PHP e do servidor web. Um indicador de 99% não é suficiente para identificar qual parte falhou.

Este guia prático aborda os uploads realizados através da interface web do ownCloud Server (Classic) 10.16. Os uploads do Infinite Scale e do desktop-sync utilizam caminhos de servidor e logs diferentes. Os exemplos seguem a documentação oficial da versão 10.16; utilize as configurações e os caminhos de arquivo para a sua própria implementação.

Triagem rápida

O que você vêVerifique primeiro
O arquivo aparece completo após atualizar a pasta.Compare o tamanho com o arquivo local e abra-o antes de fazer o upload novamente.
Apenas arquivos grandes travam ou falham.Compare o tamanho do arquivo com os limites do PHP, do servidor web e do proxy; verifique o armazenamento temporário.
Os uploads falharam para um usuário ou uma pasta.Verifique a quota do usuário, as permissões da pasta e se o destino é um armazenamento externo.
Os uploads falham para muitos usuários.Verifique o espaço em disco compartilhado, os logs do PHP/servidor web e quaisquer limites de proxy ou hospedagem.
Exemplo de visualização de Arquivos no estilo ownCloud, mostrando o arquivo LargeArchive.zip com uma barra de upload em 99%.
Exemplo de visualização de arquivos: a linha de upload está quase cheia, mas a porcentagem sozinha não mostra se o servidor confirmou o arquivo.

1. Confirme o estado do upload antes de tentar novamente.

Abra a pasta de destino em uma segunda aba ou atualize-a após o upload parar de atualizar. Se o arquivo estiver presente, compare seu tamanho em bytes com o original local e abra-o. Um arquivo completo com uma barra de progresso desatualizada indica uma falha na resposta de conclusão ou um problema de exibição no navegador; isso não justifica o envio de uma segunda cópia.

Se o arquivo estiver ausente ou for menor, tente com um arquivo de teste pequeno na mesma pasta e, em seguida, tente com o arquivo original usando outro navegador ou rede, se disponível. Anote o tamanho do arquivo, o usuário, o destino, o tempo aproximado e se o teste falhou. Essas comparações ajudam a diferenciar um problema específico de um arquivo ou cliente de um problema que afeta todo o servidor. Evite cancelar e reiniciar repetidamente um upload grande enquanto o servidor ainda estiver processando-o.

2. Verifique a cota, o espaço temporário e as permissões.

Peça ao administrador do ownCloud para verificar a cota do usuário afetado e a permissão de gravação da pasta de destino. Um limite de cota pode impedir que um novo arquivo seja armazenado, mesmo quando o navegador já tiver enviado a maior parte dos dados. Se o destino for um ponto de montagem externo, verifique também o espaço disponível e o acesso de gravação desse servidor.

No servidor, verifique os blocos livres e os inodes no diretório de dados e em todos os diretórios temporários relevantes. Um inode é o registro do sistema de arquivos usado para criar um arquivo; um volume pode ter gigabytes livres, mas nenhum inode disponível. Use os caminhos reais da sua configuração do PHP e do ownCloud:

df -h /path/to/owncloud-data /path/to/php-temp /path/to/chunk-temp
df -i /path/to/owncloud-data /path/to/php-temp /path/to/chunk-temp

Os arquivos PHP upload_tmp_dirdevem ter permissão de escrita para a conta do servidor PHP/web. O ownCloud também possui uma configuração de diretório temporário, e os uploads de partes são armazenados temporariamente no diretório de uploads do usuário por padrão. Durante a montagem, o ownCloud pode precisar de espaço temporário aproximadamente igual ao tamanho final do arquivo. O usuário dav.chunk_base_dirpode alterar esse local. Verifique todos esses volumes, não apenas o disco de dados principal.

O terminal Linux exibe os comandos df -h e df -i para verificar o espaço disponível no sistema de arquivos e os inodes.
Verifique o espaço livre em disco e os inodes nos sistemas de arquivos de dados, temporários do PHP e de upload em partes.

3. Ajuste os limites de upload e os tempos limite aos do arquivo.

Se arquivos pequenos funcionarem, mas um arquivo maior não, compare o tamanho dele com as configurações efetivas do PHP na web: upload_max_filesizee post_max_size. O PHP exige post_max_sizeque seja maior que upload_max_filesize. Verifique a configuração do PHP usada pelo servidor web ou pelo PHP-FPM; a configuração do PHP na linha de comando pode ser diferente. Em configurações do PHP-FPM, o ownCloud observa que as configurações do PHP pertencem a .user.iniou à configuração do FPM, e não apenas a .htaccess.

Analise também max_input_timequando os uploads demoram muito e o tempo limite de execução do PHP, caso os logs mostrem um timeout. Defina limites para sua carga de trabalho esperada, em vez de copiar um número de exemplo; reinicie ou recarregue o PHP e o servidor web após alterar a configuração. Consulte a Configuração de Upload de Arquivos Grandes do ownCloud e a referência da diretiva de upload do PHP .

O editor de configuração do PHP lista os parâmetros upload_max_filesize, post_max_size, upload_tmp_dir, max_input_time e max_execution_time.
Compare os limites de upload e os tempos limite do PHP com o tamanho do arquivo afetado e a duração do upload.

Em seguida, verifique cada camada HTTP à frente do PHP. O Nginx client_max_body_sizerejeita corpos de requisição muito grandes com HTTP 413; defina-o com um valor suficientemente alto para o tamanho da requisição usada pelo seu caminho de upload. O Apache LimitRequestBodytambém mod_reqtimeoutpode restringir uploads. O ownCloud alerta especificamente que proxies reversos, Cloudflare, limites de E/S de hospedagem e configurações de tempo limite de requisição do Apache podem afetar uploads grandes. Altere apenas a camada implicada pelos logs e evite desativar módulos de segurança globalmente como primeira solução. Consulte a documentação oficial do Nginx sobre corpo de requisição .

4. Utilize os registros para localizar a camada com falha.

Reproduza o problema uma vez, anotando o horário, e verifique o log do ownCloud e o log de erros do servidor web ou proxy para aquele mesmo minuto. O log do ownCloud geralmente fica no diretório de dados configurado; o caminho exato pode ser alterado em config.php. Procure por mensagens sobre cota, permissões, arquivos temporários, bloqueios, tamanho da requisição ou tempo limite. Se a requisição não aparecer no log do ownCloud, investigue primeiro o proxy ou o servidor web.

tail -n 100 /path/to/owncloud.log

Substitua o marcador pelo caminho configurado na sua instalação. O comando exibe apenas as linhas de log recentes; ele não altera os dados do servidor. Evite publicar logs brutos sem remover nomes de usuário, caminhos de arquivos, endereços IP e tokens. O ownCloud explica a localização dos logs em sua documentação de depuração .

O terminal exibe o comando `tail` para o arquivo `owncloud.log` ao lado de uma janela com a etiqueta "log de erros do servidor web".
Analise os registros do ownCloud e do servidor web no momento da falha no upload; o caminho depende da configuração do servidor.

Verifique a correção

  • Faça o upload de um arquivo pequeno e, em seguida, tente novamente com o arquivo afetado.
  • Confirme se a cópia de destino tem o tamanho esperado e abre corretamente.
  • Verifique se não há erros de cota, armazenamento, HTTP 413, permissão ou tempo limite no momento do upload.
  • Se o problema persistir, forneça ao administrador o tamanho do arquivo, o destino, o registro de data e hora e a entrada de log correspondente para que ele possa identificar a camada que interrompeu a solicitação.

Não aumente todos os limites nem desative as proteções de requisição de uma só vez. Uma alteração direcionada, seguida de uma nova tentativa controlada, facilita a confirmação da causa e mantém o restante da configuração do servidor intacto.

Deixar um comentário

Defina cotas de armazenamento padrão por função de usuário no ownCloud oCIS

Defina cotas de armazenamento padrão por função de usuário no ownCloud oCIS

Atribua limites de armazenamento em bytes para novos usuários do ownCloud Infinite Scale por função, com um exemplo de proxy.yaml e uma lista de verificação de segurança.

Corrigir erros de certificado de sincronização do ownCloud na origem do TLS

Corrigir erros de certificado de sincronização do ownCloud na origem do TLS

Restaure a sincronização do ownCloud para desktop verificando o nome do host do servidor, a cadeia de certificados, a confiança da CA privada e problemas com o portal cativo, sem desativar a verificação TLS.

Remover um aviso de integridade do ownCloud após uma atualização

Use o relatório de arquivos inválidos para identificar arquivos principais ou assinaturas de aplicativos incompatíveis, restaurar os arquivos de versão corretos e verificar a integridade dos dados com segurança.

Instale o ownCloud Infinite Scale com o Docker Compose.

Implante o ownCloud Infinite Scale a partir do exemplo oficial do Compose, configure os domínios e o armazenamento persistente e, em seguida, verifique o TLS, os contêineres e o primeiro login.

Configure o armazenamento de blobs S3 para o ownCloud Infinite Scale.

Configure o armazenamento de blobs S3 para o ownCloud Infinite Scale.

Configure o driver S3NG, as permissões do bucket, o armazenamento persistente de metadados e o dimensionamento de upload para que o ownCloud Infinite Scale possa armazenar o conteúdo dos arquivos de forma confiável.

Quando os uploads do ownCloud travam em 99%, verifique estes limites.

Quando os uploads do ownCloud travam em 99%, verifique estes limites.

Descubra por que um upload para o servidor ownCloud para perto da conclusão, verificando o status do arquivo, a cota, o espaço em disco temporário, os limites do PHP e os tempos limite do proxy.

Limpar o aviso do arquivo .htaccess do Apache ownCloud com segurança

Limpar o aviso do arquivo .htaccess do Apache ownCloud com segurança

Defina AllowOverride All apenas para a raiz da web do ownCloud, valide o vhost ativo do Apache e recarregue com segurança para restaurar as regras do .htaccess.

Configure a auditoria do ownCloud Enterprise e verifique os registros.

Ative o aplicativo Enterprise Auditing do ownCloud, direcione os eventos admin_audit para um arquivo de log protegido e confirme se as ações reais do usuário estão sendo registradas.

Conecte o ownCloud Infinite Scale ao Keycloak com OIDC.

Conecte o ownCloud Infinite Scale ao Keycloak com OIDC.

Alinhe as declarações do emissor de domínio, do cliente web e do usuário do Keycloak para permitir que o ownCloud Infinite Scale faça login de usuários de forma confiável nos clientes web e móveis.

Transfira arquivos do ownCloud para um novo proprietário sem perder o compartilhamento.

Transfira arquivos próprios e compartilhamentos de saída com o comando occ do ownCloud, entenda o que permanece nos arquivos salvos e verifique o acesso antes de excluir a conta antiga.