top of page
作家相片Elite Cloud

在 Linux 上架設 WebDAV 伺服器:實用指南

在 Linux 上設定 WebDAV 伺服器可以徹底改變您的檔案共享方式。本指南將教您如何使用 Apache HTTP 伺服器來支援 WebDAV,幫助您打造一個安全且高效的伺服器,適用於 Windows、Mac 和 Linux 使用者。


什麼是 WebDAV?


WebDAV,全名為「Web Distributed Authoring and Versioning」,是 HTTP 的擴展功能。它允許使用者在遠端伺服器上管理檔案,無需額外的軟體支援,因此非常適合通過簡單的 URL 共享文件、音樂等內容。


為什麼使用 WebDAV?


WebDAV 擁有以下優點:

1. 跨平台支持:兼容 Linux、Windows 和 macOS。

2. 簡單易用:基於 HTTP/HTTPS,安裝和設定都非常直觀。

3. 安全性:支援基本身份驗證,提供安全存取。

4. 便利性:可通過瀏覽器或檔案管理器直接在線管理檔案。


安裝 Apache 並啟用 WebDAV 模組

首先,透過執行以下指令確保您的系統是最新的: `sudo apt update && sudo apt upgrade`.

接著,透過以下指令安裝 Apache: `sudo apt install apache2`.


Install apache2

啟動 Apache: `sudo systemctl start apache2`.


Start apache2 service

要在 Apache 中啟用 WebDAV 功能,請使用以下指令啟用所需模組: `sudo a2enmod dav` and sudo a2enmod dav_fs.


Enable apache2 dav for webdev

A啟用模組後,重新啟動 Apache: `sudo systemctl restart apache2`.


Restart apache2 again

配置 WebDAV

建立一個目錄來存放 WebDAV 檔案: `sudo mkdir /var/www/webdav`.


Make a directory for webdav

為該目錄設定適當的所有權: `sudo chown www-data:www-data /var/www/webdav`, 然後調整目錄的權限: `sudo chmod 755 /var/www/webdav`.


Update the permissions for webdav directory

切換到該目錄: `cd /var/www/webdav`.

建立一個測試檔案: `echo hello | sudo tee testfile.txt`.


Create a test file

現在配置 Apache 以提供 WebDAV 服務。首先,使用以下指令建立設定檔:


“`

$ sudo tee /etc/apache2/sites-available/webdav.conf <<EOF

DavLockDB /usr/local/apache/DavLock

ServerName localhost

Alias /webdav /var/www/webdav

<Directory /var/www/webdav>

DAV On

DirectoryIndex disabled

AuthType Basic

AuthName “Password Required”

AuthUserFile /etc/apache2/.htpasswd

Require valid-user

</Directory>

EOF

“`


Add the config in webdav.conf

啟用 WebDAV 設定,透過在 sites-available 資料夾與 sites-enabled 資料夾之間建立符號連結: `sudo ln -s /etc/apache2/sites-available/webdav.conf /etc/apache2/sites-enabled/webdav.conf`


Create a symlink of webdav to enable it

開啟預設設定檔: `sudo nano /etc/apache2/sites-available/000-default.conf`.


Change the apache default site config

在 </VirtualHost> 標籤結束之前新增以下配置:


Change the apache2 default site config

“<Directory /var/www/webdav>

  Options Indexes FollowSymLinks

  AllowOverride None

  Require all granted

  Dav On

</Directory>

<Location /webdav>

  DAV On

  AuthType Basic

  AuthName “WebDAV”

  AuthUserFile /etc/apache2/.htpasswd

  Require valid-user

</Location>

保存後,重新啟動 Apache: `sudo systemctl restart apache2`.


Restart apache2

設定身份驗證

為了保護您的 WebDAV 伺服器,建立一個密碼檔案: sudo htpasswd -c /etc/apache2/.htpasswd username 。此指令將提示您為該用戶設定密碼。如果稍後想新增更多用戶,請執行相同指令但省略 -c 選項。


Change password of user

存取 WebDAV 伺服器

完成設置後,透過瀏覽器或 WebDAV 客戶端訪問: http://<your_server_IP>/webdav 

系統將提示您輸入先前創建的用戶名與密碼。


Enter webdav password

輸入憑據後,您即可訪問檔案,例如先前建立的 .txt 文件。


Access the testfile from webdav

您也可以使用 WebDAV 客戶端來存取檔案。


疑難排解

  • 防火牆:確保開放 80 (HTTP) 和 443 (HTTPS) 埠供 Web 流量使用。

  • 服務狀態:檢查 Apache 是否正常運行: `sudo systemctl status apache2`.

  • 目錄權限:如果檔案上傳失敗,請驗證 /var/www/webdav 目錄的權限。

    Troubleshoot the webdav permissions

結論


透過 Apache 設置 WebDAV 伺服器,您可以實現跨平台的安全檔案共享功能。按照此指南,您將能快速部署一個高效的 WebDAV 伺服器。


常見問題 (FAQ)


什麼是 WebDAV?

WebDAV 是 HTTP 的擴展,允許使用者在遠端伺服器上管理檔案,無需額外的軟體即可協作處理檔案或分享文件與音樂收藏。


使用 WebDAV 的好處是什麼?

WebDAV 讓檔案分享與存取變得簡單。它支持多種作業系統與設備,讓您可以隨時隨地訪問檔案。


WebDAV 伺服器的常見用途有哪些?

WebDAV 適用於與同事分享文件、管理音樂收藏,以及跨平台存取檔案,也能與內容管理系統和雲存儲無縫結合。



Comments


bottom of page