fix: 修复 Caddy 权限问题和路径配置
- 修复 Caddyfile 中的路径问题,使用绝对路径 /home/gitea/www/photography - 创建权限修复脚本 fix-caddy-permissions.sh - 设置正确的目录权限让 caddy 用户可以访问 gitea 用户目录 - 更新部署文档,添加权限修复步骤和故障排除指南 修复内容: - ✅ 使用绝对路径替代 ~ 路径 - ✅ 设置目录权限 755 让 caddy 用户可访问 - ✅ 添加权限检查和修复脚本 - ✅ 完善故障排除文档 现在应该能解决 "permission denied" 错误
This commit is contained in:
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
photography.iriver.top {
|
photography.iriver.top {
|
||||||
# 静态文件服务
|
# 静态文件服务
|
||||||
root * ~/www/photography
|
root * /home/gitea/www/photography
|
||||||
|
|
||||||
# 启用文件服务器
|
# 启用文件服务器
|
||||||
file_server
|
file_server
|
||||||
|
|||||||
@ -17,23 +17,30 @@
|
|||||||
scp Caddyfile user@server:/etc/caddy/Caddyfile
|
scp Caddyfile user@server:/etc/caddy/Caddyfile
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. 创建日志目录
|
### 2. 修复权限问题
|
||||||
|
```bash
|
||||||
|
# 上传权限修复脚本
|
||||||
|
scp fix-caddy-permissions.sh user@server:~/
|
||||||
|
ssh user@server 'chmod +x fix-caddy-permissions.sh && ./fix-caddy-permissions.sh'
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 创建日志目录
|
||||||
```bash
|
```bash
|
||||||
sudo mkdir -p /var/log/caddy
|
sudo mkdir -p /var/log/caddy
|
||||||
sudo chown caddy:caddy /var/log/caddy
|
sudo chown caddy:caddy /var/log/caddy
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. 验证配置
|
### 4. 验证配置
|
||||||
```bash
|
```bash
|
||||||
sudo caddy validate --config /etc/caddy/Caddyfile
|
sudo caddy validate --config /etc/caddy/Caddyfile
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. 重新加载配置
|
### 5. 重新加载配置
|
||||||
```bash
|
```bash
|
||||||
sudo systemctl reload caddy
|
sudo systemctl reload caddy
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. 检查状态
|
### 6. 检查状态
|
||||||
```bash
|
```bash
|
||||||
sudo systemctl status caddy
|
sudo systemctl status caddy
|
||||||
```
|
```
|
||||||
@ -59,6 +66,19 @@ sudo systemctl status caddy
|
|||||||
|
|
||||||
## 故障排除
|
## 故障排除
|
||||||
|
|
||||||
|
### 权限问题
|
||||||
|
如果遇到 `permission denied` 错误:
|
||||||
|
```bash
|
||||||
|
# 检查目录权限
|
||||||
|
ls -la /home/gitea/www/photography
|
||||||
|
|
||||||
|
# 运行权限修复脚本
|
||||||
|
./fix-caddy-permissions.sh
|
||||||
|
|
||||||
|
# 验证 caddy 用户可以访问
|
||||||
|
sudo -u caddy ls -la /home/gitea/www/photography
|
||||||
|
```
|
||||||
|
|
||||||
### 检查配置语法
|
### 检查配置语法
|
||||||
```bash
|
```bash
|
||||||
caddy validate --config /path/to/Caddyfile
|
caddy validate --config /path/to/Caddyfile
|
||||||
@ -79,6 +99,20 @@ sudo tail -f /var/log/caddy/photography.log
|
|||||||
sudo caddy run --config /etc/caddy/Caddyfile
|
sudo caddy run --config /etc/caddy/Caddyfile
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 常见错误解决
|
||||||
|
|
||||||
|
#### 1. Permission denied 错误
|
||||||
|
- **原因**: Caddy 进程无法访问用户目录
|
||||||
|
- **解决**: 运行 `fix-caddy-permissions.sh` 脚本
|
||||||
|
|
||||||
|
#### 2. 404 Not Found 错误
|
||||||
|
- **原因**: 文件路径不正确或文件不存在
|
||||||
|
- **解决**: 检查 `/home/gitea/www/photography` 目录是否有文件
|
||||||
|
|
||||||
|
#### 3. 证书获取失败
|
||||||
|
- **原因**: 域名 DNS 未正确指向服务器
|
||||||
|
- **解决**: 确认 DNS A 记录指向正确 IP
|
||||||
|
|
||||||
## 域名解析
|
## 域名解析
|
||||||
|
|
||||||
确保域名 `photography.iriver.top` 的 DNS 记录指向服务器 IP:
|
确保域名 `photography.iriver.top` 的 DNS 记录指向服务器 IP:
|
||||||
|
|||||||
29
fix-caddy-permissions.sh
Executable file
29
fix-caddy-permissions.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 修复 Caddy 访问 gitea 用户目录的权限问题
|
||||||
|
|
||||||
|
echo "🔧 修复 Caddy 权限问题..."
|
||||||
|
|
||||||
|
# 1. 确保目录存在
|
||||||
|
sudo -u gitea mkdir -p /home/gitea/www/photography
|
||||||
|
|
||||||
|
# 2. 设置目录权限,让 caddy 用户可以访问
|
||||||
|
# 给 gitea 主目录添加执行权限(让其他用户可以进入)
|
||||||
|
sudo chmod 755 /home/gitea
|
||||||
|
|
||||||
|
# 给 www 目录设置权限
|
||||||
|
sudo chmod 755 /home/gitea/www
|
||||||
|
|
||||||
|
# 给 photography 目录设置权限
|
||||||
|
sudo chmod 755 /home/gitea/www/photography
|
||||||
|
|
||||||
|
# 3. 设置文件权限
|
||||||
|
sudo find /home/gitea/www/photography -type f -exec chmod 644 {} \;
|
||||||
|
sudo find /home/gitea/www/photography -type d -exec chmod 755 {} \;
|
||||||
|
|
||||||
|
# 4. 检查 caddy 用户是否可以访问
|
||||||
|
echo "📋 检查权限..."
|
||||||
|
sudo -u caddy ls -la /home/gitea/www/photography || echo "⚠️ caddy 用户无法访问目录"
|
||||||
|
|
||||||
|
echo "✅ 权限修复完成!"
|
||||||
|
echo "🔄 请重新加载 Caddy 配置:sudo systemctl reload caddy"
|
||||||
Reference in New Issue
Block a user