306 lines
9.1 KiB
Markdown
306 lines
9.1 KiB
Markdown
|
|
# OnlyOffice + Nextcloud интеграция
|
|||
|
|
|
|||
|
|
**Дата:** 1 ноября 2025
|
|||
|
|
**Цель:** Использовать OnlyOffice Document Server для редактирования файлов в Nextcloud
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ Что сделано
|
|||
|
|
|
|||
|
|
### 1. Установлено приложение ONLYOFFICE
|
|||
|
|
```bash
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ app:install onlyoffice
|
|||
|
|
# onlyoffice 9.11.0 installed ✅
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. Настроен Document Server
|
|||
|
|
```bash
|
|||
|
|
# Адрес OnlyOffice Document Server
|
|||
|
|
DocumentServerUrl: https://office.clientright.ru:9443
|
|||
|
|
|
|||
|
|
# SSL проверка отключена
|
|||
|
|
verify_peer_off: true
|
|||
|
|
|
|||
|
|
# JWT отключен (как в OnlyOffice)
|
|||
|
|
jwt_secret: (пусто)
|
|||
|
|
jwt_header: (пусто)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. Отключен Collabora
|
|||
|
|
```bash
|
|||
|
|
# Чтобы не конфликтовал с OnlyOffice
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ app:disable richdocuments
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 Теперь у тебя ДВА способа редактирования:
|
|||
|
|
|
|||
|
|
### Вариант 1: **Через CRM** (OnlyOffice напрямую)
|
|||
|
|
```
|
|||
|
|
CRM → open_file_v2.php → OnlyOffice (9443) → S3
|
|||
|
|
```
|
|||
|
|
**Преимущества:**
|
|||
|
|
- ⚡ **Молниеносно** (прямой доступ к S3)
|
|||
|
|
- ✅ Автосохранение каждые 5 сек
|
|||
|
|
- ✅ Файлы в CRM сразу обновляются
|
|||
|
|
|
|||
|
|
**Когда использовать:**
|
|||
|
|
- Работаешь в CRM
|
|||
|
|
- Нужна скорость
|
|||
|
|
- Редактируешь файлы клиентов
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### Вариант 2: **Через Nextcloud** (OnlyOffice через Nextcloud)
|
|||
|
|
```
|
|||
|
|
Nextcloud → OnlyOffice (9443) → WebDAV → S3
|
|||
|
|
```
|
|||
|
|
**Преимущества:**
|
|||
|
|
- ✅ **Версионирование** файлов
|
|||
|
|
- ✅ История изменений
|
|||
|
|
- ✅ Права доступа через Nextcloud
|
|||
|
|
- ✅ Интеграция с Nextcloud UI
|
|||
|
|
|
|||
|
|
**Когда использовать:**
|
|||
|
|
- Работаешь в Nextcloud
|
|||
|
|
- Нужна история версий
|
|||
|
|
- Совместное редактирование
|
|||
|
|
- Управление файлами
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 Как использовать в Nextcloud
|
|||
|
|
|
|||
|
|
### Шаг 1: Открой Nextcloud
|
|||
|
|
```
|
|||
|
|
https://office.clientright.ru:8443
|
|||
|
|
Логин: admin
|
|||
|
|
Пароль: office
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Шаг 2: Перейди к файлам
|
|||
|
|
```
|
|||
|
|
Файлы → crm/crm2/CRM_Active_Files/Documents
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Шаг 3: Открой файл для редактирования
|
|||
|
|
```
|
|||
|
|
Клик на файл .docx/.xlsx/.pptx
|
|||
|
|
→ Автоматически откроется OnlyOffice!
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 Сравнение OnlyOffice vs Collabora
|
|||
|
|
|
|||
|
|
| Характеристика | OnlyOffice | Collabora |
|
|||
|
|
|----------------|------------|-----------|
|
|||
|
|
| **Скорость** | ⚡⚡⚡ Молниеносно | 🐌 Медленнее |
|
|||
|
|
| **Форматы** | .docx, .xlsx, .pptx | .odt, .ods, .odp + docx |
|
|||
|
|
| **Совместимость** | MS Office | LibreOffice |
|
|||
|
|
| **Интерфейс** | Современный | Классический |
|
|||
|
|
| **Настройка** | Проще | Сложнее |
|
|||
|
|
| **Автосохранение** | ✅ Есть | ✅ Есть |
|
|||
|
|
| **Версионирование** | ✅ Через Nextcloud | ✅ Через Nextcloud |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 Настройки OnlyOffice в Nextcloud
|
|||
|
|
|
|||
|
|
### Где найти:
|
|||
|
|
```
|
|||
|
|
Nextcloud → Настройки → Администрирование → ONLYOFFICE
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Текущие настройки:
|
|||
|
|
```
|
|||
|
|
Document Server Address: https://office.clientright.ru:9443
|
|||
|
|
Secret key (JWT): (отключен)
|
|||
|
|
Verify peer off: ✅ (SSL проверка отключена)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Что можно настроить:
|
|||
|
|
- Форматы файлов для открытия
|
|||
|
|
- Права доступа (просмотр/редактирование)
|
|||
|
|
- Автосохранение (интервал)
|
|||
|
|
- Водяные знаки
|
|||
|
|
- Шаблоны документов
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎨 Создание новых документов в Nextcloud
|
|||
|
|
|
|||
|
|
### Теперь можно создавать файлы прямо в Nextcloud!
|
|||
|
|
|
|||
|
|
**Как:**
|
|||
|
|
1. Открой Nextcloud Files
|
|||
|
|
2. Нажми **"+"** (New)
|
|||
|
|
3. Выбери:
|
|||
|
|
- 📄 **Document** (Word) → создаст .docx
|
|||
|
|
- 📊 **Spreadsheet** (Excel) → создаст .xlsx
|
|||
|
|
- 📽️ **Presentation** (PowerPoint) → создаст .pptx
|
|||
|
|
4. Файл откроется в OnlyOffice для редактирования!
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚙️ Команды для управления
|
|||
|
|
|
|||
|
|
### Просмотр настроек:
|
|||
|
|
```bash
|
|||
|
|
# Адрес Document Server
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice DocumentServerUrl
|
|||
|
|
|
|||
|
|
# Проверка SSL
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice verify_peer_off
|
|||
|
|
|
|||
|
|
# JWT секрет
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice jwt_secret
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Изменение настроек:
|
|||
|
|
```bash
|
|||
|
|
# Изменить адрес Document Server
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ config:app:set onlyoffice DocumentServerUrl --value="https://NEW_ADDRESS"
|
|||
|
|
|
|||
|
|
# Включить/отключить SSL проверку
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ config:app:set onlyoffice verify_peer_off --value="true"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Переключение между OnlyOffice и Collabora:
|
|||
|
|
```bash
|
|||
|
|
# Включить OnlyOffice
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ app:enable onlyoffice
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ app:disable richdocuments
|
|||
|
|
|
|||
|
|
# Включить Collabora
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ app:disable onlyoffice
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ app:enable richdocuments
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🐛 Отладка
|
|||
|
|
|
|||
|
|
### Если файл не открывается:
|
|||
|
|
|
|||
|
|
**1. Проверь доступность OnlyOffice:**
|
|||
|
|
```bash
|
|||
|
|
curl -s https://office.clientright.ru:9443/healthcheck
|
|||
|
|
# Должен вернуть: true
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2. Проверь настройки в Nextcloud:**
|
|||
|
|
```bash
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice DocumentServerUrl
|
|||
|
|
# Должно быть: https://office.clientright.ru:9443
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**3. Проверь логи OnlyOffice:**
|
|||
|
|
```bash
|
|||
|
|
docker logs --tail 50 onlyoffice-standalone
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**4. Проверь логи Nextcloud:**
|
|||
|
|
```bash
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ log:tail 50
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**5. Проверь что приложение включено:**
|
|||
|
|
```bash
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ app:list | grep onlyoffice
|
|||
|
|
# Должно быть в Enabled
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔒 Безопасность
|
|||
|
|
|
|||
|
|
### ⚠️ Сейчас JWT отключен!
|
|||
|
|
|
|||
|
|
**Что это значит:**
|
|||
|
|
- Любой может использовать твой OnlyOffice сервер
|
|||
|
|
- Не рекомендуется для продакшна
|
|||
|
|
|
|||
|
|
**Для продакшна:**
|
|||
|
|
|
|||
|
|
**1. Включи JWT в OnlyOffice:**
|
|||
|
|
```bash
|
|||
|
|
# Генерируй случайный секрет
|
|||
|
|
SECRET=$(openssl rand -base64 32)
|
|||
|
|
|
|||
|
|
# Добавь в OnlyOffice config
|
|||
|
|
docker exec onlyoffice-standalone bash -c "cat > /etc/onlyoffice/documentserver/local-jwt.json << EOF
|
|||
|
|
{
|
|||
|
|
\"services\": {
|
|||
|
|
\"CoAuthoring\": {
|
|||
|
|
\"token\": {
|
|||
|
|
\"enable\": {
|
|||
|
|
\"request\": {
|
|||
|
|
\"inbox\": true,
|
|||
|
|
\"outbox\": true
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
\"secret\": {
|
|||
|
|
\"inbox\": {
|
|||
|
|
\"string\": \"$SECRET\"
|
|||
|
|
},
|
|||
|
|
\"outbox\": {
|
|||
|
|
\"string\": \"$SECRET\"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
EOF
|
|||
|
|
"
|
|||
|
|
|
|||
|
|
# Перезапусти OnlyOffice
|
|||
|
|
docker restart onlyoffice-standalone
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2. Добавь секрет в Nextcloud:**
|
|||
|
|
```bash
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ config:app:set onlyoffice jwt_secret --value="$SECRET"
|
|||
|
|
docker exec -u www-data nextcloud-fresh php occ config:app:set onlyoffice jwt_header --value="Authorization"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📈 Статистика
|
|||
|
|
|
|||
|
|
### Текущая конфигурация:
|
|||
|
|
- ✅ OnlyOffice Document Server: **9.0.4**
|
|||
|
|
- ✅ Nextcloud ONLYOFFICE app: **9.11.0**
|
|||
|
|
- ✅ Nextcloud: **30.0.2**
|
|||
|
|
- ✅ SSL: самоподписанный сертификат (проверка отключена)
|
|||
|
|
- ⚠️ JWT: **отключен** (включи для продакшна!)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 Итог
|
|||
|
|
|
|||
|
|
### Что работает сейчас:
|
|||
|
|
1. ✅ **CRM → OnlyOffice** - прямой доступ (молниеносно)
|
|||
|
|
2. ✅ **Nextcloud → OnlyOffice** - через интеграцию (с версионированием)
|
|||
|
|
3. ✅ **Создание новых файлов** в Nextcloud
|
|||
|
|
4. ✅ **Редактирование** docx, xlsx, pptx
|
|||
|
|
5. ✅ **Автосохранение** в обоих случаях
|
|||
|
|
|
|||
|
|
### Что использовать:
|
|||
|
|
- **Работа в CRM** → используй прямой OnlyOffice (быстрее)
|
|||
|
|
- **Работа в Nextcloud** → используй интеграцию (больше функций)
|
|||
|
|
- **Создание новых файлов** → Nextcloud (удобнее)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**Попробуй открыть файл в Nextcloud! Должно работать!** 🚀
|
|||
|
|
|
|||
|
|
**Теперь у тебя:**
|
|||
|
|
- ⚡ Быстрое редактирование через CRM
|
|||
|
|
- 📚 Версионирование через Nextcloud
|
|||
|
|
- 🆕 Создание новых файлов
|
|||
|
|
- ✅ Единый OnlyOffice для всего!
|
|||
|
|
|