Обновить docs/services/vm-205/nextcloud.md

This commit is contained in:
zailon 2026-05-18 21:41:32 +05:00
parent 8eff71518d
commit 3e3ff78e8f

View File

@ -12,6 +12,7 @@
| **Хранилище** | `/mnt/cloud/data` (отдельный диск) |
- [🤖 Роль Ansible](../../ansible/roles/nextcloud.md) *(заглушка на будущее)*
- [Быстрая Диагностика](быстрая-диагностика-nextcloud)
## 📋 Описание
@ -442,6 +443,76 @@ free -h
| `SSL ошибка в браузере` | Самоподписанный сертификат внутри контейнера | Довериться сертификату в браузере или проверить настройку NPM |
| `Память заканчивается` | Мало RAM + отсутствие swap | Добавить swap: `fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile` |
# 🛠️ Быстрая диагностика Nextcloud
Набор команд для экспресс-проверки состояния сервера. Выполняйте последовательно от пользователя `root`.
```bash
# Проверка монтирования диска с данными и свободного места
df -h /mnt/cloud
# Проверка наличия и корректности симлинка на data-директорию
readlink /var/www/nextcloud/data
# Проверка статуса веб-сервера и PHP-процессора
systemctl is-active nginx php8.3-fpm
# Проверка, кто слушает порты 80/443 (конфликты, занятые порты)
ss -tlnp | grep -E ':(80|443)'
# Проверка синтаксиса конфигурации nginx
nginx -t
# Проверка статуса Nextcloud (установлен, режим обслуживания, версия)
sudo -u www-data php /var/www/nextcloud/occ status
# Автоматическое исправление метаданных и очистка кэша
sudo -u www-data php /var/www/nextcloud/occ maintenance:repair
# Просмотр последних ошибок веб-сервера
tail -n 20 /var/log/nginx/error.log
# Просмотр последних событий в логе Nextcloud
tail -n 20 /mnt/cloud/data/nextcloud.log
```
## 📋 Интерпретация результатов
| Команда | Норма | Тревожный сигнал |
|---------|-------|------------------|
| `df -h /mnt/cloud` | Видна ФС, есть свободное место | Точка не примонтирована, использование `100%` |
| `readlink /var/www/nextcloud/data` | `/mnt/cloud/data` | Пусто, ошибка «Нет такого файла», неверный путь |
| `systemctl is-active nginx php8.3-fpm` | `active` (для обеих служб) | `inactive`, `failed`, активна только одна служба |
| `ss -tlnp \| grep -E ':(80\|443)'` | `nginx` на портах `80` и `443` | `apache2`, `php-fpm` на портах, или вывод пуст |
| `nginx -t` | `syntax is ok`, `test is successful` | `emerg`, `error`, `failed` в выводе |
| `occ status` | `installed: true`, `maintenance: false` | `maintenance: true`, ошибки подключения к БД |
| `occ maintenance:repair` | Завершается без `Fatal`/`Exception` | Ошибки БД, прав доступа, повреждённые таблицы |
| `tail -n 20 /var/log/nginx/error.log` | Пусто или только `warn` при старте | `Permission denied`, `502 Bad Gateway`, `connect() failed` |
| `tail -n 20 /mnt/cloud/data/nextcloud.log` | Последние записи уровня `info`/`debug` | `Fatal`, `Exception`, `DatabaseException` |
## 💡 Рекомендации по устранению типовых проблем
| Симптом | Вероятная причина | Решение |
|---------|-------------------|---------|
| Нет доступа к данным, `500 Internal Server Error` | Потерян симлинк или отвалился диск | `ln -sfn /mnt/cloud/data /var/www/nextcloud/data` + проверка `df -h` |
| Сайт не открывается, `Connection refused` | Nginx или PHP-FPM не запущены | `systemctl restart nginx php8.3-fpm` |
| Конфликт портов, nginx не стартует | На портах 80/443 висит Apache или другой процесс | `apt purge apache2` или смена порта в конфиге |
| Ошибки прав доступа в логах | Сменился владелец после расширения диска/восстановления | `chown -R www-data:www-data /mnt/cloud/data` + `chmod 750/640` |
| `Maintenance mode: enabled` | Nextcloud вошёл в режим обслуживания после обновления или ошибки | `sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off` |
## 📎 Контекст окружения (для быстрой диагностики)
```text
Тип установки: Native (Debian/Ubuntu, LXC)
Веб-сервер: Nginx (Apache удалён)
PHP: 8.3-FPM (сокет /run/php/php8.3-fpm.sock)
Домен: nc.zailon.ru
SSL: /etc/nginx/ssl/cert.pem, cert.key
Nextcloud root: /var/www/nextcloud
Data directory: /mnt/cloud/data (симлинк из /var/www/nextcloud/data)
Диск данных: /dev/sdb1, ext4, ~150GB, точка монтирования /mnt/cloud
Логи: Nginx /var/log/nginx/error.log, Nextcloud /mnt/cloud/data/nextcloud.log
```
## 🔐 Безопасность
### Настройки для продакшена