Mac Apache WebDav 伺服器配置
阿新 • • 發佈:2018-12-21
1、WebDav 伺服器
-
基於 http 協議的 “檔案” 伺服器。
-
實現檔案的上傳/下載/修改/刪除。
-
WebDav 許可權
- 授權資訊的格式 BASIC (使用者名稱:口令)base64
- 安全性並不高,密碼很容易被攔截和破解。
-
應用場景:開發企業級的管理系統,可以用 WebDav 搭建一個內部的檔案管理伺服器,只是在公司內網使用。
2、配置準備工作
-
1)配置伺服器的工作
- 修改了兩個配置檔案。
- 建立 web 訪問使用者的使用者名稱和口令。
- 建立了兩個目錄,並且設定管理許可權。
-
2)配置伺服器注意事項
- 關閉中文輸入法。
- 命令和引數之間需要有 “空格”。
- 修改系統檔案一定記住 “sudo”,否則會沒有許可權。
-
3)示例配置環境
- macOS 10.11.6
- macOS 10.13.3
-
4)WebDav 伺服器配置指令碼檔案
-
WebDav 伺服器配置指令碼檔案下載地址,點選檢視軟體下載密碼獲取方法。
-
下載檔案解壓後放在非中文路徑的資料夾中。
-
3、配置伺服器
-
開啟終端,按照下面的操作開始配置,
$
開頭的,可以直接拷貝,但是不要拷貝$
。# 切換工作目錄 $ cd /etc/apache2 # 備份檔案,以防不測,只需要執行一次就可以了,格式 cp (copy 的縮寫) (原始檔) (目標檔案) # 如果後續操作出現錯誤,可以使用以下命令恢復 $ sudo cp httpd.conf.bak httpd.conf $ sudo cp httpd.conf httpd.conf.bak # 用 vim 開啟 httpd.conf 檔案(sudo 操作需要輸入系統密碼) $ sudo vim httpd.conf # 查詢 httpd-dav.conf,命令模式下輸入 /(查詢內容),區分大小寫,回車跳轉到查詢的內容處 /httpd-dav.conf # 將游標移動到 #Include /private/etc/apache2/extra/httpd-dav.conf 行首 # 命令模式下直接按鍵盤上的 0 鍵 0 #Include /private/etc/apache2/extra/httpd-dav.conf # 刪除行首註釋 #,命令模式下直接按鍵盤上的 x 鍵 x Include /private/etc/apache2/extra/httpd-dav.conf # 注意:在 macOS 10.10+ 配置時還需要在 httpd.conf 中同樣開啟以下三個模組 LoadModule dav_module libexec/apache2/mod_dav.so LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so # 儲存並退出,命令模式下輸入 :wq ,不儲存退出為 :q! :wq # 切換工作目錄 $ cd /etc/apache2/extra # 備份檔案(只要備份一次就行) $ sudo cp httpd-dav.conf httpd-dav.conf.bak # 用 vim 開啟 httpd-dav.conf 檔案(sudo 操作需要輸入系統密碼) $ sudo vim httpd-dav.conf # 查詢 Digest,命令模式下輸入 /(查詢內容),區分大小寫,回車跳轉到查詢的內容處 /Digest AuthType Digest # 進入編輯模式,命令模式下直接按鍵盤上的 i 鍵 i # 將 Digest 修改為 Basic AuthType Basic # 返回到命令列模式,編輯模式下直接按鍵盤上的 esc 鍵 esc # 儲存並退出,命令模式下輸入 :wq ,不儲存退出為 :q! :wq # 切換工作目錄,切換儲存 WebDav 伺服器配置指令碼檔案的目錄 $ cd (儲存 put 指令碼的目錄) # 以管理員許可權執行 put 配置指令碼(對於 macOS 10.11+ 使用者,需要關閉 SIP 安全設定) $ sudo ./put # 輸入系統密碼 (當前使用者開機密碼) # 設定兩次 WebDav 密碼 adminpasswd(密碼隨便設定) # 如果出現以下提示,表示配置完成 drwxr-xr-x 2 _www _www 68 3 30 11:50 uploads -rw-r--r-- 1 root _www 44 3 30 11:50 user.passwd drwxr-xr-x 2 _www _www 68 3 30 11:50 var # 設定的使用者名稱為:admin,密碼為:adminpasswd(上面兩次輸入的 WebDav 密碼) # 開啟 Finder,在 Finder 的選單中依次選擇 前往 => 連結伺服器(command + k) # 在彈出的對話方塊的伺服器位址列中輸入伺服器地址 # 如 http://127.0.0.1/uploads # 或者輸入 http://localhost/uploads # 或者輸入 http://本機 IP 地址/uploads 進行測試, # 輸入使用者名稱:admin,密碼:adminpasswd 進行連線, # 能夠開啟 uploads 資料夾表示配置成功。
-
WebDav 伺服器配置指令碼檔案 put 內容
# 切換目錄 $ cd /usr # 設定使用者 admin 的密碼 $ htpasswd -c /usr/user.passwd admin # 設定密碼檔案的訪問群組 $ chgrp www /usr/user.passwd # 建立 var 資料夾,儲存 DavLockDB 相關檔案 $ mkdir -p /usr/var # 修改 var 資料夾使用者群組 $ chown -R www:www /usr/var # 建立上傳資料夾:uploads $ mkdir -p /usr/uploads # 修改 uploads 資料夾使用者群組 $ chown -R www:www /usr/uploads # 確認 $ ls -lG # 重新啟動 Apache $ apachectl -k res
4、常見問題
-
1)mac root 使用者 在 usr 目錄下沒有寫許可權
-
對於 macOS 10.11+ 使用者,由於系統啟用了 SIP(System Integrity Protection), 導致 root 使用者也沒有許可權修改 /usr 目錄。
-
-
2)Windows 電腦連線 Mac 電腦建立的 WebDav
-
修改登錄檔
- 在 “系統選單” => “執行” 中輸入 regedit,開啟“登錄檔”。
- 在以下路徑中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 把 BasicAuthLevel 值改成 2,即同時支援 http 和 https,預設只支援 https。
-
重啟 webclient 服務
-
在“命令提示符”中輸入以下命令,重啟 webclient 服務,注意需要以管理員身份執行。
# 停止 webclient 服務 $ net stop webclient # 啟動 webclient 服務 $ net start webclient # 設定 webclient 服務自動啟動 sc condig webclient start= auto
在 cmd 下可有兩種方法開啟,net 和 sc net 用於開啟沒有被禁用的服務,語法是: net start 服務名 net stop 服務名 sc 可開啟被禁用的服務,語法是: sc config 服務名 start= demand // 手動 sc condig 服務名 start= auto // 自動 sc config 服務名 start= disabled // 禁用 sc start 服務名 sc stop 服務名
-
或者在“控制面板”中依次開啟 “管理工具” => “服務” => “WebClient”,重啟 webclient 服務,同時將 WebClient 的“啟動型別”改為“自動”。
-
-
對映網路驅動器
- 右鍵單擊“我的電腦”,選擇“對映網路驅動器”。
- 在“資料夾”輸入框中輸入“http:// WebDav 伺服器的 IP 地址/uploads”。
- 在彈出的“Windows 安全”介面中輸入上面設定的使用者名稱 admin 和密碼 adminpasswd。
- 連線成功後在“我的電腦”的“網路位置”分組中即可看到多出來一個磁碟。
-