Acessando arquivos Nextcloud usando o WebDAV

O Nextcloud oferece suporte total ao protocolo WebDAV e você pode se conectar e sincronizar com o Nextcloud Files no WebDAV. Neste capítulo, você aprenderá como conectar Linux, macOS, Windows e dispositivos móveis ao seu servidor Nextcloud.

WebDAV stands for Distributed Authoring and Versioning. It is an HTTP extension that makes it easy to create, read, and edit files hosted on remote Web servers. With a WebDAV client, you can access your Nextcloud Files (including shares) on Linux, macOS and Windows in a similar way as any remote network share, and stay synchronized.

Antes de entrarmos na configuração do WebDAV, vamos dar uma olhada rápida na maneira recomendada de conectar dispositivos clientes ao Nextcloud.

Clientes oficiais de desktop e móveis do Nextcloud

A maneira recomendada de sincronizar um computador com um servidor Nextcloud é usando os clientes de sincronização oficiais do Nextcloud. Você pode configurar o cliente para salvar arquivos em qualquer diretório local e pode escolher com quais diretórios no servidor Nextcloud sincronizar. O cliente exibe o status atual da conexão e registra todas as atividades, para que você sempre saiba quais arquivos remotos foram baixados para o seu PC e possa verificar se os arquivos criados e atualizados no seu PC local estão sincronizados corretamente com o servidor.

A maneira recomendada de sincronizar dispositivos Android e Apple iOS é usando os `aplicativos móveis oficiais do Nextcloud <https://nextcloud.com/install/>`_.

Para conectar os aplicativos oficiais do Nextcloud a um servidor Nextcloud, use o mesmo URL que você usa para acessar o Nextcloud no seu navegador da web - por exemplo::

https://cloud.example.com

https://example.com/nextcloud (if Nextcloud is installed in a subdirectory called "nextcloud")

Clientes WebDAV de terceiros

Se preferir, você também pode conectar seu computador ao servidor Nextcloud usando qualquer cliente de terceiros que suporte o protocolo WebDAV (incluindo o que pode estar embutido em seu sistema operacional).

Você também pode usar aplicativos compatíveis com WebDAV de terceiros para conectar seu dispositivo móvel ao Nextcloud.

Ao usar clientes de terceiros, lembre-se de que eles podem não ser otimizados para uso com o Nextcloud ou implementar recursos que você considera importantes para o seu caso de uso.

Os clientes móveis que os membros da comunidade Nextcloud relataram usar incluem:

A URL a ser usada ao configurar aplicativos de terceiros para se conectar ao Nextcloud é um pouco mais longa que a dos clientes oficiais:

https://cloud.example.com/remote.php/dav/files/USERNAME/

https://example.com/nextcloud/remote.php/dav/files/USERNAME/ (if Nextcloud is installed in a subdirectory called "nextcloud")

Nota

When using a third-party WebDAV client (including your operating system’s built-in client), you should use an application password for login rather than your regular password. In addition improved security, this increases performance significantly. To configure an application password, log into the Nextcloud Web interface, click on the avatar in the top right and choose Personal settings. Then choose Security in the left sidebar and scroll to the very bottom. There you can create an app password (which can also be revoked in the future without changing your main user password).

Nota

Nos exemplos a seguir, você deve substituir example.com/nextcloud pela URL do seu servidor Nextcloud (omita a parte do diretório se a instalação for na raiz do seu domínio) e USERNAME pelo nome de usuário do usuário conectado.

Veja a URL do WebDAV (canto inferior esquerdo nas configurações) em seu Nextcloud.

Acessando arquivos usando o Linux

Você pode acessar arquivos nos sistemas operacionais Linux usando os seguintes métodos.

Gerenciador de arquivos Nautilus

Ao configurar sua conta Nextcloud no GNOME Control Center, seus arquivos serão montados automaticamente pelo Nautilus como um compartilhamento WebDAV, a menos que você desmarque o acesso ao arquivo.

Você também pode montar seus arquivos Nextcloud manualmente. Use o protocolo ``davs://’’ para conectar o gerenciador de arquivos Nautilus ao seu compartilhamento Nextcloud:

davs://example.com/nextcloud/remote.php/dav/files/USERNAME/

Nota

Se a conexão do seu servidor não for protegida por HTTPS, use dav:// em vez de davs://:

Captura de tela da configuração do gerenciador de arquivos Nautilus para usar o WebDAV

Nota

O mesmo método funciona para outros gerenciadores de arquivos que usam GVFS, como MATE’s Caja e Cinnamon’s Nemo.

Acessando arquivos com o gerenciador de arquivos KDE e Dolphin

Para acessar seus arquivos Nextcloud usando o gerenciador de arquivos Dolphin no KDE, use o protocolo webdav://:

webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/
Captura de tela da configuração do gerenciador de arquivos Dolphin para usar o WebDAV

Você pode criar um link permanente para o servidor Nextcloud:

  1. Abra o Dolphin e clique em “Rede” na coluna “Locais” à esquerda.

  2. Clique no ícone Adicionar uma pasta de rede. A caixa de diálogo resultante deve aparecer com o WebDAV já selecionado.

  3. Se o WebDAV não estiver selecionado, selecione-o.

  4. Clique em Avançar.

  5. Digite as seguintes configurações:

    • Nome: o nome que você deseja ver no marcador Lugares, por exemplo, Nextcloud.

    • Usuário: o nome de usuário do Nextcloud que você usou para fazer login, por exemplo, admin.

    • Servidor: o nome de domínio Nextcloud, por exemplo, example.com (sem http:// antes ou diretórios depois).

    • Pasta - Digite o caminho ``nextcloud/remote.php/dav/files/USERNAME/ ``.

  6. (Opcional) Verifique a caixa de seleção “Criar ícone” para que um marcador apareça na coluna Lugares.

  7. (Opcional) Forneça configurações especiais ou um certificado SSL na caixa de seleção “Porta e Criptografada”.

Criando montagens WebDAV na linha de comandos do Linux

Você pode criar montagens WebDAV a partir da linha de comando do Linux. Isso é útil se você preferir acessar o Nextcloud da mesma maneira que qualquer outra montagem remota do sistema de arquivos. O exemplo a seguir mostra como criar uma montagem pessoal e montá-la automaticamente sempre que você efetuar login no seu computador Linux.

  1. Instale o driver do sistema de arquivos WebDAV davfs2, que permite montar compartilhamentos WebDAV como qualquer outro sistema de arquivos remoto. Use este comando para instalá-lo no Debian/Ubuntu:

    apt-get install davfs2
    
  2. Use este comando para instalá-lo no CentOS, Fedora e openSUSE:

    yum install davfs2
    
  3. Adicione-se ao grupo davfs2:

    usermod -aG davfs2 <username>
    
  4. Em seguida, crie um diretório nextcloud em seu diretório pessoal para o ponto de montagem e .davfs2/ para seu arquivo de configuração pessoal:

    mkdir ~/nextcloud
    mkdir ~/.davfs2
    
  5. Copiar /etc/davfs2/secrets para ~/ .davfs2:

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  6. Defina-se como proprietário e faça as permissões somente para leitura e gravação:

    chown <linux_username>:<linux_username> ~/.davfs2/secrets
    chmod 600 ~/.davfs2/secrets
    
  7. Adicione suas credenciais de login do Nextcloud ao final do arquivo segredos, usando a URL do servidor Nextcloud e o nome de usuário e senha do Nextcloud:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <username> <password>
    or
    $PathToMountPoint $USERNAME $PASSWORD
    for example
    /home/user/nextcloud john 1234
    
  8. Adicione as informações de montagem em /etc/fstab:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud davfs user,rw,auto 0 0
    
  9. Em seguida, teste se ele monta e autentica executando o seguinte comando. Se você configurá-lo corretamente, não precisará de permissões de root:

    mount ~/nextcloud
    
  10. Você também deve poder desmontá-lo:

    umount ~/nextcloud
    

Agora, toda vez que você fizer login no seu sistema Linux, seu compartilhamento Nextcloud deve ser montado automaticamente via WebDAV no diretório ~/nextcloud. Se você preferir montá-lo manualmente, altere auto para noauto em /etc/ fstab.

Problemas conhecidos

Problema

Recurso temporariamente indisponível

Solução

Se você tiver problemas ao criar um arquivo no diretório, edite /etc/davfs2/davfs2.conf e adicione:

use_locks 0

Problema

Avisos de certificado

Solução

Se você usar um certificado autoassinado, receberá um aviso. Para mudar isso, você precisa configurar davfs2 para reconhecer seu certificado. Copie mycertificate.pem para /etc/davfs2/certs/ ``. Depois edite ``/etc/davfs2/davfs2.conf e remova o comentário da linha `` servercert``. Agora adicione o caminho do seu certificado como neste exemplo:

servercert /etc/davfs2/certs/mycertificate.pem

Acessando arquivos usando o macOS

Nota

O macOS Finder sofre de uma `série de problemas de implementação<http://sabre.io/dav/clients/finder/>`_ e só deve ser usado se o servidor Nextcloud for executado em Apache e mod_php, ou Nginx 1.3.8+. Clientes alternativos compatíveis com macOS capazes de acessar compartilhamentos WebDAV incluem aplicativos de código aberto como Cyberduck (veja as instruções aqui) e Filezilla. Os clientes comerciais incluem Mountain Duck, Forklift, Transmite, e Comandante Um.

Para acessar arquivos através do macOS Finder:

  1. Na barra de menu superior do Finder, escolha Go > Connect to Server…:

    Captura de tela da inserção do endereço do servidor Nextcloud no macOS
  2. Quando a janela Connect to Server… abrir, insira o endereço WebDAV do seu servidor Nextcloud no campo Server Address:, ou seja::

    https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
    
    Captura de tela: insira o endereço do servidor Nextcloud na caixa de diálogo "Conectar ao servidor..."
  3. Clique em Conectar. Seu servidor WebDAV deve aparecer na área de trabalho como uma unidade de disco compartilhada.

Acessando arquivos usando o Microsoft Windows

Se você usar a implementação nativa do Windows do WebDAV, poderá mapear o Nextcloud para uma nova unidade usando o Windows Explorer. O mapeamento para uma unidade permite que você navegue pelos arquivos armazenados em um servidor Nextcloud da mesma forma que navegaria pelos arquivos armazenados em uma unidade de rede mapeada.

O uso desse recurso requer conectividade de rede. Se você deseja armazenar seus arquivos offline, use o Cliente Desktop para sincronizar todos os arquivos do Nextcloud com um ou mais diretórios do disco rígido local.

Nota

O padrão do Windows 10 agora é permitir autenticação básica se o HTTPS estiver ativado antes de mapear sua unidade.

Em versões mais antigas do Windows, você deve permitir o uso da Autenticação Básica no Registro do Windows:

  • inicie regedit e navegue até HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters.

  • Crie ou edite o valor BasicAuthLevel (Windows Vista, 7 e 8), ou UseBasicAuth (Windows XP e Windows Server 2003), DWORD e defina seus dados de valor como 1 para conexões SSL. Um valor de 0 significa que a Autenticação Básica está desativada, e um valor de 2 permite conexões SSL e não SSL (não recomendado).

  • Em seguida, saia do Editor do Registro e reinicie o computador.

Mapeando unidades com a linha de comandos

O exemplo a seguir mostra como mapear uma unidade usando a linha de comando. Para mapear a unidade:

  1. Abra um prompt de comando no Windows.

  2. Digite a seguinte linha no prompt de comando para mapear para a unidade Z do computador:

    net use Z: https://<drive_path>/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
    

    com <drive_path> como o URL para o seu servidor Nextcloud. Por exemplo:

    net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
    

    O computador mapeia os arquivos da sua conta Nextcloud para a letra de unidade Z.

Erro

If you get the following error System error 67 has occurred. The network name cannot be found., or frequent disconnections, open the Services app and make sure that the WebClient service is running and started automatically at startup.

Nota

Embora não seja recomendado, você também pode montar o servidor Nextcloud usando HTTP, deixando a conexão não criptografada.

Se você planeja usar conexões HTTP em dispositivos enquanto estiver em um local público, recomendamos fortemente o uso de um túnel VPN para fornecer a segurança necessária.

Uma sintaxe de comando alternativa é:

net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser
yourpassword

Mapeando unidades com o Windows Explorer

Para mapear uma unidade usando o Microsoft Windows Explorer:

  1. Abra o Windows Explorer em seu computador MS Windows.

  2. Clique com o botão direito em Computador e selecione Mapear unidade de rede… no menu suspenso.

  3. Escolha uma unidade de rede local para a qual você deseja mapear o Nextcloud.

  4. Especifique o endereço para sua instância do Nextcloud, seguido por /remote.php/dav/files/USERNAME/.

    Por exemplo:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/
    

    Nota

    Para servidores protegidos por SSL, marque Reconectar ao entrar para garantir que o mapeamento seja persistente nas reinicializações subsequentes. Se você deseja se conectar ao servidor Nextcloud como um usuário diferente, marque Conectar usando credenciais diferentes.

    Captura de tela do mapeamento do WebDAV no Windows Explorer
  1. Clique no botão “Concluir”.

O Windows Explorer mapeia a unidade de rede, disponibilizando sua instância do Nextcloud.

Acessando arquivos usando o Cyberduck

Cyberduck é um navegador FTP, SFTP, WebDAV, OpenStack Swift e Amazon S3 de código aberto projetado para transferências de arquivos no macOS e Windows.

Nota

Este exemplo usa o Cyberduck versão 4.2.1.

Para usar o Cyberduck:

  1. Especifique um servidor sem nenhuma informação de protocolo principal.

    Por exemplo: example.com

  2. Especifique a porta apropriada.

    A porta que você escolhe depende se o seu servidor Nextcloud suporta ou não SSL. O Cyberduck exige que você selecione um tipo de conexão diferente se planeja usar SSL.

    Por exemplo:
    • 80 para WebDAV não criptografado

    • 443 para WebDAV seguro (HTTPS/SSL)

  3. Use o menu suspenso ‘Mais opções’ para adicionar o restante da URL do WebDAV ao campo ‘Caminho’.

    Por exemplo: remote.php/dav/files/USERNAME/

Agora, o Cyberduck permite acesso a arquivos no servidor Nextcloud.

Acessando compartilhamentos públicos pelo WebDAV

O Nextcloud oferece a possibilidade de acessar compartilhamentos públicos anonimamente pelo WebDAV.

Para acessar o compartilhamento público, abra:

https://example.com/nextcloud/public.php/webdav

em um cliente WebDAV, use o token de compartilhamento como nome de usuário e a senha de compartilhamento (opcional) como a senha. Por exemplo, com um link de compartilhamento https://example.com/s/kFy9Lek5sm928xP, kFy9Lek5sm928xP será o nome de usuário.

Nota

ConfiguraçõesAdministraçãoCompartilhamentoPermitir que usuários neste servidor enviem compartilhamentos para outros servidores. Esta opção também permite acesso WebDAV a compartilhamentos públicos e precisa ser ativada para que este recurso funcione, exceto se cURL estiver sendo usado (veja abaixo).

Problemas conhecidos

Problema

O Windows não se conecta usando HTTPS.

Solução 1

O Windows WebDAV Client pode não suportar SNI (Server Name Indication) em conexões criptografadas. Se você encontrar um erro ao montar uma instância Nextcloud criptografada por SSL, entre em contato com seu provedor sobre a atribuição de um endereço IP dedicado para o servidor baseado em SSL.

Solução 2

O cliente WebDAV para Windows pode não suportar conexões TLSv1.1 e TLSv1.2. Se você restringiu a configuração do seu servidor para fornecer apenas TLSv1.1 e superior, a conexão com o seu servidor pode falhar. Consulte a documentação WinHTTP para obter mais informações.

Problema

Você recebe a seguinte mensagem de erro: Erro 0x800700DF: O tamanho do arquivo excede o limite permitido e não pode ser salvo.

Solução

O Windows limita o tamanho máximo que um arquivo transferido ou para um compartilhamento do WebDAV pode ter. Você pode aumentar o valor FileSizeLimitInBytes em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters clicando em Modify..

Para aumentar o limite para o valor máximo de 4 GB, selecione Decimal, digite o valor de 4294967295 e reinicie o Windows ou reinicie o serviço WebClient.

Problema

Adicionar uma unidade WebDAV no Windows por meio das etapas descritas acima não exibe o tamanho correto do espaço disponível no Nextcloud e, em vez disso, mostra o tamanho da unidade C: com seu espaço disponível.

Responder

Infelizmente, isso é uma limitação do próprio WebDAV, porque ele não fornece uma maneira de o cliente obter o espaço livre disponível no servidor. O Windows retrocede automaticamente para mostrar o tamanho da unidade C: com seu espaço disponível. Portanto, infelizmente, não há solução real para esse problema.

Problema

O acesso aos arquivos do Microsoft Office via WebDAV falhou.

Solução

Problemas conhecidos e suas soluções estão documentados no artigo KB2123563.

Problema

Não é possível mapear o Nextcloud como uma unidade WebDAV no Windows usando um certificado autoassinado.

Solução

  1. Acesse sua instância do Nextcloud por meio do seu navegador da Web favorito.

  2. Clique até chegar ao erro de certificado na linha de status do navegador.

  3. View the certificate, then from the Details tab, select ‘Copy to File’.

  4. Salve o arquivo em sua área de trabalho com um nome arbitrário, por exemplo myNextcloud.pem.

  5. Go to Start menu > Run, type MMC, and click ‘OK’ to open Microsoft Management Console.

  6. Vá para Arquivo > Adicionar/Remover Snap-In.

  7. Select Certificates, Click ‘Add’, choose ‘My User Account’, then ‘Finish’, and finally ‘OK’.

  8. Desça para Confiar em Autoridades de Certificação Raiz, Certificados.

  9. Clique com o botão direito do mouse em Certificado, selecione Todas as tarefas e Importar.

  10. Selecione o certificado salvo na área de trabalho.

  11. Selecione Colocar todos os certificados na seguinte loja e clique em Procurar.

  12. Check the Box that says Show Physical Stores, expand out Trusted Root Certification Authorities, select Local Computer there, click ‘OK’, and Complete the Import.

  13. Verifique a lista para garantir que o certificado apareça. Você provavelmente precisará atualizar antes de vê-lo.

  14. Sair do MMC.

Para usuários do Firefox:

  1. Inicie seu navegador, vá para o menu Aplicativo > Histórico > Limpar histórico recente…

  2. Selecione ‘Tudo’ no menu suspenso ‘Intervalo de tempo para limpar’

  3. Marque a caixa de seleção ‘Logins ativos’

  4. Clique no botão ‘Limpar agora’

  5. Feche o navegador, reabra e teste.

Para usuários de navegadores baseados no Chrome (Chrome, Chromium, Microsoft Edge):

  1. Abra o Painel de Controle do Windows, navegue até Opções da Internet

  2. Na guia Conteúdo, clique no botão Limpar estado SSL.

  3. Feche o navegador, reabra e teste.

Acessando arquivos usando cURL

Como o WebDAV é uma extensão do HTTP, o cURL pode ser usado para criar scripts de operações de arquivos.

Nota

ConfiguraçõesAdministraçãoCompartilhamentoPermitir que usuários neste servidor enviem compartilhamentos para outros servidores. Se esta opção estiver desativada, a opção --header "X-Requested-With: XMLHttpRequest" precisa ser passada para cURL.

Para criar uma pasta com a data atual como nome:

$ curl -u user:pass -X MKCOL "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')"

Para carregar um arquivo “error.log” nesse diretório:

$ curl -u user:pass -T error.log "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')/error.log"

Para mover um arquivo:

$ curl -u user:pass -X MOVE --header 'Destination: https://example.com/nextcloud/remote.php/dav/files/USERNAME/target.jpg' https://example.com/nextcloud/remote.php/dav/files/USERNAME/source.jpg

Para obter as propriedades dos arquivos na pasta raiz:

    $ curl -X PROPFIND -H "Depth: 1" -u user:pass https://example.com/nextcloud/remote.php/dav/files/USERNAME/ | xml_pp
    <?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:oc="http://nextcloud.org/ns" xmlns:s="http://sabredav.org/ns">
  <d:response>
    <d:href>/nextcloud/remote.php/dav/files/USERNAME/</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Tue, 13 Oct 2015 17:07:45 GMT</d:getlastmodified>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
        <d:quota-used-bytes>163</d:quota-used-bytes>
        <d:quota-available-bytes>11802275840</d:quota-available-bytes>
        <d:getetag>"561d3a6139d05"</d:getetag>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/nextcloud/remote.php/dav/files/USERNAME/welcome.txt</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Tue, 13 Oct 2015 17:07:35 GMT</d:getlastmodified>
        <d:getcontentlength>163</d:getcontentlength>
        <d:resourcetype/>
        <d:getetag>"47465fae667b2d0fee154f5e17d1f0f1"</d:getetag>
        <d:getcontenttype>text/plain</d:getcontenttype>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
</d:multistatus>

Acessando arquivos usando WinSCP

WinSCP é um cliente SFTP, FTP, WebDAV, S3 e SCP gratuito de código aberto para Windows. Sua principal função é a transferência de arquivos entre um computador local e um remoto. Além disso, o WinSCP oferece scripting e funcionalidade básica de gerenciamento de arquivos.

You can download the portable version of WinSCP and run it on Linux through Wine.

Para executar o WinSCP no Linux, baixe o wine através do gerenciador de pacotes da sua distribuição e execute-o com o comando: wine WinSCP.exe.

To connect to Nextcloud:

  • Start WinSCP

  • Press ‘Session’ in the menu

  • Pressione a opção de menu ‘Nova Sessão’

  • Defina o menu suspenso ‘Protocolo de arquivo’ como WebDAV

  • Defina o menu suspenso ‘Criptografia’ como TLS/SSL Criptografia implícita

  • Preencha o campo do nome do host: example.com

  • Preencha o campo de nome de usuário: NEXTCLOUDUSERNAME

  • Preencha o campo de senha: NEXTCLOUDPASSWORD

  • Pressione o botão ‘Avançado…’

  • Navegue até ‘Ambiente’, ‘Diretórios’ no lado esquerdo

  • Preencha o campo ‘Diretório remoto’ com o seguinte: /nextcloud/remote.php/dav/files/NEXTCLOUDUSERNAME/

  • Pressione o botão ‘OK’

  • Pressione o botão ‘Salvar’

  • Selecione as opções desejadas e pressione o botão ‘OK’

  • Pressione o botão ‘Login’ para se conectar ao Nextcloud

Nota

It is recommended to use an app password for the password if you use TOTP as WinSCP does not understand TOTP with Nextcloud at the time of writing (2022-11-07).