Acessando arquivos Nextcloud usando o WebDAV

O Nextcloud suporta totalmente o protocolo WebDAV, e você pode conectar e sincronizar com seus arquivos Nextcloud pelo WebDAV. Neste capítulo, você aprenderá como conectar Linux, macOS, Windows e dispositivos móveis ao servidor Nextcloud via WebDAV. Antes de começarmos a configurar o WebDAV, vamos dar uma olhada rápida na maneira recomendada de conectar dispositivos clientes aos servidores Nextcloud.

Nota

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

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

Nota

Nos exemplos a seguir, você deve usar uma senha de aplicativo para login, que pode ser gerada em suas configurações de segurança.

Nextcloud Desktop e clientes móveis

A maneira recomendada de sincronizar um PC de mesa com um servidor Nextcloud é usando clientes de sincronização Nextcloud/ownCloud <https://nextcloud.com/install/#install-clients> _. Você pode configurar o cliente para salvar arquivos em qualquer diretório local e 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 no seu PC e pode verificar se os arquivos criados e atualizados no seu PC local estão sincronizados corretamente com o servidor.

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

Para conectar seu aplicativo móvel a um servidor Nextcloud, use apenas a URL e a pasta base:

example.com/nextcloud

Além dos aplicativos móveis fornecidos pelo Nextcloud ou ownCloud, você pode usar outros aplicativos para conectar-se ao Nextcloud a partir do seu dispositivo móvel usando o WebDAV. O WebDAV Navigator é um bom aplicativo (proprietário) para` dispositivos Android`_ e iPhones. A URL a ser usada neles é:

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

Configuração WebDAV

Se preferir, você também pode conectar seu PC de mesa ao servidor Nextcloud usando o protocolo WebDAV em vez de usar um aplicativo cliente especial. O WebDAV (Web Distributed Authoring and Versioning) é uma extensão HTTP (Hypertext Transfer Protocol) que facilita a criação, leitura e edição de arquivos em servidores Web. Com o WebDAV, você pode acessar seus compartilhamentos Nextcloud no Linux, macOS e Windows da mesma maneira que qualquer compartilhamento de rede remoto e permanecer sincronizado.

Acessando arquivos usando o Linux

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

Gerenciador de arquivos Nautilus

** Quando você configura 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 a 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://:

screenshot of configuring Nautilus file manager to use WebDAV

Nota

O mesmo método funciona para outros gerenciadores de arquivos que usam GVfs, como o Caja do MATE e o Nepomuk do Cinnamon.

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/
screenshot of configuring Dolphin file manager to use WebDAV

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

  1. Abra o Dolphin e clique em “Rede” na coluna “Locais” da 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 Locais, por exemplo, Nextcloud.

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

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

    • 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>
    
  1. Em seguida, crie um diretório nextcloud no diretório inicial para o ponto de montagem e .davfs2/ para o seu arquivo de configuração pessoal:

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

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  3. 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
    
  4. 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
    
  5. 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
    
  6. 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
    
  7. 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 no 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 <https://cyberduck.io/> _ (consulte as instruções aqui) e Filezilla <https://filezilla-project.org> _. Os clientes comerciais incluem Mountain Duck <https://mountainduck.io/> _, Forklift <https://binarynights.com/> _, Transmit <https://panic.com/> _ e Commander One <https://mac.eltima.com/> _.

Para acessar arquivos através do macOS Finder:

  1. Na barra de menu superior, escolha Go> Connectar ao Servidor…:

Screenshot of entering your Nextcloud server address on macOS
  1. Quando a janela Conectar ao servidor… abrir, insira o endereço WebDAV do servidor Nextcloud no campo Endereço do servidor:, por exemplo:

    https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
    
Screenshot: Enter Nextcloud server address in “Connect to Server…” dialog box
  1. 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 de 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 faria com os 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

Windows 10 now defaults to allow Basic Authentication if HTTPS is enabled prior to mapping your drive. On older versions of Windows, you must permit the use of Basic Authentication in the Windows Registry: launch regedit and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters. Create or edit the DWORD value BasicAuthLevel (Windows Vista, 7 and 8) or UseBasicAuth (Windows XP and Windows Server 2003) and set its value data to 1 for SSL connections. Value 0 means that Basic Authentication is disabled, a value of 2 allows both SSL and non-SSL connections (not recommended). Then exit Registry Editor, and restart the computer.

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
    

Onde <drive_path> é o URL do seu servidor Nextcloud.

Por exemplo: “net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME//user: seu_usuario sua_senha``

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

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, é altamente recomendável usar 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. Migre para o seu computador no Windows Explorer.

  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.

screenshot of mapping WebDAV on 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

O Cyberduck é um navegador de código aberto FTP e SFTP, WebDAV, OpenStack Swift e Amazon S3 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:

exemplo.com

  1. Especifique a porta apropriada. A porta que você escolher depende se o seu servidor Nextcloud suporta ou não SSL. O Cyberduck requer que você selecione um tipo de conexão diferente se você planeja usar SSL. Por exemplo:

80 (para WebDAV)

443 (para WebDAV (HTTPS/SSL))

  1. 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 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 senha.

Nota

ConfiguraçõesAdministraçãoCompartilhamentoPermitir que os usuários neste servidor enviem compartilhamentos para outros servidores. Essa opção também permite que o acesso do WebDAV aos compartilhamentos públicos precise ser habilitado para que esse recurso funcione.

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

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 auto assinado.

Solução

  1. Vá para a sua instância Nextcloud através do seu navegador da Web favorito.

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

  3. Visualize o certificado e na guia Detalhes, selecione Copiar para Arquivo.

  4. Salve na área de trabalho com um nome arbitrário, por exemplo Nextcloud.pem.

  5. Iniciar, Executar, MMC.

  6. Arquivo, Adicionar/Excluir Snap-In.

  7. Selecione Certificados, Clique em Adicionar, Minha Conta de Usuário, Concluir e OK.

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

  9. Clique com o botão direito do mouse em Certificado, Selecionar Todas as Tarefas, Importar.

  10. Selecione o Salvar Certificado na área de trabalho.

  11. Selecione colocar todos os certificados no seguinte local, clique em Procurar.

  12. Marque a Caixa que diz Mostrar Armazenamentos Físicos, Expanda Autoridades de Certificação Raiz Confiáveis e selecione Computador Local lá, clique em OK, Conclua a importação.

  13. Verifique a lista para garantir que ela apareça. Você provavelmente precisará atualizar antes de vê-la. Saia do MMC.

  14. Abra o Navegador, selecione Ferramentas, Excluir Histórico de Navegação.

  15. Selecione todos, exceto Em Dados de Filtragem Privados, conclua.

  16. Vá para Opções da Internet, guia Conteúdo, Limpar estado SSL.

  17. Feche o navegador, abra novamente e teste.

Problema

Você não pode baixar mais de 50 MB ou fazer upload de arquivos grandes quando o upload leva mais de 30 minutos usando o Web Client no Windows 7.

Solução

As soluções alternativas estão documentadas no artigo KB2668751.

Acessando arquivos usando cURL

Como o WebDAV é uma extensão do HTTP cURL, pode ser usado para executar operações de arquivo de script.

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>