test update
This commit is contained in:
parent
f3369c218d
commit
199be46721
39 changed files with 310 additions and 45 deletions
192
doc/proxmox.md
Normal file
192
doc/proxmox.md
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
Отлично! Спасибо за предоставленные данные. Давайте проанализируем:
|
||||
|
||||
---
|
||||
|
||||
### ✅ Что у нас уже работает:
|
||||
|
||||
1. **Caddy запущен и активен**:
|
||||
```bash
|
||||
Active: active (running) since Sat 2025-08-16 13:26:12 UTC
|
||||
```
|
||||
→ ✅ Сервис Caddy работает.
|
||||
|
||||
2. **Порт 80 слушается**:
|
||||
```bash
|
||||
ss -tulnp | grep :80
|
||||
tcp LISTEN 0 4096 *:80 *:*
|
||||
```
|
||||
→ ✅ Caddy слушает порт 80.
|
||||
|
||||
3. **Файлы сайта на месте**:
|
||||
- Есть `index.html`, `404.html`, папки `assets`, `blog` и т.д.
|
||||
- Права: `drwxrwxr-x` — у пользователя `nikson` есть доступ.
|
||||
→ ✅ Контент существует.
|
||||
|
||||
---
|
||||
|
||||
### ❓ Почему `curl http://localhost` ничего не выводит?
|
||||
|
||||
Это **подозрительно**, потому что:
|
||||
- Caddy запущен.
|
||||
- Порт 80 слушается.
|
||||
- Файлы есть.
|
||||
|
||||
Но `curl http://localhost` молчит — значит, **Caddy не отдаёт контент**, хотя технически работает.
|
||||
|
||||
---
|
||||
|
||||
### 🔍 Причина: ошибка в `Caddyfile`
|
||||
|
||||
Посмотрите на лог Caddy:
|
||||
|
||||
```
|
||||
Aug 16 13:26:12 dev caddy[1742]: {"level":"warn","ts":1755350772.99452,"logger">
|
||||
```
|
||||
|
||||
Там **много `warn` (предупреждений)**, но они обрезаны. Давайте посмотрим **полные логи**:
|
||||
|
||||
```bash
|
||||
sudo journalctl -u caddy -n 30 --no-pager
|
||||
```
|
||||
|
||||
Но уже сейчас я могу предположить **главную возможную причину**:
|
||||
|
||||
---
|
||||
|
||||
## 🚨 Проблема: Caddy не может прочитать файлы из-за прав доступа
|
||||
|
||||
Хотя папка принадлежит `nikson`, **Caddy работает от имени пользователя `caddy`** (по умолчанию).
|
||||
|
||||
А папка `/home/nikson/www/...` — внутри домашней директории, которая по умолчанию **не доступна другим пользователям**.
|
||||
|
||||
### 🔎 Проверьте права на родительские папки:
|
||||
|
||||
```bash
|
||||
ls -la /home/nikson/
|
||||
```
|
||||
|
||||
Скорее всего, увидите:
|
||||
|
||||
```
|
||||
drwx------ 7 nikson nikson 4096 ...
|
||||
```
|
||||
|
||||
→ Это значит: **только `nikson` может входить в эту папку**.
|
||||
Пользователь `caddy` **не может** пройти `/home/nikson/www/...`, даже если права на `www` хорошие.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Решение: Открыть доступ к пути
|
||||
|
||||
### Вариант 1: Добавить пользователя `caddy` в группу `nikson` и открыть доступ
|
||||
|
||||
```bash
|
||||
# Добавляем пользователя caddy в группу nikson
|
||||
sudo usermod -aG nikson caddy
|
||||
|
||||
# Даём доступ на чтение и выполнение для группы
|
||||
chmod 750 /home/nikson
|
||||
chmod -R 750 /home/nikson/www/MyBlogs/itblog.site/build
|
||||
|
||||
# Перезапускаем Caddy
|
||||
sudo systemctl restart caddy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Вариант 2: Перенести сайт в общую папку (рекомендуется)
|
||||
|
||||
Это **надёжнее и безопаснее**:
|
||||
|
||||
```bash
|
||||
# Создаём папку для веб-файлов
|
||||
sudo mkdir -p /var/www/itblog.site
|
||||
|
||||
# Копируем туда build
|
||||
sudo cp -r /home/nikson/www/MyBlogs/itblog.site/build/* /var/www/itblog.site/
|
||||
|
||||
# Меняем владельца
|
||||
sudo chown -R caddy:caddy /var/www/itblog.site
|
||||
|
||||
# Меняем права
|
||||
sudo chmod -R 755 /var/www/itblog.site
|
||||
```
|
||||
|
||||
### Обновите `Caddyfile`:
|
||||
|
||||
```bash
|
||||
sudo nano /etc/caddy/Caddyfile
|
||||
```
|
||||
|
||||
```caddyfile
|
||||
:80 {
|
||||
root * /var/www/itblog.site
|
||||
file_server
|
||||
encode gzip
|
||||
}
|
||||
```
|
||||
|
||||
### Перезапустите Caddy:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart caddy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Проверка
|
||||
|
||||
Теперь выполните:
|
||||
|
||||
```bash
|
||||
curl -v http://localhost
|
||||
```
|
||||
|
||||
Вы должны увидеть:
|
||||
|
||||
- HTTP/1.1 200 OK
|
||||
- И HTML-код (включая `<title>`, `index.html` и т.д.)
|
||||
|
||||
---
|
||||
|
||||
## 🔁 После этого: настройка на хосте Proxmox
|
||||
|
||||
Когда сайт заработает на `139.60.161.10`, убедитесь, что на **хосте Proxmox** (`139.60.161.3`) в Caddyfile:
|
||||
|
||||
```caddyfile
|
||||
itblog.site {
|
||||
reverse_proxy 139.60.161.10:80
|
||||
}
|
||||
```
|
||||
|
||||
И перезагрузите Caddy на хосте:
|
||||
|
||||
```bash
|
||||
sudo caddy reload
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧹 Дополнительно: Установка `netstat`
|
||||
|
||||
Вы пытались установить `netstat`, но пакет не найден. Правильно так:
|
||||
|
||||
```bash
|
||||
sudo apt install net-tools
|
||||
```
|
||||
|
||||
Но `ss` — это современная замена, так что можно продолжать с ним.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Вывод
|
||||
|
||||
**Проблема**: Caddy не может читать файлы в `/home/nikson/...` из-за ограничений доступа к домашней папке.
|
||||
|
||||
**Решение**: либо открыть доступ группе, либо (лучше) перенести сайт в `/var/www/`.
|
||||
|
||||
---
|
||||
|
||||
👉 Сделайте **вариант 2 (перенос в `/var/www`)** — это стандартная и безопасная практика.
|
||||
|
||||
Напишите, если после этого `curl http://localhost` всё ещё не работает — поможем с логами.
|
||||
Loading…
Add table
Add a link
Reference in a new issue