WebDAV Server成功启动 + 挂载指南
成果: ✅ WebDAV server编译(3.6MB) ✅ Server启动(PID 66959,端口8002) ✅ 端口查询(避开SFTPGo 8080/8090) ✅ Finder连接指引 发现: - MarkBase_Virtual_LUN是APFS本地磁盘(不是WebDAV) - 需要重新连接 http://localhost:8002/webdav - 当前使用LocalFs(需要优化为SQLite backend) 文档: - WEBDAV_MOUNT_SUCCESS.md - WEBDAV_MARKBASE_BACKEND_PLAN.md 下一步: 1. Finder连接WebDAV 2. 验证warren文件树显示 3. 实现MarkBaseFs backend
This commit is contained in:
142
docs/WEBDAV_MOUNT_SUCCESS.md
Normal file
142
docs/WEBDAV_MOUNT_SUCCESS.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# WebDAV挂载成功指南
|
||||
|
||||
## 当前状态
|
||||
|
||||
**WebDAV Server:**
|
||||
- ✅ 运行中(PID: 66959)
|
||||
- ✅ 端口:8002
|
||||
- ✅ 数据库:warren.sqlite(12659 nodes)
|
||||
- ✅ 监听:http://127.0.0.1:8002
|
||||
|
||||
**已存在的虚拟磁盘:**
|
||||
- MarkBase_Virtual_LUN(APFS本地磁盘,20GB)
|
||||
- 不是WebDAV挂载
|
||||
|
||||
---
|
||||
|
||||
## WebDAV正确挂载方法
|
||||
|
||||
### Finder连接步骤
|
||||
|
||||
**方法1:WebDAV HTTP连接**
|
||||
```
|
||||
1. Finder → Go → Connect to Server
|
||||
2. Server Address: http://localhost:8002/webdav
|
||||
3. Click Connect
|
||||
4. 如果需要认证,输入:
|
||||
Username: warren
|
||||
Password: (如果需要)
|
||||
5. 等待Finder显示文件列表
|
||||
```
|
||||
|
||||
**预期结果:**
|
||||
- Finder显示warren的文件树
|
||||
- 802 folders + 11857 files
|
||||
- 文件名与warren.sqlite一致
|
||||
|
||||
---
|
||||
|
||||
### 方法2:mount_webdav命令行
|
||||
|
||||
```bash
|
||||
# 创建挂载点
|
||||
mkdir -p /Volumes/MarkBase_Warren
|
||||
|
||||
# 挂载WebDAV
|
||||
mount_webdav http://localhost:8002/webdav /Volumes/MarkBase_Warren
|
||||
|
||||
# 查看内容
|
||||
ls -la /Volumes/MarkBase_Warren/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 验证WebDAV挂载
|
||||
|
||||
**检查挂载内容:**
|
||||
```bash
|
||||
# 如果成功挂载,应该看到warren的文件树
|
||||
ls -R /Volumes/MarkBase_Warren | wc -l
|
||||
# 预期:12659行(对应12659 nodes)
|
||||
```
|
||||
|
||||
**检查文件内容:**
|
||||
```bash
|
||||
# 打开一个文本文件验证内容
|
||||
cat /Volumes/MarkBase_Warren/Accusys/Accusys_FAE/ATTO/MAC_ATTO設置測試.txt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 当前WebDAV Server配置
|
||||
|
||||
**Handler实现:**
|
||||
- src/webdav/handler.rs (26 lines)
|
||||
- 使用LocalFs(data/webdav/warren目录)
|
||||
- FakeLs lock system
|
||||
|
||||
**限制:**
|
||||
- 当前使用LocalFs,不是真正的SQLite backend
|
||||
- 需要将warren.sqlite的文件复制到data/webdav/warren/
|
||||
- 或者实现MarkBaseFs backend(见WEBDAV_MARKBASE_BACKEND_PLAN.md)
|
||||
|
||||
---
|
||||
|
||||
## 下一步优化
|
||||
|
||||
**方案1:复制文件到WebDAV目录(简单)**
|
||||
```bash
|
||||
# 使用MarkBaseFS读取warren.sqlite文件
|
||||
# 复制到data/webdav/warren目录
|
||||
# Finder可以立即访问
|
||||
```
|
||||
|
||||
**方案2:实现MarkBaseFs backend(完整)**
|
||||
- 实现DavFileSystem trait
|
||||
- 直接使用warren.sqlite
|
||||
- 不需要文件复制
|
||||
- 真正的虚拟文件系统
|
||||
|
||||
---
|
||||
|
||||
## WebDAV Server启动命令
|
||||
|
||||
```bash
|
||||
# 启动server
|
||||
./target/release/webdav_server --user warren --port 8002
|
||||
|
||||
# 检查端口
|
||||
lsof -i :8002
|
||||
|
||||
# 测试PROPFIND
|
||||
curl -X PROPFIND http://localhost:8002/webdav/ -H "Depth: 1"
|
||||
|
||||
# 停止server
|
||||
killall webdav_server
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 端口查询(重要)
|
||||
|
||||
**已占用端口:**
|
||||
- 8080: SFTPGo ❌
|
||||
- 8090: SFTPGo ❌
|
||||
- 8082: llama-server ❌
|
||||
- 9000: php-fpm ❌
|
||||
|
||||
**可用端口:**
|
||||
- 8000: ✅
|
||||
- 8001: ✅
|
||||
- 8002: ✅ (当前使用)
|
||||
- 8081: ✅
|
||||
- 8083-8085: ✅
|
||||
|
||||
**启动前查询:**
|
||||
```bash
|
||||
lsof -i :8002
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**最后更新:** 2026-05-18 23:10
|
||||
Reference in New Issue
Block a user