- Requisitos e ambiente de servidor usado
- Onde posso encontrar os avisos de segurança e configuração no Nextcloud?
- Preparativos – Gerenciar Nextcloud via SSH
- O que é OCC na Nextcloud?
- Faça um backup com antecedência
- Aviso Nextcloud: Definir início da janela de manutenção
- Configurar janelas de manutenção via OCC
- Verifique a janela de manutenção
- Migrações do tipo Nextcloud MIME disponíveis – correção de bugs
- Execute migrações de tipo MIME
- Nextcloud: Adicionar índices de banco de dados ausentes
- Crie automaticamente índices de banco de dados ausentes
- Nextcloud: Reparar resolução do provedor OCS e provedor OCM
- Verifique o módulo de reescrita do Apache2
- Verifique Apache2 AllowOverride
- Atualizar Nextcloud .htaccess
- Substituir URL CLI do Nextcloud
- Definir domínio público Nextcloud
- Configure corretamente o Nextcloud por trás do Nginx Proxy Manager
- O que são domínios confiáveis?
- O que são trust_proxies?
- Configurar HTTPS com protocolo de substituição
- Nextcloud: Definir região de telefone padrão
- Configurar ou desabilitar o daemon de provisionamento Nextcloud AppAPI
- O que é um daemon de implantação AppAPI?
- Desative AppAPI quando não for necessário
- Habilite a autenticação de dois fatores Nextcloud
- Tornar a autenticação de dois fatores obrigatória
- Configurar o ID do servidor Nextcloud
- Verifique o ID do servidor
- Encontre e corrija erros do protocolo Nextcloud
- Encontre o arquivo de log Nextcloud
- Verifique os logs do Apache2
- Causas comuns de erros de log do Nextcloud
- Configure os cron jobs do Nextcloud corretamente
- Verifique o trabalho cron do Nextcloud
- Atualize Nextcloud com sucesso – Atualização e Atualizador OCC
- Verifique a versão instalada do Nextcloud
- Atualize Nextcloud através da linha de comando
- Verifique o modo de manutenção após uma atualização
- Execute comandos de manutenção adicionais após a atualização
- Verifique a versão do PHP e a configuração do PHP
- Diferença entre PHP CLI e PHP no servidor web
- Acelere Nextcloud com Redis e APCu
- Use APCu como cache local
- Usando Redis para bloqueio de arquivos
- Limpe a lixeira do Nextcloud e as versões de arquivos
- Esvaziar a lixeira de um usuário
- Remover versões antigas de arquivos
- Outras configurações importantes de segurança e desempenho do Nextcloud
- Certificados HTTPS e SSL
- Cabeçalho de segurança HTTP
- Verifique as permissões dos arquivos
- Proteja o diretório de dados Nextcloud
- Manter banco de dados regularmente
- Perguntas frequentes sobre como corrigir alertas Nextcloud
- Todos os alertas de segurança do Nextcloud são críticos?
- Os avisos do Nextcloud podem desaparecer após uma atualização?
- O que significa Nenhuma atualização necessária no Nextcloud?
- Você precisa reparar o Nextcloud após cada atualização?
- O Nextcloud precisa absolutamente do Redis?
- Você pode executar o Nextcloud sem Docker?
- Você precisa reiniciar o Apache2 depois de fazer alterações no config.php?
Qualquer pessoa que execute o Nextcloud em seu próprio servidor encontrará regularmente vários avisos de segurança e configuração nas configurações de administração. Estes aparecem, por exemplo, após uma atualização, uma alteração na configuração do servidor ou quando novas funções são adicionadas.
Nem todo aviso significa automaticamente que o Nextcloud não é seguro ou não está funcionando corretamente. Freqüentemente, são entradas de configuração ausentes, índices de banco de dados adicionais, migrações incompletas ou problemas com o servidor web. No entanto, você não deve ignorar permanentemente as mensagens, pois algumas delas podem afetar a segurança, o desempenho ou a confiabilidade da instalação do Nextcloud.
No meu caso, executo o Nextcloud em um servidor Ubuntu dentro de um contêiner Proxmox LXC. Apache2, PHP e outros componentes necessários são instalados diretamente no Ubuntu. Para acesso via Internet, também utilizo o Nginx Proxy Manager como proxy reverso.
Após atualizar para Nextcloud 34.0.5, comecei a ver vários avisos de segurança e configuração. Isso inclui índices de banco de dados ausentes, migrações de tipo MIME, problemas com URLs .well-known e um tempo de manutenção não configurado.
Neste guia, mostrarei como corrigir esses avisos do Nextcloud, quais comandos OCC são necessários e no que você deve prestar atenção especial ao instalar atrás de um proxy reverso.
Requisitos e ambiente de servidor usado
As etapas a seguir se aplicam a uma instância Nextcloud instalada manualmente no Ubuntu.
Como exemplo utilizo a seguinte configuração de servidor:
| componente | Ambiente utilizado |
|---|---|
| Virtualização | Proxmox VE |
| recipiente | UbuntuLXC |
| Software em nuvem | Nextcloud 34.0.5, atualizado para 35.0.2 |
| Servidor web | Apache2 |
| PHP | PHP 8.4 |
| banco de dados | MariaDB ou MySQL |
| Proxy reverso | Gerenciador de proxy Nginx |
| HTTPS | Através do proxy reverso |
| Diretório Nextcloud | /var/www/html |
| Usuário do servidor web | www-data |
A maioria dos comandos também funciona no Debian ou em um servidor Ubuntu instalado diretamente em um PC ou máquina virtual.
Para instalações Docker, pacotes Nextcloud AIO ou Snap, os diretórios e comandos necessários podem ser diferentes.
Também é importante que a versão do PHP utilizada e o banco de dados estejam dentro dos requisitos de sistema da versão instalada do Nextcloud.
Onde posso encontrar os avisos de segurança e configuração no Nextcloud?
As mensagens podem ser encontradas diretamente na interface web do Nextcloud.
Para fazer isso, faça login com uma conta de administrador e abra as configurações administrativas através do menu do perfil.
Em seguida, vá para o item de menu Visão geral.

Nextcloud realiza várias verificações automáticas lá. Entre outras coisas, são verificados o banco de dados, o servidor web, as configurações de segurança, as tarefas em segundo plano e certas funções dos aplicativos instalados.
Nextcloud diferencia entre avisos e notificações.
Os símbolos de aviso amarelos indicam problemas de configuração que devem ser verificados ou corrigidos. Os ícones azuis de informações, por outro lado, geralmente indicam configurações recomendadas ou opcionais.
As mensagens típicas são:
| Mensagem de erro | Causado | Solução |
|---|---|---|
| Erro no protocolo | Erros causados por aplicativos, PHP, banco de dados ou trabalhos em segundo plano | Investigar registros |
| Início da janela de manutenção | Sem horário de início para tarefas de manutenção | Configurar janelas de manutenção |
| Migrações de tipo MIME disponíveis | São necessárias migrações adicionais de tipo de arquivo | Execute o comando de reparo |
| Resolução do provedor OCS | O servidor web não processa /ocm-provider/ corretamente | Verifique a configuração do Apache |
URLs .well-known | Redirecionamentos ausentes ou incorretos | Configurar Apache ou proxy reverso |
| Índices de banco de dados ausentes | Novos índices não foram criados automaticamente | Adicionar índices |
| Substituir URL da CLI | Endereço Nextcloud público não armazenado | Definir overwrite.cli.url |
| Daemon de implantação AppAPI | Nenhum daemon de implantação configurado | Configurar ou desabilitar AppAPI |
| Configuração de dois fatores | 2FA não obrigatório | Opcionalmente, ative |
| Região de telefone padrão | Nenhum código de país padrão | Definir região do telefone |
| ID do servidor de configuração | Nenhum ID de servidor fixo disponível | Opcionalmente, defina o ID do servidor |
As seções a seguir explicam cada problema e mostram como corrigi-lo.
Preparativos – Gerenciar Nextcloud via SSH
Para muitas tarefas de manutenção, você precisa de acesso ao terminal do servidor Nextcloud.
Ao instalar em um contêiner Proxmox LXC, você pode abrir o console diretamente por meio da interface da web do Proxmox. Alternativamente, você pode se conectar ao servidor Ubuntu via SSH.
Após fazer login, vá para o diretório de instalação do Nextcloud:
cd /var/www/html
Você pode então verificar se o Nextcloud está instalado corretamente usando o seguinte comando:
sudo -u www-data php occ status
Por exemplo, a saída contém:
installed: true
version: 34.0.5.1
versionstring: 34.0.5
maintenance: false
needsDbUpgrade: false
Aqui você pode ver a versão do Nextcloud atualmente instalada e se o sistema está em modo de manutenção.
A entrada needsDbUpgrade: false significa que os arquivos de programa instalados não estão mais pendentes de atualização do banco de dados.
O que é OCC na Nextcloud?
OCC significa ferramenta de linha de comando do Nextcloud e é baseado em PHP.
Inúmeras tarefas administrativas podem ser realizadas sem a necessidade de abrir a interface web.
Estes incluem, por exemplo:
- Atualizações Nextcloud e migrações de banco de dados
- Reparos e tarefas de manutenção
- Gerenciando usuários e aplicativos
- Configurando as configurações do sistema
- Adicionar índices de banco de dados ausentes
- Gerenciamento de arquivos e versões de arquivos
- Verificação do modo de manutenção
Os comandos OCC normalmente devem ser executados com o usuário do servidor web www-data no Ubuntu.
Se você iniciá-lo como root, você corre o risco de definir permissões de arquivo incorretamente.
Se uma mensagem de erro referente ao APCu aparecer durante a execução, você pode instruir o PHP a ativar o cache através da linha de comando:
sudo -u www-data php -d apc.enable_cli=1 occ status
Para os exemplos restantes, uso a notação mais curta. Se o APCu causar problemas com comandos OCC individuais, o mesmo parâmetro poderá ser adicionado.
Faça um backup com antecedência
Antes de uma atualização importante do Nextcloud ou de um reparo de banco de dados, você definitivamente deve criar um backup completo.
Deve conter pelo menos os seguintes componentes:
| ingrediente | Significado |
|---|---|
| Arquivos de programa Nextcloud | Arquivos da versão instalada do Nextcloud |
config.php | Configurações do servidor e conexão de banco de dados |
| Diretório de dados Nextcloud | Arquivos enviados e dados do usuário |
| banco de dados | Usuários, metadados de arquivos, compartilhamentos e aplicativos |
| Configuração do servidor web | Configuração do Apache e, se necessário, do PHP |
Qualquer pessoa que use o Proxmox também pode criar um instantâneo ou um backup completo do contêiner.
Deve-se observar que um instantâneo de um contêiner em execução não garante necessariamente um backup consistente do banco de dados. Para uma recuperação confiável, recomendamos um backup coordenado do banco de dados e dos arquivos associados.
Idealmente, um backup também deve ser restaurado regularmente para fins de teste.
Aviso Nextcloud: Definir início da janela de manutenção
Um aviso comum que aparece está relacionado à janela de manutenção não configurada.
Nextcloud executa regularmente várias tarefas em segundo plano. Isto inclui, entre outras coisas, a limpeza de dados antigos, auditorias e outras tarefas administrativas.
Algumas dessas tarefas podem sobrecarregar ainda mais o banco de dados ou o servidor.
Uma janela de manutenção pode ser configurada para garantir que esse trabalho seja realizado fora dos horários normais de uso.
Configurar janelas de manutenção via OCC
O comando a seguir define a janela de manutenção para 02:00 UTC:
sudo -u www-data php occ config:system:set maintenance_window_start --type=integer --value=2
Nextcloud geralmente usa o fuso horário UTC para isso.
Na Alemanha, isso resulta nos seguintes tempos:
| Fuso horário | Janela de manutenção |
|---|---|
| UTC | 02:00 às 06:00 |
| Horário de inverno da Alemanha | 3h00 às 7h00 |
| Horário de verão na Alemanha | 4h00 às 8h00 |
O valor definido descreve a hora inicial de uma janela horária de quatro horas.
No entanto, isso não limita todas as tarefas em segundo plano neste momento. O ajuste afeta principalmente tarefas diárias menos urgentes.
Tarefas cron normais e de tempo crítico podem continuar a ser executadas fora dessa janela de tempo.
Além disso, esta configuração só funciona se Nextcloud usar o modo de segundo plano Cron.
Verifique a janela de manutenção
Você pode consultar o valor definido a qualquer momento:
sudo -u www-data php occ config:system:get maintenance_window_start
Com a configuração descrita acima, a saída deverá ser 2.
Migrações do tipo Nextcloud MIME disponíveis – correção de bugs
Após uma atualização do Nextcloud, ocasionalmente aparece a mensagem de que uma ou mais migrações do tipo MIME estão disponíveis.
Os tipos MIME descrevem o conteúdo ou formato de um arquivo.
Exemplos disso são:
| Tipo de arquivo | Tipo MIME |
|---|---|
| Imagem JPEG | image/jpeg |
| Imagem PNG | image/png |
| Documento PDF | application/pdf |
| Vídeo MP4 | video/mp4 |
| Arquivo ZIP | application/zip |
Nextcloud usa essas informações para, entre outras coisas, reconhecer arquivos, exibir miniaturas apropriadas e associá-los a aplicativos.
As atualizações podem adicionar novos tipos MIME ou ajustes aos mapeamentos existentes.
Como a migração pode demorar mais para instalações com muitos arquivos, o Nextcloud nem sempre faz isso de forma automática.
Execute migrações de tipo MIME
Para executar as migrações disponíveis, utilize o seguinte comando OCC:
sudo -u www-data php occ maintenance:repair --include-expensive
O parâmetro --include-expensive garante que trabalhos de reparo mais demorados também sejam levados em consideração.
Dependendo do tamanho da instalação do Nextcloud, o processo pode demorar algum tempo.
Para instalações grandes, você deve, portanto, executar o comando fora do horário de pico de uso, se possível.
Várias etapas são exibidas durante o reparo, como verificação de metadados, limpeza de entradas antigas ou preparação de trabalhos em segundo plano.
É importante deixar o processo decorrer completamente e não interrompê-lo prematuramente.
Nextcloud: Adicionar índices de banco de dados ausentes
Outro aviso comum é:
Os índices estão faltando no banco de dados
Os índices do banco de dados ajudam a encontrar registros específicos com mais rapidez.
Isso é comparável ao índice de um livro. Em vez de ter que pesquisar todas as páginas, o banco de dados pode acessar informações específicas com muito mais rapidez usando um índice adequado.
Para instalações maiores do Nextcloud com muitos arquivos, usuários ou aplicativos, a falta de índices pode impactar negativamente o desempenho.
Após uma atualização ou instalação de novos aplicativos, podem ser necessários índices adicionais.
Por exemplo, no meu caso, Nextcloud relatou falta do índice taskp_tasks_scheduled na tabela taskprocessing_tasks.
Crie automaticamente índices de banco de dados ausentes
Nextcloud tem seu próprio comando OCC para isso:
sudo -u www-data php occ db:add-missing-indices
Isso verifica os índices existentes e adiciona entradas ausentes se forem reconhecidos pelo Nextcloud.
Por exemplo, a saída pode ser assim:
Adding additional taskp_tasks_scheduled index
to the oc_taskprocessing_tasks table,
this can take some time...
oc_taskprocessing_tasks table updated successfully.
O índice ausente foi criado com sucesso.
O processo pode levar algum tempo para tabelas maiores e pode sobrecarregar temporariamente o banco de dados.
Portanto, se possível, a criação de índices não deve ser realizada durante períodos de alta carga do servidor.
A edição manual do banco de dados usando phpMyAdmin ou comandos SQL diretos geralmente não é necessária para este aviso padrão.
Nextcloud: Reparar resolução do provedor OCS e provedor OCM
Em algumas instalações do Nextcloud aparece a seguinte mensagem:
Resolução do provedor OCS
A descrição observa que o servidor web não está configurado corretamente para chamar /ocm-provider/.
O provedor OCM faz parte do protocolo Open Cloud Mesh e é usado, entre outras coisas, para colaboração e compartilhamento de recursos entre diferentes sistemas em nuvem.
O nome do aviso e o caminho real do URL afetado podem ser um pouco confusos. O que é crucial aqui é o caminho especificado por Nextcloud /ocm-provider/.
Freqüentemente, a causa não é o Nextcloud em si, mas sim uma configuração de reescrita incorreta ou desatualizada do servidor web.
Verifique o módulo de reescrita do Apache2
Como uso o Apache2, primeiro verifico se o módulo de reescrita necessário está ativado.
apache2ctl -M | grep rewrite
Se nenhuma saída aparecer, o módulo pode ser ativado:
sudo a2enmod rewrite
Além disso, os módulos headers e env podem ser verificados ou ativados:
sudo a2enmod headers
sudo a2enmod env
Em seguida, verifique a configuração do Apache:
sudo apache2ctl configtest
Se nenhum erro for exibido, o Apache2 poderá ser recarregado:
sudo systemctl reload apache2
Verifique Apache2 AllowOverride
Para que o Apache2 processe as regras de reescrita do arquivo .htaccess do Nextcloud, a configuração do diretório correspondente deve permitir isso.
A configuração está localizada na configuração principal do Apache ou no arquivo VirtualHost, dependendo da instalação.
No Ubuntu você pode primeiro visualizar os VirtualHosts ativos:
apache2ctl -S
Os arquivos de configuração típicos estão localizados em:
/etc/apache2/apache2.conf
/etc/apache2/sites-available/
Para uma instalação do Nextcloud diretamente em /var/www/html, a configuração do diretório pode ser assim:
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
É importante fazer esta configuração no VirtualHost efetivamente utilizado ou no bloco de diretório relevante.
Em seguida, teste a configuração novamente e recarregue o Apache2.
Atualizar Nextcloud .htaccess
Nextcloud usa seu próprio arquivo .htaccess com diferentes regras de reescrita e configurações de segurança.
Isto pode ser regenerado ou atualizado via OCC após certas alterações de configuração.
Se Nextcloud estiver acessível diretamente no domínio e não em um subdiretório como /nextcloud, você pode definir a base de reescrita da seguinte forma:
sudo -u www-data php occ config:system:set htaccess.RewriteBase --value="/"
Em seguida, atualize o .htaccess:
sudo -u www-data php occ maintenance:update:htaccess
Antes de fazer qualquer alteração no arquivo, é recomendável fazer backup de uma configuração individual existente.
Importante: Não copie simplesmente quaisquer arquivos ou diretórios de versões mais antigas do Nextcloud. Especialmente com o provedor OCM, os arquivos necessários e as regras de reescrita podem diferir entre as versões.
Se o aviso continuar aparecendo, você também deve verificar se a configuração do Apache realmente corresponde à versão instalada do Nextcloud.
Substituir URL CLI do Nextcloud
Ao instalar atrás de um proxy reverso, o seguinte aviso aparece ocasionalmente:
Substituir URL da CLI
Esta é a configuração do Nextcloud overwrite.cli.url.
Isso determina qual endereço base o Nextcloud deve usar ao gerar URLs por meio de processos de linha de comando ou tarefas em segundo plano.
Sem essa configuração, os links podem apontar para um endereço IP interno, um nome de host incorreto ou um endereço HTTP não criptografado, por exemplo.
Definir domínio público Nextcloud
Suponha que sua própria instalação do Nextcloud possa ser acessada no seguinte endereço:
https://cloud.example.de
Então o URL CLI pode ser configurado com este comando:
sudo -u www-data php occ config:system:set overwrite.cli.url --value="https://cloud.example.de"
Você pode então verificar a configuração:
sudo -u www-data php occ config:system:get overwrite.cli.url
A saída deve conter o endereço configurado anteriormente.
Configure corretamente o Nextcloud por trás do Nginx Proxy Manager
Configurações adicionais são úteis para uma instalação Nextcloud atrás de um proxy reverso.
Os parâmetros trusted_domains, trusted_proxies e overwriteprotocol são particularmente importantes.
Eles estão localizados no arquivo de configuração Nextcloud:
/var/www/html/config/config.php
O que são domínios confiáveis?
Com trusted_domains você especifica sob quais nomes de host o Nextcloud pode ser alcançado.
Isto inclui, por exemplo, o domínio público:
'trusted_domains' => [
'cloud.example.de',
],
Esta configuração não deve ser confundida com trusted_proxies.
O que são trust_proxies?
Em trusted_proxies você armazena os endereços IP dos proxies reversos em que o Nextcloud confia.
Isso permite que o Nextcloud, por exemplo, determine o endereço IP real de um visitante por meio dos cabeçalhos de proxy correspondentes.
Um exemplo:
'trusted_proxies' => [
'192.168.1.10',
],
O endereço IP deve ser substituído pelo endereço IP real do Nginx Proxy Manager.
Importante: Somente proxies reversos confiáveis devem ser inseridos. A configuração não deve ser estendida a todos os endereços IP.
Caso contrário, sob certas circunstâncias, os invasores podem manipular cabeçalhos e enviar endereços IP de clientes falsos.
Configurar HTTPS com protocolo de substituição
Se o HTTPS for encerrado no Nginx Proxy Manager e o Apache2 receber as solicitações internamente via HTTP, o Nextcloud poderá detectar o protocolo errado.
Neste caso, a configuração ajuda:
'overwriteprotocol' => 'https',
Isso significa que Nextcloud usa o protocolo HTTPS para URLs gerados.
Isso é particularmente importante se os links na interface da web ou nas notificações começarem incorretamente com http://.
Além disso, overwritehost pode ser usado se necessário. No entanto, esta configuração geralmente não é necessária se o proxy reverso encaminhar o cabeçalho do host corretamente.
O config.php existente não deve ser completamente substituído por um exemplo de configuração, pois contém outras configurações importantes e dados de acesso.
Nextcloud: Definir região de telefone padrão
Se Nextcloud relatar que uma região de telefone padrão não foi configurada, a configuração default_phone_region estará faltando.
Isto determina qual código de país deve ser aceito para números de telefone sem um código internacional explícito.
Para a Alemanha é utilizado o código de país ISO DE.
A configuração pode ser definida diretamente via OCC:
sudo -u www-data php occ config:system:set default_phone_region --value="DE"
Você pode então verificá-los:
sudo -u www-data php occ config:system:get default_phone_region
O comando deve retornar DE.
Alternativamente, a configuração pode ser armazenada em config.php:
'default_phone_region' => 'DE',
Esta configuração é particularmente útil ao gerenciar perfis de usuário com números de telefone.
Configurar ou desabilitar o daemon de provisionamento Nextcloud AppAPI
As versões mais recentes do Nextcloud suportam os chamados aplicativos externos, ou ex-aplicativos, para abreviar.
Eles podem fornecer funcionalidade adicional e ser executados fora do processo PHP Nextcloud real.
Nextcloud usa AppAPI para isso.
Se o AppAPI estiver ativado, mas nenhum daemon de implantação adequado tiver sido configurado, uma nota correspondente aparecerá na visão geral da administração.
O que é um daemon de implantação AppAPI?
Um daemon de implantação é responsável por implantar e gerenciar aplicativos externos.
Dependendo da solução utilizada, podem ser necessários serviços ou containers adicionais.
Por exemplo, HaRP está disponível para versões mais recentes do Nextcloud.
O aviso AppAPI não significa que as funções normais do Nextcloud, como sincronização de arquivos, calendário ou contatos, não funcionem mais.
Desative AppAPI quando não for necessário
Se não quiser usar aplicativos externos, você pode desativar o AppAPI.
Para fazer isso você usa o seguinte comando:
sudo -u www-data php occ app:disable app_api
Isso desativará o aplicativo Nextcloud correspondente.
No entanto, isso só deve ser feito se nenhuma função instalada depender do AppAPI.
Como alternativa, você pode registrar um daemon de implantação adequado nas configurações de administração da AppAPI e defini-lo como padrão.
Habilite a autenticação de dois fatores Nextcloud
Outra mensagem indica que embora existam provedores de autenticação de dois fatores, seu uso não é obrigatório.
Com a autenticação de dois fatores, também conhecida como 2FA, a senha normal por si só não é suficiente para fazer login.
Além disso, por exemplo, é necessário um código numérico de tempo limitado, que é gerado através de um aplicativo autenticador.
Isto reduz o risco de acesso não autorizado caso uma senha seja conhecida.
Nextcloud oferece suporte a diferentes métodos para isso, incluindo aplicativos TOTP e outros métodos de autenticação.
Tornar a autenticação de dois fatores obrigatória
A autenticação obrigatória de dois fatores pode ser ativada por meio da interface web Nextcloud nas configurações de administração na área Segurança.
Alternativamente, você pode ativá-lo via OCC.
Para todos os usuários:
sudo -u www-data php occ twofactorauth:enforce --on
Para ativar o uso obrigatório apenas para membros do grupo Administradores:
sudo -u www-data php occ twofactorauth:enforce --on --group=admin
É importante garantir que os usuários afetados já tenham configurado um método de autenticação adequado ou possam configurá-lo na próxima vez que fizerem login.
Também é aconselhável gerar códigos de recuperação e armazená-los com segurança.
Se você perder seu smartphone e não tiver configurado uma opção de login alternativa, poderá perder o acesso à sua própria conta.
Para instalações Nextcloud acessíveis ao público, proteger contas de administrador é particularmente recomendado.
Configurar o ID do servidor Nextcloud
Desde o Nextcloud 33, um processo para gerar identificadores exclusivos baseados nos chamados Snowflake IDs tem sido usado para determinadas funções.
Tal ID pode conter, entre outras coisas, informações sobre o momento da criação e o servidor que o criou.
Para instalações com múltiplos servidores PHP, faz sentido ou é necessário que utilizem diferentes IDs de servidor.
A configuração é chamada serverid.
Verifique o ID do servidor
Você pode exibir o valor existente com o seguinte comando:
sudo -u www-data php occ config:system:get serverid
Se ainda não houver ID de servidor, você pode usar o valor 1 para um único servidor PHP, por exemplo:
sudo -u www-data php occ config:system:set serverid --type=integer --value=1
Valores inteiros entre 0 e 511 são permitidos.
É importante que se houver vários servidores PHP, cada instância use seu próprio ID.
Uma vez definidos os IDs dos servidores, eles não devem ser alterados, se possível, pois fazem parte dos identificadores gerados.
Para uma instalação pequena do Nextcloud com apenas um servidor web, este aviso geralmente é menos crítico do que configurações HTTPS incorretas ou problemas de banco de dados.
Encontre e corrija erros do protocolo Nextcloud
Nextcloud geralmente mostra erros dos últimos dias na visão geral da administração.
Por exemplo, várias dezenas ou mesmo centenas de erros podem ser relatados.
No entanto, o número por si só diz pouco sobre a causa real.
Um único erro pode ocorrer várias vezes devido a um trabalho em segundo plano executado regularmente.
Da mesma forma, após uma atualização, ainda poderão existir entradas de log mais antigas, mesmo que o problema real já tenha sido resolvido.
Encontre o arquivo de log Nextcloud
Por padrão, o arquivo de log Nextcloud é nomeado:
nextcloud.log
Geralmente está localizado no diretório de dados Nextcloud configurado, a menos que um caminho de log diferente tenha sido especificado.
O diretório de dados pode ser lido via OCC:
sudo -u www-data php occ config:system:get datadirectory
Você pode então exibir as últimas 100 linhas do arquivo de log:
tail -n 100 /PFAD/ZUM/DATENVERZEICHNIS/nextcloud.log
O caminho do exemplo deve ser ajustado adequadamente.
Para instalações Nextcloud com arquivos de log muito grandes, você não deve gerar o arquivo inteiro de uma vez.
Em vez disso, é aconselhável procurar especificamente mensagens de erro ou examinar as entradas mais recentes.
Verifique os logs do Apache2
Se o erro estiver relacionado ao Apache2 ou PHP, o log de erros do Apache também pode ser útil.
No Ubuntu, geralmente está localizado aqui:
/var/log/apache2/error.log
As últimas entradas podem ser visualizadas da seguinte forma:
sudo tail -n 100 /var/log/apache2/error.log
Alternativamente, você pode acessar as mensagens atuais do Apache através do diário do sistema:
sudo journalctl -u apache2 -n 100 --no-pager
Se Nextcloud for operado por meio de um proxy reverso, você também deve verificar os logs do proxy reverso em caso de problemas de conexão.
Códigos de status HTTP como 403, 404, 502 ou 504 são particularmente úteis.
Causas comuns de erros de log do Nextcloud
| Tipo de erro | Possível causa |
|---|---|
| Erro de PHP | Aplicativo incompatível ou módulo PHP ausente |
| Erro no banco de dados | Problema de conexão, erro de consulta ou migração incorreta |
| HTTP404 | Caminho errado ou regra de reescrita |
| HTTP 502 | Servidor web de back-end não acessível |
| HTTP 504 | Tempo limite entre proxy e back-end |
| Erro de permissão | Permissões de arquivo incorretas |
| Erro Cron | Falha no trabalho em segundo plano |
| Erro de Redis | Servidor de cache não acessível |
Principalmente após atualizações importantes, é aconselhável verificar os logs novamente.
Os avisos individuais não devem ser ocultados simplesmente excluindo ou redefinindo o arquivo de log.
Configure os cron jobs do Nextcloud corretamente
Para que o Nextcloud funcione de forma confiável a longo prazo, várias tarefas em segundo plano devem ser realizadas regularmente.
AJAX, Webcron e Cron estão disponíveis para esta finalidade.
Para um servidor Linux autooperado, geralmente é recomendado usar um cron job real.
Isso funciona independentemente de alguém ter aberto a interface da web no momento.
Verifique o trabalho cron do Nextcloud
No Ubuntu você pode visualizar os cron jobs existentes do usuário do servidor web com o seguinte comando:
sudo crontab -u www-data -l
Um cron job típico do Nextcloud é assim:
*/5 * * * * /usr/bin/php -f /var/www/html/cron.php
Isso fará com que cron.php do Nextcloud seja executado a cada cinco minutos.
Se o APCu precisar ser ativado para PHP-CLI, a chamada poderá ser adaptada de acordo:
*/5 * * * * /usr/bin/php -d apc.enable_cli=1 -f /var/www/html/cron.php
Você pode editar o cron job com o seguinte comando:
sudo crontab -u www-data -e
É importante adaptar o caminho de instalação ao seu próprio ambiente.
Se você já configurou um cronômetro systemd para Nextcloud, você também não deve usar o mesmo cron job.
Caso contrário, as tarefas em segundo plano poderão ser iniciadas várias vezes desnecessariamente.
Além disso, nas configurações de gerenciamento do Nextcloud, você deve verificar se o modo de segundo plano está definido como Cron.
Atualize Nextcloud com sucesso – Atualização e Atualizador OCC
Para atualizações maiores do Nextcloud, há uma diferença importante entre o atualizador real e o comando OCC upgrade.
O atualizador se encarrega de baixar e trocar os arquivos do programa Nextcloud.
O comando occ upgrade, por outro lado, realiza as migrações de banco de dados e demais etapas de atualização necessárias para a versão instalada.
Verifique a versão instalada do Nextcloud
O seguinte comando exibe a versão instalada:
sudo -u www-data php occ status
Por exemplo, se ainda disser versionstring: 34.0.5, o Nextcloud 34.0.5 está instalado.
Mesmo que o Nextcloud 35.0.2 já seja oferecido na área de administração, isso não significa que esta versão já esteja instalada.
Atualize Nextcloud através da linha de comando
Para uma instalação manual, o atualizador de linha de comando integrado pode ser usado:
cd /var/www/html
Depois:
sudo -E -u www-data php -d apc.enable_cli=1 updater/updater.phar
O atualizador verifica a instalação e orienta você nas etapas necessárias.
Depois de trocar os arquivos do programa, ele também pode iniciar a atualização real do OCC.
Caso esta etapa ainda não tenha sido realizada, você pode chamá-la manualmente:
sudo -E -u www-data php -d apc.enable_cli=1 occ upgrade
Se a mensagem No upgrade required aparecer, nenhuma migração de atualização adicional será necessária para os arquivos Nextcloud atualmente instalados.
No entanto, isso não significa automaticamente que a versão mais recente disponível já esteja instalada.
Verifique o modo de manutenção após uma atualização
Após uma atualização bem-sucedida, você deve verificar se Nextcloud saiu do modo de manutenção:
sudo -u www-data php occ status
Se maintenance: false for exibido, o modo de manutenção está desabilitado.
Se o Nextcloud permanecer no modo de manutenção após uma atualização totalmente concluída, isso poderá ser desativado manualmente, se necessário:
sudo -u www-data php occ maintenance:mode --off
Você não deve executar este comando enquanto uma atualização ou migração de banco de dados ainda estiver em andamento.
Execute comandos de manutenção adicionais após a atualização
Após uma atualização bem-sucedida, os seguintes comandos podem ser úteis:
sudo -u www-data php occ maintenance:repair --include-expensive
sudo -u www-data php occ db:add-missing-indices
Isto significa que serão realizados reparos adicionais e, se necessário, serão adicionados índices de banco de dados ausentes.
Se possível, grandes trabalhos de reparação deverão ser realizados durante um período de manutenção planeado.
Verifique a versão do PHP e a configuração do PHP
Nextcloud requer uma instalação de PHP que corresponda à respectiva versão.
Quais versões do PHP são suportadas dependem da versão do Nextcloud usada.
Por exemplo, Nextcloud 35 suporta PHP 8.4.
Você pode visualizar a versão do PHP instalada através do terminal:
php -v
Você também pode verificar quais módulos PHP estão ativos:
php -m
Os módulos importantes ou frequentemente usados incluem:
| Módulo PHP | usar |
|---|---|
curl | Solicitações HTTP |
gd | Processamento de imagem |
imagick | Processamento avançado de imagens |
intl | Processamento de linguagem e caracteres |
mbstring | Processando texto |
mysqli / pdo_mysql | Conexão MariaDB e MySQL |
redis | Bloqueios de cache e arquivos |
apcu | Cache local |
zip | Arquivos ZIP |
xml | Processamento XML |
opcache | Acelerando PHP |
Nem todos os módulos são obrigatórios para cada instalação do Nextcloud.
Quais deles são realmente necessários depende, entre outras coisas, do banco de dados e dos aplicativos instalados.
Diferença entre PHP CLI e PHP no servidor web
Um ponto importante é que a versão do PHP no terminal não corresponde necessariamente à versão do PHP utilizada no servidor web.
Por exemplo, no Ubuntu, múltiplas versões do PHP podem ser instaladas em paralelo.
Enquanto php -v mostra a versão da linha de comando, o Apache2 pode usar uma versão diferente através de seu próprio módulo PHP ou PHP-FPM.
Para verificar, você pode, por exemplo, fazer o seguinte:
apache2ctl -M | grep php
Se PHP-FPM for usado, o serviço PHP-FPM correspondente também deverá ser verificado.
Os arquivos de configuração também são diferentes.
Os caminhos típicos no Ubuntu são:
/etc/php/8.4/cli/php.ini
/etc/php/8.4/apache2/php.ini
/etc/php/8.4/fpm/php.ini
Nem todos esses arquivos precisam estar presentes em todos os servidores.
Após alterar as configurações do PHP, o Apache2 ou PHP-FPM pode precisar ser reiniciado ou recarregado.
Acelere Nextcloud com Redis e APCu
Além de corrigir avisos de segurança, também vale a pena dar uma olhada no desempenho da sua própria instalação do Nextcloud.
Os sistemas de cache podem melhorar a velocidade, especialmente em instalações com muitos arquivos ou vários usuários logados ao mesmo tempo.
Nextcloud oferece suporte a APCu e Redis, entre outros.
APCu é adequado como cache local rápido para PHP.
O Redis também pode ser usado para cache distribuído e bloqueio de arquivos.
Use APCu como cache local
Se o APCu ainda não estiver instalado, você pode instalar o módulo no Ubuntu com o seguinte comando, por exemplo:
sudo apt install php-apcu
A seguinte entrada pode então ser armazenada na configuração do Nextcloud:
'memcache.local' => '\OC\Memcache\APCu',
Usando Redis para bloqueio de arquivos
O Redis pode ser instalado no Ubuntu através do gerenciador de pacotes:
sudo apt install redis-server php-redis
Em seguida, verifique se o serviço Redis está em execução:
systemctl status redis-server
Por exemplo, na configuração do Nextcloud, o Redis pode ser configurado assim:
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
],
O exemplo pressupõe que o Redis está sendo executado no mesmo servidor e pode ser acessado por meio do endereço local.
Se houver um servidor Redis externo ou uma conexão via soquete Unix, a configuração deverá ser ajustada.
Também deve ser garantido que o Redis não possa ser acessado desprotegido pela Internet.
Usar o Redis para bloqueio de arquivos é particularmente interessante ao sincronizar muitos arquivos ou transferir grandes quantidades de dados regularmente.
Limpe a lixeira do Nextcloud e as versões de arquivos
Com o tempo, Nextcloud pode acumular vários arquivos excluídos e versões mais antigas de arquivos.
Eles ocupam espaço de armazenamento adicional e podem chegar a vários gigabytes para instalações maiores.
Nextcloud vem com seus próprios comandos de manutenção para isso.
Esvaziar a lixeira de um usuário
Para esvaziar a lixeira de um usuário específico, use:
sudo -u www-data php occ trashbin:cleanup BENUTZERNAME
BENUTZERNAME deve ser substituído pelo ID de usuário Nextcloud correspondente.
Remover versões antigas de arquivos
Versões de arquivos salvos também podem ser limpas usando OCC:
sudo -u www-data php occ versions:cleanup BENUTZERNAME
Atenção: Esses comandos excluem o conteúdo da lixeira existente ou versões de arquivos salvas do usuário especificado. Esses dados não poderão mais ser restaurados da maneira normal via Nextcloud.
Portanto, não devem ser simplesmente realizados regularmente sem primeiro verificá-los.
Em particular, versions:cleanup não apenas remove versões particularmente antigas, mas também as versões de arquivos capturadas pelo comando.
Para limitar automaticamente o uso do armazenamento, as regras de retenção do Nextcloud geralmente são uma solução melhor.
Outras configurações importantes de segurança e desempenho do Nextcloud
Além dos avisos já descritos, existem algumas configurações que você deve verificar regularmente em um servidor Nextcloud autooperado.
Certificados HTTPS e SSL
Uma instalação do Nextcloud acessível publicamente deve sempre ser acessada via HTTPS.
Se você usa o Nginx Proxy Manager, pode, por exemplo, configurar um certificado Let’s Encrypt e ativar o redirecionamento de HTTP para HTTPS.
É importante que o certificado seja válido e seja renovado automaticamente.
Você também deve verificar se o próprio Nextcloud reconhece corretamente o endereço HTTPS público.
Cabeçalho de segurança HTTP
Outro ponto importante são os cabeçalhos de segurança HTTP.
Isso inclui, por exemplo, Strict-Transport-Security, abreviadamente HSTS.
Este cabeçalho informa ao navegador que um site só deverá ser acessado via HTTPS no futuro.
Ao instalar com o Nginx Proxy Manager, o HSTS pode ser definido diretamente no proxy reverso, dependendo da configuração.
Antes de ativar o HSTS, você deve certificar-se de que o HTTPS funciona corretamente a longo prazo.
Verifique as permissões dos arquivos
Problemas com permissões de arquivo podem fazer com que o Nextcloud não consiga gravar arquivos ou falhas nas atualizações.
Ao instalar o Ubuntu manualmente, o usuário do servidor web deve ter acesso aos diretórios necessários.
No entanto, você não deve conceder permissões de gravação a todos os arquivos para todos os usuários.
Em particular, permissões como 777 não são uma solução sensata e podem representar um risco à segurança.
Proteja o diretório de dados Nextcloud
Se possível, o diretório de dados deve estar localizado fora do diretório da web acessível ao público.
Isso reduz o risco de arquivos serem acessados diretamente pela Internet devido a uma configuração incorreta do servidor web.
Se o diretório de dados estiver dentro do webroot, as regras de proteção de acesso fornecidas pelo Nextcloud deverão funcionar corretamente.
A alteração do diretório de dados não deve ser feita sem planejamento prévio e backup completo dos dados.
Manter banco de dados regularmente
O banco de dados também deve ser verificado regularmente.
O seguinte é importante, entre outras coisas:
- Espaço de armazenamento livre suficiente
- Uma versão de banco de dados compatível
- Backups regulares
- Conexões de banco de dados funcionando
- Índices ausentes após atualizações
- Configurações adequadas de memória e cache
Especialmente com instalações Nextcloud muito utilizadas, o banco de dados pode se tornar muito grande com o tempo.
Nesses casos, pode fazer sentido analisar as tabelas do banco de dados e as informações armazenadas com mais detalhes, em vez de fornecer apenas núcleos de CPU ou memória adicionais.
Perguntas frequentes sobre como corrigir alertas Nextcloud
Todos os alertas de segurança do Nextcloud são críticos?
Não. Alguns avisos indicam problemas de segurança específicos, enquanto outros referem-se simplesmente a configurações adicionais ou otimizações recomendadas.
No entanto, você deve verificar cada mensagem pelo menos uma vez e compreender a causa.
Os avisos do Nextcloud podem desaparecer após uma atualização?
Sim. Algumas mensagens surgem de migrações concluídas de forma incompleta ou de configurações desatualizadas.
Porém, outros avisos só podem ser resolvidos através de ajustes manuais no Apache2, no PHP, no banco de dados ou no proxy reverso.
O que significa Nenhuma atualização necessária no Nextcloud?
Esta mensagem significa que nenhuma atualização adicional de banco de dados é necessária para os executáveis Nextcloud atualmente instalados.
Isso não significa automaticamente que a versão mais recente disponível do Nextcloud já foi instalada.
A versão real pode ser verificada com occ status.
Você precisa reparar o Nextcloud após cada atualização?
Normalmente o Nextcloud realiza ele mesmo as migrações padrão exigidas.
No entanto, certas tarefas complexas nem sempre são deliberadamente realizadas de forma automática.
Se avisos apropriados forem exibidos, comandos OCC adicionais poderão ser necessários.
O Nextcloud precisa absolutamente do Redis?
Instalações menores do Nextcloud também podem ser operadas sem Redis.
No entanto, o Redis pode melhorar a confiabilidade e o desempenho, especialmente com acesso frequente a arquivos e vários usuários.
Você pode executar o Nextcloud sem Docker?
Sim. Nextcloud pode ser totalmente instalado em um servidor Linux sem a necessidade de Docker.
Isto requer, entre outras coisas, um servidor web compatível, PHP e um banco de dados compatível.
A instalação pode ser feita em um servidor Ubuntu normal, uma máquina virtual ou dentro de um contêiner LXC.
Você precisa reiniciar o Apache2 depois de fazer alterações no config.php?
Não fundamentalmente. O arquivo de configuração Nextcloud é processado por PHP, portanto, muitas alterações entram em vigor sem reiniciar o servidor web.
No entanto, se as configurações dos módulos Apache, VirtualHosts ou PHP forem alteradas, poderá ser necessário recarregar ou reiniciar.
Este artigo foi traduzido com a ajuda de IA.


