# 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
