MyBlogs/doc/proxmox.md
2025-08-16 21:04:31 +07:00

192 lines
No EOL
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Отлично! Спасибо за предоставленные данные. Давайте проанализируем:
---
### ✅ Что у нас уже работает:
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` всё ещё не работает — поможем с логами.