WebDAV扩展

在下面的文档中, 我们假设你将Seafile安装到/opt/seafile目录下。

SeafDAV配置

SeafDAV配置文件是/opt/seafile/conf/seafdav.conf. 如果它还没有被创建,你可以自行创建它。

[WEBDAV]
# Default is false. Change it to true to enable SeafDAV server.
enabled = true
port = 8080
# If you deploy seafdav behind nginx/apache, you need to modify "share_name".
share_name = /seafdav

每次配置文件被修改后,你需要重启Seafile服务器使之生效。

./seafile.sh restart

在资料库后面显示repo_id, 请添加下面的选项

show_repo_id=true

Nginx的代理

对于 SeafDav,Nginx的配置如下:

.....
    location /seafdav {
        proxy_pass         http://127.0.0.1:8080/seafdav;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_read_timeout  1200s;
        client_max_body_size 0;

        access_log      /var/log/nginx/seafdav.access.log seafileformat;
        error_log       /var/log/nginx/seafdav.error.log;
    }
     location /:dir_browser {
        proxy_pass         http://127.0.0.1:8080/:dir_browser;
    }

注意:ProxyPass "http://127.0.0.1:8080/:dir_browser"是为了通过浏览器预览时,能显示 WebDav 的 Logo。

关于客户端的注意事项

Windows

在Windows平台,我们推荐使用webdav客户端软件例如Cyberduck或BitKinex.

WebDAV 对于Windows 浏览器的支持实现并不可靠。另外,Windows 浏览器中访问 WebDAV 需要你的服务器配置 HTTPS。否则会无法工作。

Linux

在Linux平台你有更多的选择。你可以利用文件管理器例如Nautilus来连接webdav服务器,或者在命令行使用davfs2。

使用davfs2

sudo apt-get install davfs2
sudo mount -t davfs -o uid=<username> https://example.com/seafdav /media/seafdav/

-o选项设置挂载目录的拥有者为<username>,使得非root用户拥有可写权限。

我们建议对于davfs2,禁用锁操作。你需要编辑/etc/davfs2/davfs2.conf

 use_locks       0

Mac OS X

Finder对于WebDAV的支持不稳定而且较慢. 所以我们建议使用webdav客户端软件如Cyberduck.

常见问题

客户端无法连接seafdav服务器

默认, seafdav是未被启用的。检查你是否在seafdav.conf中设置enabled = true。如果没有,更改配置文件并重启seafle服务器。

客户端得到"Error: 404 Not Found"错误

如果你将SeafDAV部署在Nginx/Apache, 请确保像上面的配置文件一样更改share_name的值。重启Seafile服务器后重新测试。

Last modified by Daniel Pan, 2024-03-25

SeafDAV配置
Nginx的代理
关于客户端的注意事项
Windows
Linux
Mac OS X
常见问题
客户端无法连接seafdav服务器
客户端得到"Error: 404 Not Found"错误