日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

webdav 文件服务器,WebDAV 扩展

發布時間:2023/12/8 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webdav 文件服务器,WebDAV 扩展 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

# WebDAV擴展

Seafile WebDAV Server(SeafDAV)在Seafile Server 2.1.0版本中被加入.

在下面的維基中, 我們假設你將Seafile安裝到`/data/haiwen`目錄下。

### SeafDAV配置

SeafDAV配置文件是`/data/haiwen/conf/seafdav.conf`. 如果它還沒有被創建,你可以自行創建它。

~~~[WEBDAV]

# 默認值是false。改為true來使用SeafDAV server。

enabled = true

port = 8080

# 如果fastcgi將被使用則更改fastcgi的值為true。

fastcgi = false

# 如果你將seafdav部署到nginx/apache,你需要更改“share_name”的值。

share_name = /

~~~

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

~~~./seafile.sh restart

~~~

### 示例配置 1: No nginx/apache

你的WebDAV客戶端將在地址`[http://example.com:8080](http://example.com:8080)`訪問WebDAV服務器。

~~~[WEBDAV]

enabled = true

port = 8080

fastcgi = false

share_name = /

~~~

### 示例配置 2: With Nginx/Apache

你的WebDAV客戶端將在地址`[http://example.com/seafdav](http://example.com/seafdav)`訪問WebDAV服務器。

~~~[WEBDAV]

enabled = true

port = 8080

fastcgi = true

share_name = /seafdav

~~~

在上面的配置中,'''share_name'''的值被改為'''/seafdav''', 它是你指定給seafdav服務器的地址后綴。

#### Nginx 無 HTTPS

相應的Nginx配置如下 (無 https):

~~~ location /seafdav {

fastcgi_pass 127.0.0.1:8080;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_script_name;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

client_max_body_size 0;

access_log /var/log/nginx/seafdav.access.log;

error_log /var/log/nginx/seafdav.error.log;

}

~~~

#### Nginx 有 HTTPS

Nginx配置為https:

~~~ location /seafdav {

fastcgi_pass 127.0.0.1:8080;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_script_name;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

client_max_body_size 0;

fastcgi_param HTTPS on;

access_log /var/log/nginx/seafdav.access.log;

error_log /var/log/nginx/seafdav.error.log;

}

~~~

#### Apache

首先編輯 `apache2.conf` 文件, 添加如下這行到文件結尾(或者根據你的Linux發行版將其添加到 `httpd.conf`):

~~~FastCGIExternalServer /var/www/seafdav.fcgi -host 127.0.0.1:8080

~~~

注意, `/var/www/seafdav.fcgi` 僅僅只是一個占位符, 實際在你的系統并不需要有此文件。

第二, 修改Apache配置文件 (site-enabled/000-default):

#### Apache 無 HTTPS

根據你的Apache配置當你[將要部署 Seafile 和 Apache|已經部署 Seafile 和 Apache], 加入Seafdav的相關配置:

~~~

ServerName www.myseafile.com

DocumentRoot /var/www

Alias /media /home/user/haiwen/seafile-server/seahub/media

RewriteEngine On

#

# seafile fileserver

#

ProxyPass /seafhttp http://127.0.0.1:8082

ProxyPassReverse /seafhttp http://127.0.0.1:8082

RewriteRule ^/seafhttp - [QSA,L]

#

# seafile webdav

#

RewriteCond %{HTTP:Authorization} (.+)

RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]

RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]

#

# seahub

#

RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

~~~

#### Apache 有 HTTPS

根據你的apache配置當你[配置Seafile網站和Apache并啟用Https](#), 加入seafdav的相關配置:

~~~

ServerName www.myseafile.com

DocumentRoot /var/www

Alias /media /home/user/haiwen/seafile-server/seahub/media

SSLEngine On

SSLCertificateFile /etc/ssl/cacert.pem

SSLCertificateKeyFile /etc/ssl/privkey.pem

RewriteEngine On

#

# seafile fileserver

#

ProxyPass /seafhttp http://127.0.0.1:8082

ProxyPassReverse /seafhttp http://127.0.0.1:8082

RewriteRule ^/seafhttp - [QSA,L]

#

# seafile webdav

#

RewriteCond %{HTTP:Authorization} (.+)

RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L,e=HTTP_AUTHORIZATION:%1]

RewriteRule ^(/seafdav.*)$ /seafdav.fcgi$1 [QSA,L]

#

# seahub

#

RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

~~~

### 關于客戶端的注意事項

### Windows

在Windows平臺,我們推薦使用webdav客戶端軟件例如Cyberduck或BitKinex.webdav對于Windows瀏覽器的支持實現并不是十分可用,因為:

~~~

Windows 瀏覽器需要利用HTTP數字認證。但是由于Seafile在服務器端不存儲純文本密碼,所以它不支持這個特性。HTTP基本認證只被HTTPS支持(這是合理的)。但是瀏覽器不支持自我簽署的證書。

~~~

結論就是如果你有一個合法的ssl證書,你應該能過通過Windows瀏覽器來訪問seafdav。否則你應該使用客戶端軟件。Windows XP被聲明不支持HTTPS webdav.

### Linux

在Linux平臺你有更多的選擇。你可以利用文件管理器例如Nautilus來連接webdav服務器,或者在命令行使用davfs2。

使用davfs2

~~~sudo apt-get install davfs2

sudo mount -t davfs -o uid= https://example.com/seafdav /media/seafdav/

~~~

-o選項設置掛載目錄的擁有者為,使得非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服務器后重新測試。

總結

以上是生活随笔為你收集整理的webdav 文件服务器,WebDAV 扩展的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。