- Установка и настройка OnlyOffice Server на Ubuntu, а также интеграция его с Nextcloud
- Установка компонентов для OnlyOffice
- PostgreSQL
- RabbitMQ
- Установка и настройка OnlyOffice
- Настройка Nextcloud
- Читайте также
- MS Office Online Server as document editor in Nextcloud
- About Office Online Server
- Integration
- Benefits
Установка и настройка OnlyOffice Server на Ubuntu, а также интеграция его с Nextcloud
Опубликовано: 10.12.2022
Используемые термины: Nextcloud, Ubuntu. OnlyOffice является платформой для совместной работы с офисными документами. Сервис позиционируется как облачный, но есть возможность установки на собственное оборудование. Разработчик предлагает разные варианты развертывания от docker до ручного развертывания компонентов системы. Мы рассмотрим последний, а также настроим интеграцию с Nextcloud. Подразумевается, что у нас уже развернут сам Nextcloud (ссылки на соответствующие инструкции приведены ниже).
Установка компонентов для OnlyOffice
Для работы OnlyOffice необходимы сервер баз данных PostgreSQL и брокер сообщений rabbitmq. В документации на официальном сайте можно найти список системных требований для развертывания приложения. Особое внимание стоит обратить на версии программных компонентов.
PostgreSQL
На момент обновления инструкции, для OnlyOffice требовался PostgreSQL версии 12.9 и выше. Подключаем репозиторий:
echo «deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main» > /etc/apt/sources.list.d/postgresql.list
* в нашем примере будет установлен postgresql версии 13. Зайдем в sql-оболочку под пользователем posgrtes:
* в нашем примере мы создадим базу данных onlyoffice и одноименного пользователя с полными к ней привилегиями. В качестве пароля пользователя используем onlyoffice123.
RabbitMQ
Установка и настройка OnlyOffice
echo «deb https://download.onlyoffice.com/repo/debian squeeze main» > /etc/apt/sources.list.d/onlyoffice.list
* установщик попросит принять лицензионное соглашение — отвечаем Yes. Устанавливаем сам onlyoffice сервер:
Установщик запросит пароль для подключения к базе данных — вводим тот, что указали при создании пользователя (onlyoffice123). Также будет установлен веб-сервер nginx с базовой конфигурацией для запуска onlyoffice. Нам необходимо внести правки:
.
listen 0.0.0.0:443 ssl;
server_tokens off;
server_name onlyoffice.dmosk.ru;
ssl_certificate /etc/ssl/onlyoffice/cert.crt;
ssl_certificate_key /etc/ssl/onlyoffice/cert.key;
.
- listen — адрес и порт, на которых слушает веб-сервер. По умолчанию он работает на порту 80, но для интеграции с Nextcloud нам нужен https. При желании, мы можем изменить порт на нестандартный.
- server_name — доменное имя, для которого данная настройка будет работать. Вам необходимо заменить имя на свое. Она позволит разграничить запросы к nginx — только при обращении по имени onlyoffice.dmosk.ru запросы пойдут к OnlyOffice.
- ssl_certificate — путь до сертификата, открытого ключа.
- ssl_certificate_key — путь до сертификата, закрытого ключа.
Создадим каталог для хранения сертификатов:
openssl req -x509 -days 1461 -nodes -newkey rsa:2048 -sha256 -keyout /etc/ssl/onlyoffice/cert.key -out /etc/ssl/onlyoffice/cert.crt -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=onlyoffice.dmosk.ru/CN=onlyoffice»
* в данном примере мы получим сертификат на доменное имя onlyoffice.dmosk.ru.
Для тестовых целей нам достаточно сформировать самоподписанный сертификат. Но для продуктивной среды лучше использовать внутренний сертификационный центр или Let’s Encrypt.
Проверяем корректность конфигурации и перезапускаем nginx:
nginx -t && systemctl restart nginx
Откроем конфигурационный файл:
Приведем опцию rejectUnauthorized к виду:
* данная опция позволяет использовать не валидный сертификат (в нашем случае, самоподписанный).
Сервис OnlyOffice должен иметь возможность ответить Nextcloud, обратившись к нему по доменному имени. На практике это значит, что если у нас последнее разрешается во внешний IP, который находится за одним и тем же NAT с OnlyOffice, наш облачный офис работать не будет. Чтобы решить проблему, отредактируем файл hosts:
127.0.0.1 localhost cloud.dmosk.ru
* предположим, что мой nextcloud работает на доменном имени cloud.dmosk.ru и находится на одном сервере с OnlyOffice. Таким образом мы указываем, что cloud.dmosk.ru — это 127.0.0.1. Если у вас это разные серверы, которые находятся в одной локальной сети, необходимо будет указать внутренний адрес.
Перезапускаем сервисы onlyoffice:
supervisorctl restart all
Проверить ответ от onlyoffice можно командой:
curl -k https://127.0.0.1/welcome/
* где 127.0.0.1 будет адресом onlyoffice (в моем случае, это локальный сервер). Данная должна вернуть html-страницу приветствия.
Офис онлайн готов к работе.
Настройка Nextcloud
Посмотрим секретный ключ, который был сгенерирован при установке onlyoffice:
cat /etc/onlyoffice/documentserver/local.json | grep string
Фиксируем значение — оно нам понадобиться позже.
Устанавливаем и разрешаем на Nextcloud расширение onlyoffice:
sudo -u www-data php /var/www/nextcloud/occ app:enable onlyoffice
Переходим в настройки на веб-панели:
В меню слева кликаем по ONLYOFFICE:
- Адрес ONLYOFFICE Docs — внешний адрес сервера с OnlyOffice.
- Секретный ключ — ключ, который был сгенерирован при установке офиса. Его мы посмотрели в начале раздела.
- Адрес ONLYOFFICE Docs для внутренних запросов сервера — внутренний адрес OnlyOffice сервера. В нашем случае это тот же сервер, что и Nextcloud, поэтому указываем адрес локальной петли.
- Адрес сервера для внутренних запросов ONLYOFFICE Docs — внешний адрес сервера Nextcloud.
Также мы используем самоподписанный сертификат, поэтому ставим галочку Отключить проверку сертификата (небезопасно).
Кликаем по Сохранить — ниже появятся дополнительные настройки, который мы можем задействовать при работе с OnlyOffice:
Настройка завершена. Можно попробовать открыть офисный документ.
Читайте также
Данные инструкции могут быть также полезны:
MS Office Online Server as document editor in Nextcloud
With today’s release of the Office Online Integration app, enterprises can use a self-hosted Microsoft Office Online Server to view and edit documents from within Nextcloud. This enables companies to operate an Office environment on a private, secure server with a familiar user interface and full compatibility with Microsoft Office formats.
About Office Online Server
Office Online Server is an Office server product that provides browser-based file viewing and editing services for Office files. Office Online Server works with products and services that support WOPI, the Web app Open Platform Interface protocol.
Office Online Server includes Word Online, Excel Online, PowerPoint Online and OneNote Online. Office Online Server runs on dedicated servers or a virtual machine, and thus fits in a on-premises environment with Nextcloud.
Collaborative editing is supported, allowing multiple users to work together in the same document, seeing what the other users are doing.
Integration
From within Nextcloud, Office Online Server is well integrated like our other online office solutions, allowing users to directly view and edit documents without having to open other tabs or windows. Our sidebar is available so users can comment, share, see previous versions and even chat during editing. They can also drop a office document in a Talk chat room and edit it with the other participants during a call.
Benefits
The Office Online Server option allows enterprises to migrate users from cloud services or locally installed office applications to a web based work flow, fully on-premises and under control of the IT department. Users get the interface they are familiar with, and great document compatibility.
Administrators can install the app and get started now.