Представь, что тебе нужно развернуть полноценный офисный пакет на собственном сервере — для совместной работы над документами, таблицами и презентациями. ONLYOFFICE — идеальное решение, а Ubuntu — одна из самых популярных платформ для его размещения. Давай разберем, как выполнить установку ONLYOFFICE на сервер Ubuntu правильно, с учетом всех нюансов.
Подготовка сервера Ubuntu
Перед началом установки ONLYOFFICE убедись, что твой сервер соответствует минимальным требованиям:
- Ubuntu 20.04 LTS или 22.04 LTS (рекомендуется)
- 4+ ГБ оперативной памяти
- 2+ ядра процессора
- 10+ ГБ свободного места на диске
- Статический IP-адрес или доменное имя
Обновление системы и установка зависимостей
Начнем с базовой подготовки системы:
# Обновляем список пакетов
sudo apt update
# Обновляем установленные пакеты
sudo apt upgrade -y
# Устанавливаем необходимые утилиты
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
Установка Docker и Docker Compose
ONLYOFFICE рекомендуется устанавливать через Docker — это самый простой и надежный способ. Давай настроим Docker окружение.
Установка Docker Engine
# Добавляем официальный GPG ключ Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Добавляем репозиторий Docker
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Устанавливаем Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Проверяем установку
sudo docker --version
Настройка Docker Compose
Хотя в Docker уже есть compose плагин, для ONLYOFFICE часто используют отдельный файл docker-compose.yml:
# Устанавливаем Docker Compose отдельно (опционально)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
Установка ONLYOFFICE Document Server
Document Server — это ядро ONLYOFFICE, которое отвечает за редактирование документов. Установим его через Docker.
Создание docker-compose.yml
Создадим директорию для ONLYOFFICE и конфигурационный файл:
# Создаем рабочую директорию
mkdir ~/onlyoffice && cd ~/onlyoffice
# Создаем файл docker-compose.yml
nano docker-compose.yml
Добавь следующее содержимое в файл docker-compose.yml:
version: '3.8'
services:
onlyoffice-document-server:
image: onlyoffice/documentserver:latest
container_name: onlyoffice-document-server
restart: unless-stopped
ports:
- "8080:80"
environment:
- JWT_ENABLED=true
- JWT_SECRET=your_strong_secret_key_here_change_me
volumes:
- onlyoffice_data:/var/www/onlyoffice/Data
- onlyoffice_logs:/var/log/onlyoffice
- onlyoffice_lib:/var/lib/onlyoffice
- onlyoffice_db:/var/lib/postgresql
volumes:
onlyoffice_data:
onlyoffice_logs:
onlyoffice_lib:
onlyoffice_db:
Запуск ONLYOFFICE Document Server
# Запускаем контейнер
sudo docker compose up -d
# Проверяем статус
sudo docker compose ps
# Смотрим логи (если нужно)
sudo docker compose logs -f
После запуска проверь доступность сервиса:
# Проверяем, что сервер отвечает
curl -I http://localhost:8080/welcome/
Настройка Nginx как обратного прокси
Для production-среды рекомендуется использовать Nginx перед ONLYOFFICE. Это даст SSL, кэширование и лучшую безопасность.
Установка и настройка Nginx
# Устанавливаем Nginx
sudo apt install -y nginx
# Создаем конфиг для ONLYOFFICE
sudo nano /etc/nginx/sites-available/onlyoffice
Добавь конфигурацию (замени example.com на свой домен):
upstream onlyoffice_backend {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name office.your-domain.com;
# Редирект на HTTPS (раскомментируй после настройки SSL)
# return 301 https://$server_name$request_uri;
location / {
proxy_pass http://onlyoffice_backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
# Таймауты
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
}
# Статические файлы
location ~* \\.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
proxy_pass http://onlyoffice_backend;
expires 30d;
add_header Cache-Control "public";
}
}
# Активируем конфиг
sudo ln -s /etc/nginx/sites-available/onlyoffice /etc/nginx/sites-enabled/
# Проверяем конфигурацию Nginx
sudo nginx -t
# Перезапускаем Nginx
sudo systemctl restart nginx
Настройка SSL с Let's Encrypt
Без SSL твой ONLYOFFICE не сможет нормально работать с некоторыми интеграциями:
# Устанавливаем Certbot
sudo apt install -y certbot python3-certbot-nginx
# Получаем SSL сертификат
sudo certbot --nginx -d office.your-domain.com
# Настраиваем авто-обновление
sudo certbot renew --dry-run
Настройка и оптимизация ONLYOFFICE
После базовой установки ONLYOFFICE на Ubuntu сервер нужно провести тонкую настройку.
Конфигурация через local.json
Основные настройки ONLYOFFICE хранятся в файле local.json. Создадим его:
# Заходим в контейнер
sudo docker exec -it onlyoffice-document-server bash
# Редактируем конфиг (внутри контейнера)
cd /etc/onlyoffice/documentserver
nano local.json
Пример расширенной конфигурации:
{
"services": {
"CoAuthoring": {
"sql": {
"type": "postgres",
"dbHost": "localhost",
"dbPort": "5432",
"dbName": "onlyoffice",
"dbUser": "onlyoffice",
"dbPass": "onlyoffice_pass"
},
"token": {
"enable": {
"request": {
"inbox": true,
"outbox": true
},
"browser": true
},
"inbox": {
"header": "Authorization"
},
"outbox": {
"header": "Authorization"
}
},
"secret": {
"inbox": {
"string": "your_strong_secret_key_here_change_me"
},
"outbox": {
"string": "your_strong_secret_key_here_change_me"
},
"session": {
"string": "your_strong_secret_key_here_change_me"
}
}
}
},
"rabbitmq": {
"url": "amqp://guest:guest@localhost"
},
"redis": {
"host": "localhost"
},
"storage": {
"fs": {
"folderPath": "/var/www/onlyoffice/Data"
}
}
}
# После изменения конфига перезапускаем сервисы
supervisorctl restart all
# Выходим из контейнера
exit
# Перезапускаем контейнер снаружи
sudo docker compose restart
Оптимизация производительности
- Кэширование: Настрой Redis для кэширования сессий
- База данных: Используй внешнюю PostgreSQL вместо встроенной
- Лимиты: Увеличь лимиты на размер файлов в Nginx
- Мониторинг: Настрой мониторинг ресурсов (CPU, RAM, Disk)
Интеграция и использование
После успешной установки ONLYOFFICE на Ubuntu сервер можно настроить интеграции.
Проверка работоспособности
Открой в браузере:
# Если используешь Nginx
https://office.your-domain.com
# Если напрямую к Docker
http://your-server-ip:8080
Ты должен увидеть приветственную страницу ONLYOFFICE.
Интеграция с Nextcloud/ownCloud
Для интеграции с Nextcloud установи приложение "OnlyOffice" в Nextcloud и укажи в настройках:
- URL Document Server: https://office.your-domain.com
- Секретный ключ (должен совпадать с JWT_SECRET)
- Внутренний адрес (если Nextcloud на том же сервере)
Обслуживание и мониторинг
| Задача | Команда | Частота |
|---|---|---|
| Обновление ONLYOFFICE | sudo docker compose pull && sudo docker compose up -d | Раз в месяц |
| Очистка логов | sudo docker compose logs --tail=100 | Еженедельно |
| Проверка обновлений Ubuntu | sudo apt update && sudo apt upgrade | Еженедельно |
| Бэкап данных | sudo docker compose exec onlyoffice-document-server tar -czf /backup/onlyoffice-$(date +%Y%m%d).tar.gz /var/www/onlyoffice/Data | Ежедневно |
Решение распространенных проблем
Проблема: ONLYOFFICE не запускается
Решение: Проверь логи и порты:
sudo docker compose logs onlyoffice-document-server
sudo netstat -tulpn | grep :8080
Проблема: Документы не открываются
Решение: Проверь JWT секреты и SSL:
# Проверь, что JWT включен
curl -v http://localhost:8080/healthcheck
Проблема: Медленная работа
Решение: Увеличь ресурсы и оптимизируй:
# Мониторинг ресурсов
sudo docker stats onlyoffice-document-server
# Проверь нагрузку на сервер
top -i
Часто задаваемые вопросы (FAQ)
Можно ли установить ONLYOFFICE без Docker?
Да, но это сложнее. ONLYOFFICE предоставляет DEB пакеты для Ubuntu, но Docker установка рекомендуется из-за простоты обновления и изоляции. Без Docker придется вручную настраивать все зависимости: PostgreSQL, RabbitMQ, Redis, и сам Document Server.
Как обновить ONLYOFFICE на Ubuntu?
Для Docker установки: sudo docker compose pull && sudo docker compose up -d. Для DEB установки: sudo apt update && sudo apt install --only-upgrade onlyoffice-documentserver. Всегда делай бэкап перед обновлением!
Какие порты использует ONLYOFFICE?
По умолчанию: 80/443 (веб-интерфейс), 5432 (PostgreSQL), 5672 (RabbitMQ), 6379 (Redis). В Docker установке обычно пробрасывается только порт 80 наружу. Проверь открытые порты: sudo docker port onlyoffice-document-server.
Как настроить бэкап данных?
Бэкапируй volume'ы Docker: onlyoffice_data, onlyoffice_db. Используй команды: sudo docker run --rm -v onlyoffice_data:/data -v /backup:/backup ubuntu tar czf /backup/onlyoffice-data-$(date +%Y%m%d).tar.gz /data. Настрой автоматический бэкап через cron.
Почему нужен SSL для ONLYOFFICE?
Без SSL многие браузеры блокируют доступ к камере/микрофону (для видеоконференций), не работают некоторые API, и интеграции с Nextcloud/ownCloud могут давать ошибки. Let's Encrypt предоставляет бесплатные SSL сертификаты.
Теперь у тебя есть собственный офисный сервер на Ubuntu! Помни: это production-система, которая требует регулярного обновления и мониторинга. Настрой алерты на высокую нагрузку, делай регулярные бэкапы и следи за обновлениями безопасности.