成果: ✅ 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
143 lines
2.6 KiB
Markdown
143 lines
2.6 KiB
Markdown
# 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
|