Debian安裝WebDAV


參考地址: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證書部署,可以采用:

  1. 直接在配置文件中設置tlstrue並配置相應的SSL證書地址。
  2. 配置文件中保持tlsfalse,在FRP或其它內網穿透工具中配置HTTPS並加載相應證書。
  3. 配置文件中保持tlsfalse,在FRP或其它內網穿透工具中僅穿透TCP協議(可配置加密和壓縮),在公網服務器(FRP或其它內網穿透工具所在的服務器)中配置Nginx反向代理搞定證書問題。

強烈推薦第三個方案,簡單也安全。

關於Nginx反向代理的關鍵配置信息,此webdav服務端作者hacdias已經在README.md中注明。

其它

請大家不要咨詢在OMV中如何安裝Docker如何在Portainer中安裝webdav之類的問題。此類問題太過於基礎(例如后者,可以先進SSH直接執行命令,然后回到Portainer中看Container配置發生了什么變化)。

推薦大家使用Mountain Duck這樣的工具掛載帶有SSL證書的WebDAV地址,可以實現和OneDriveDropbox一樣的智能同步功能(始終在此設備上保留釋放空間)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM