參考地址:Linux/Win/OMV5 安裝WebDAV服務 - 軼哥 (wyr.me),自己用的是二進制安裝
此安裝方法通用於所有*unix系統、Windows系統。
在OMV5(openmediavault)中安裝WebDAV服務器端的方法不同於舊版本。在OMV5之前的版本,可以直接在管理界面的“插件”中安裝並啟用WebDAV服務,但是新版本去除了此插件,需要手工進行安裝。目前相關資料較為匱乏,網上的WebDAV鏡像質量也參差不齊。
通過對比目前較為受歡迎的WebDAV服務器端軟件,https://github.com/hacdias/webdav 較為穩定(唯一遺憾的是,此倉庫作者提供的Docker鏡像竟然在Docker Hub中排名非常靠后,以至於完全搜不到)。
此開源項目是使用GoLang開發的,因此兼容性非常強悍,僅作者預編譯針對不同操作系統和CPU架構的二進制文件就有34種,可以說涵蓋了幾乎所有運行環境。
作者默認使用此軟件的都是專業選手,因此沒有手把手的文檔可以參考。這對於非程序員甚至非GoLang程序員不太友好。
配置文件
作者給出的配置參考已經非常詳細,但需要注意的是,你需要全部復制並做出對應修改,程序中並沒有做默認值合並。注釋中的will be merged
僅僅針對當前配置文件下文的用戶默認值。
二進制安裝
訪問https://github.com/hacdias/webdav/releases/,對應下載作者預編譯的二進制版本。
參考Systemd Example,注冊為*unix服務,實現開機自動啟動。此步驟有疑問的話,搜索對應操作系統
+systemd
關鍵詞。
需要特別注意的是:
- 二進制文件所在的執行目錄需要和Systemd配置文件中的
ExecStart
目錄保持一致。 - 作者說明了支持JSON, YAML and TOML配置文件格式,因此你需要加上相應后綴,否則配置文件不生效。例如JSON添加
.json
、YAML添加.yml
。
OMV5(Debian)中二進制文件安裝例子(解壓提示路徑錯誤,webdav解壓到、/usr/bin目錄就行):
wget https://github.com/hacdias/webdav/releases/download/v4.1.0/linux-amd64-webdav.tar.gz tar -zxvf linux linux-amd64-webdav.tar.gz vim /etc/systemd/system/webdav.service
webdav.service(注意確保路徑/opt/webdav.config.yml
下的配置文件已存在):
[Unit] Description=WebDAV server After=network.target [Service] Type=simple User=root ExecStart=/usr/bin/webdav --config /opt/webdav.config.yml Restart=on-failure [Install] WantedBy=multi-user.target
/opt/webdav.config.yml:
# Server related settings address: 0.0.0.0 port: 8080 auth: true tls: false prefix: / # Default user settings (will be merged) scope: . modify: true rules: [] cors: enabled: false credentials: false users: - username: admin password: "{bcrypt}$2a$12$NRf4qBRbBJ0/XR56S7UwaOWzlLIs8fTRDILiC02BGCbbol2g/dw2i" scope: /date modify: true
設置開機啟動並啟動服務:
systemctl enable webdav
systemctl start webdav
Docker安裝
使用SSH連接后,執行命令:
docker run --restart always --name=webdav -itd \ -v /export:/data \ -v /opt/webdav.config.yml:/opt/webdav.config.yml \ -p 8081:80 \ hacdias/webdav:v4.1.0 --config /opt/webdav.config.yml
命令內容一目了然了,相應配置文件參考:
# Server related settings
address: 0.0.0.0
port: 80
auth: true
tls: false
prefix: /
# Default user settings (will be merged)
scope: .
modify: true
rules: []
cors:
enabled: false
credentials: false
users:
- username: admin
password: "{bcrypt}$2a$12$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
scope: /data
scope
即為根目錄本地映射地址。password
可以用明文,也可以加密,Bcrypt密碼在線生成地址: https://bcrypt-generator.com/。
配置文件同樣需要注意后綴問題。
關於內網穿透
為NAS搭建內網穿透有很多種方案。
針對SSL證書部署,可以采用:
- 直接在配置文件中設置
tls
為true
並配置相應的SSL證書地址。 - 配置文件中保持
tls
為false
,在FRP或其它內網穿透工具中配置HTTPS
並加載相應證書。 - 配置文件中保持
tls
為false
,在FRP或其它內網穿透工具中僅穿透TCP協議(可配置加密和壓縮),在公網服務器(FRP或其它內網穿透工具所在的服務器)中配置Nginx反向代理搞定證書問題。
強烈推薦第三個方案,簡單也安全。
關於Nginx反向代理的關鍵配置信息,此webdav
服務端作者hacdias
已經在README.md中注明。
其它
請大家不要咨詢在OMV中如何安裝Docker
或如何在Portainer中安裝webdav
之類的問題。此類問題太過於基礎(例如后者,可以先進SSH直接執行命令,然后回到Portainer
中看Container
配置發生了什么變化)。
推薦大家使用Mountain Duck
這樣的工具掛載帶有SSL證書的WebDAV
地址,可以實現和OneDrive
或Dropbox
一樣的智能同步功能(始終在此設備上保留
、釋放空間
)。