Установка и настройка OnlyOffice Server на Ubuntu, а также интеграция его с ownCloud или Nextcloud

Обновлено: 06.12.2023 Опубликовано: 10.12.2022
Используемые термины: Nextcloud, Ubuntu. OnlyOffice является платформой для совместной работы с офисными документами. Сервис позиционируется как облачный, но есть возможность установки на собственное оборудование. Разработчик предлагает разные варианты развертывания от docker до ручного развертывания компонентов системы. Мы рассмотрим последний, а также настроим интеграцию с ownCloud/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
Устанавливаем ключ репозитория:
wget —quiet -O — https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add —
Обновляем кэш пакетов:
apt update
Устанавливаем postgresql:
apt install postgresql-13
* в нашем примере будет установлен postgresql версии 13. Зайдем в sql-оболочку под пользователем posgrtes:
sudo -u postgres psql
Создадим базу данных и пользователя, который будет иметь к ней полный доступ:
=# CREATE DATABASE onlyoffice;
=# CREATE USER onlyoffice WITH password ‘onlyoffice123’;
=# GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;
* в нашем примере мы создадим базу данных onlyoffice и одноименного пользователя с полными к ней привилегиями. В качестве пароля пользователя используем onlyoffice123.
RabbitMQ
Для его установки достаточно ввести одну команду:
apt install rabbitmq-server
Установка и настройка OnlyOffice
Установим ключ, необходимый для проверки подписей пакетов в репозитории OnlyOffice:
apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv CB2DE8E5
Добавим сам репозиторий:
echo «deb https://download.onlyoffice.com/repo/debian squeeze main» > /etc/apt/sources.list.d/onlyoffice.list
Обновим кэш пакетов:
apt update
Установим набор шрифтов Microsoft:
apt install ttf-mscorefonts-installer
* установщик попросит принять лицензионное соглашение — отвечаем Yes. Устанавливаем сам onlyoffice сервер:
apt install onlyoffice-documentserver
Установщик запросит пароль для подключения к базе данных — вводим тот, что указали при создании пользователя (onlyoffice123). Также будет установлен веб-сервер nginx с базовой конфигурацией для запуска onlyoffice. Нам необходимо внести правки:
vi /etc/nginx/conf.d/ds.conf
Приводим опции к виду:
.
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 можно командой:
curl -k https://127.0.0.1/welcome/
* где 127.0.0.1 будет адресом onlyoffice (в моем случае, это локальный сервер). Данная должна вернуть html-страницу приветствия.
Офис онлайн готов к работе.
Настройка ownCloud / Nextcloud
Посмотрим секретный ключ, который был сгенерирован при установке onlyoffice:
cat /etc/onlyoffice/documentserver/local.json | grep string
Фиксируем значение — оно нам понадобиться позже.
Переходим в каталог, где развернуто облачное приложение и устанавливаем приложение onlyoffice. Для ownCloud или Nextcloud это будут разные действия.
Пути до каталога портала могут отличаться в вашей инфраструктуре.
а) Для ownCloud:
sudo -u www-data php ./occ market:install onlyoffice
sudo -u www-data php ./occ app:enable onlyoffice
б) Для nextcloud:
sudo -u www-data php ./occ app:enable onlyoffice
После устрановки приложения можно настраивать привязку.
Переходим в настройки на веб-панели:

* примеры скриншотов для Nextcloud (процесс для ownCloud схож).
В меню слева кликаем по ONLYOFFICE:


- Адрес ONLYOFFICE Docs — внешний адрес сервера с OnlyOffice.
- Секретный ключ — ключ, который был сгенерирован при установке офиса. Его мы посмотрели в начале раздела.
- Адрес ONLYOFFICE Docs для внутренних запросов сервера — внутренний адрес OnlyOffice сервера. В нашем случае это тот же сервер, что и Nextcloud, поэтому указываем адрес локальной петли.
- Адрес сервера для внутренних запросов ONLYOFFICE Docs — внешний адрес сервера Nextcloud.
Также мы используем самоподписанный сертификат, поэтому ставим галочку Отключить проверку сертификата (небезопасно).
Кликаем по Сохранить — ниже появятся дополнительные настройки, который мы можем задействовать при работе с OnlyOffice:

Настройка завершена. Можно попробовать открыть офисный документ.
Читайте также
Данные инструкции могут быть также полезны:
По дороге с облаками: интеграция пакета ONLYOFFICE в Nextcloud

Надеюсь, ни для кого не секрет, что вследствие определённых причин интернет начал сильно преображаться. Например, привычные сервисы становятся недоступны в силу блокировок или собственного решения компании о прекращении предоставления услуг в отдельных регионах.
На данный момент предлагаю остановить своё внимание на организации доступного хранилища и работе с онлайн-документами. Что обычно для этого используется пользователями?
Хранение и обмен документами:
- Google Drive
- iCloud
- Яндекс.Диск
- Microsoft 365
- Google Docs
- Яндекс.Документы
Если вдруг нужна инструкция по установке Nextcloud, то подсмотреть, например, для FreeBSD можно здесь. Я же хочу уделить внимание возможности замены ставших для многих уже привычными, облачных сервисов совместной работы с офисными документами.
После длительных поисков и раздумий было решено остановить своё внимание на продукте ONLYOFFICE, являющемся автономным сервером и имеющем дополнительное приложение, позволяющее интегрировать создание/редактирование документов в рабочую среду Nextcloud.
И если с установкой приложения в Nextcloud всё предельно просто, оно устанавливается через внутренний магазин и из настроек для запуска нужно указать только адрес (где расположен сервер документов), то с настройкой серверной части есть несколько не очень очевидных нюансов, на разбор которых ушло приличное количество времени.
Здесь, пожалуй, стоить сделать небольшое отступление и пояснить суть моего выбора. Ведь есть же Nextcloud Office, и устанавливается он из встроенного магазина приложений буквально в несколько кликов. Но при выборе, на чём остановиться в постройке собственной рабочей среды, было одно немаловажное отличие этих двух продуктов, перевесившее в пользу именно ONLYOFFICE.
А разница тут довольно принципиальная. Если Nextcloud Office — это по своей сути тот же LibreOffice со своими плюсами / минусами и тараканами в плане совместимости с форматированием в документах, созданных с использованием MS Office, то пакет ONLYOFFICE — уже обещает максимальную совместимость по формату.
Приведу цитату с сайта разработчиков:
«ONLYOFFICE заточен на работу с *.docx, *.xlsx и *.pptx и обладает максимальной совместимостью с форматами MS Office. Это буквально означает, что все объекты, которые есть в редакторах ONLYOFFICE, были созданы в соответствии со стандартами MS Office (Это четыре тома и более семи тысяч страниц). Мы уже много сделали, но, конечно, много всего ещё предстоит добавить.»
За много лет накопилось огромное количество текстовой документации в формате *.doc/*.docx и не меньшее количество таблиц с данными и расчётами в формате *.xls/*.xlsx, заниматься переделыванием в новый формат совершенно не было никакого желания, собственно это и определило, на чём остановить свой выбор.
Что ж, пора приступать к увлекательному процессу установки и настройки. Не стоит забывать и тот момент, что описывается установка бесплатной версии «community edition», сервер которой, естественно, имеет свои ограничения, однако и такого функционала вполне достаточно для небольшого коллектива в 10-15 человек. Собственно, ограничение связано с максимальным количеством одновременных подключений (не более 20) и отсутствием мобильных веб-редакторов, а также технической поддержки.
Самая большая проблема, с которой я столкнулся в процессе установки, это то, что document server не совмещается на одном сервере с Nextcloud, если только специально не использовать Docker. В моём распоряжении виртуализация, и поэтому всё это было небольшой проблемой, но времени отняло немало, пока я понял это и нашёл подтверждение на форуме.
Для установки ONLYOFFICE Document server Community Edition был настроен виртуальный сервер на основе Ubuntu 20.04LTS. Разработчики рекомендуют использовать Debian, Ubuntu или любой другой совместимый дистрибутив с ядром не ниже версии 3.13.
И вот, собственно, пошаговое руководство по установке.
Первым делом обновляем данные о пакетах:
sudo apt-get update sudo apt-get upgrade
Помимо прочих компонентов, для нормальной работы требуется наличие в системе работающего веб-сервера Nginx. Выполним для этого ряд действий:
sudo apt-get install nginx sudo systemctl start nginx sudo systemctl enable nginx
Необходимые изменения в конфигурационные файлы будут внесены автоматически при выполнении последующих этапов установки.
Устанавливаем совместимую с дистрибутивом базу данных PostgreSQL:
sudo apt-get install postgresql
После успешной установки необходимо создать саму базу данных и пользователя. Стоит обратить особое внимание, что имя пользователя базы данных обязательно должно быть — onlyoffice, а вот пароль (password) можно указать любой, главное — его не забыть. Он понадобится на этапе установки самого сервера.
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;" sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH password 'password';" sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
Устанавливаем брокер сообщений RabbitMQ:
sudo apt-get install rabbitmq-server
Устанавливаем дополнения веб-сервера nginx-extras:
sudo apt-get install nginx-extras
По умолчанию ONLYOFFICE работает с портом 80, и при желании его можно изменить (этот способ не подходит для настройки работы через HTTPS). Для смены порта нужно выполнить следующее:
echo onlyoffice-documentserver onlyoffice/ds-port select | sudo debconf-set-selections
Для выполнения самой установки нужно сделать ещё ряд подготовительных действий. Добавить в систему ключ PGP и подключить репозиторий:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80--recv-keys CB2DE8E5 echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list
Обновляем пакетный менеджер:
sudo apt-get update
Устанавливаем пакет стандартных шрифтов майкрософт:
sudo apt-get install ttf-mscorefonts-installer
И собственно сама установка ONLYOFFICE Documentserver’а. Вот при выполнении этого этапа и будет запрошен пароль доступа к создаваемой ранее базе данных.
sudo apt-get install onlyoffice-documentserver
Собственно, на данном моменте уже можно проверить работоспособность. Зайдя в браузере по адресу настраиваемого сервера, мы должны увидеть следующее:

Здесь внизу есть кнопка [GO TO TEST EXAMPLE], по которой можно запустить тестовые документы и проверить работоспособность. Но для этого сначала нужно выполнить:
sudo supervisorctl start ds:example
И теперь можно убедиться в работоспособности сервера и оценить интерфейс.



Главное, после проверки работоспособности не забыть выключить тестовые файлы:
sudo supervisorctl stop ds:example
С установкой серверной части закончено, и пора приступать к настройке клиентской. Здесь всё просто. Заходим в Nextcloud (под аккаунтом администратора), открываем магазин приложений > аккаунт > приложения, в поиске вводим ONLYOFFICE и устанавливаем. После переходим в аккаунт > настройки и в левом меню в разделе «Параметры сервера» ищем пункт ONLYOFFICE.

Здесь в поле «Адрес» ONLYOFFICE Docs пишем адрес сервера, который настраивали на предыдущих шагах, и ниже нажимаем сохранить.

Видим в правом верхнем углу надпись: «Настройки были успешно обновлены (версия 7.0.1.37)», что свидетельствует об успешно установленном соединении с сервером. Помимо этого, ниже на странице появились и дополнительные настройки, позволяющие выбрать типы документов, доступные для редактирования.

Выбираем нужные и ещё раз жмём сохранить. На этом основная настройка завершена. Теперь в меню создания нового файла появились дополнительные пункты для создания файлов текстового редактора / таблиц / презентаций.
Также дополнительно можно настроить работу сервера документов через HTTPS протокол. Здесь всё тоже довольно просто и лаконично.
Останавливаем веб-сервер Nginx:
sudo systemctl stop nginx
Далее нужно скопировать файл конфигурации из шаблона ds-ssl.conf.tmpl и внести ряд изменений:
sudo cp -f /etc/onlyoffice/documentserver/nginx/ds-ssl.conf.tmpl /etc/onlyoffice/documentserver/nginx/ds-ssl.conf sudo ln -f -s /etc/onlyoffice/documentserver/nginx/ds-ssl.conf /etc/nginx/conf.d/ds.conf
Остаётся только отредактировать файл /etc/onlyoffice/documentserver/nginx/ds-ssl.conf заменив > на путь к файлу SSL сертификата и > на путь к файлу приватного ключа SSL сертификата.
Для локального использования можно обойтись и самоподписанным сертификатом, хотя большого смысла в использовании HTTPS в таком случае нет. Но на всякий случай оставлю инструкцию о том, как это можно сделать, вдруг кому-то пригодится.
Для начала создадим приватный RSA ключ, который будет использоваться для создания сертификатов CSR или CRT:
cd /etc/ssl/ sudo openssl genrsa-out ds.local.key 2048
В данном случае ds.local — имя, присвоенное серверу документов в локальной сети, по которому можно на него зайти через браузер с других компьютеров.
Теперь создадим сертификат CSR:
sudo openssl req-new -key ds.local.key -out ds.local.csr
В процессе выполнения команды потребуется ввести ряд дополнительных данных, таких как код страны, страна, город, компания, расположение, доменное имя (в данном случае это и есть ds.local), адрес электронной почты.
И последним шагом создадим самоподписанный сертификат CRT:
sudo openssl x509 -in ds.local.csr -out ds.local.crt -req-signkey ds.local.key -days1800
Для использования самоподписаных сертификатов с Nextcloud в файл конфигурации config.php нужно добавить следующую строчку:
'onlyoffice' => array ('verify_peer_off' => TRUE, ),
Безопасности это, конечно, системе не добавит, но для локального использования вполне подойдёт. Также нужно скопировать сертификат на машину с установленным Nextcloud и импортировать его, используя консоль. Выполнять команду нужно в корневом каталоге, где расположены файлы Nextcloud.
sudo php occ security:certificates:import /path/to/ds.local.crt
Вот, собственно, и все действия необходимые для базовой локальной настройки интеграции пакета ONLYOFFICE в Nextcloud.
Сказать, что это было сложно? Нет, всё достаточно просто, когда знаешь, что делаешь. А вот полезность полученного результата сложно недооценить как для использования в работе небольшого коллектива, так и в домашнем применении. Единственное, что осталось нерешённым, так это то, как совместить оба пакета на одном сервере?
Если вдруг кто-то знает решение, то очень интересно было бы узнать, как это осуществить. В сети я нашёл только информацию о том, что так можно делать только на разных серверах.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS .
- Блог компании FirstVDS
- Системное администрирование
Как установить onlyoffice owncloud
Вопросы по покупке sales@onlyoffice.com
Запросы на партнерство partners@onlyoffice.com
Запросы от прессы press@onlyoffice.com
Следите за нашими новостями:
© Ascensio System SIA 2024. Все права защищены
© Ascensio System SIA 2024. Все права защищены
Не пропустите обновление!
Получайте последние новости ONLYOFFICE на ваш email
Имя не указано.
Email не указан.
На ваш адрес электронной почты отправлено сообщение с подтверждением.
В Справочном центре ONLYOFFICE используются файлы cookie для обеспечения максимального удобства работы пользователей. Продолжая использовать этот сайт, вы соглашаетесь с тем, что мы можем сохранять файлы cookie в вашем браузере.
OnlyOffice и OwnCloud. Расширяем возможности

В OnlyOffice существует возможность подключения к облачным хранилищам с возможностью редактирования документов в подключенном хранилище. Одним из предложенных вариантов является OwnCloud. Т. е. если организовать синхронизацию данных с рабочим ПК мы получим возможность работать с документами, находящимися на ПК используя веб-интерфейс. Поднимаем сервер OwnCloud (вот здесь очень подробное руководство). После того, как мы убедились, что наше облако функционирует нормально, подключаем его в OnlyOffice:

Выбираем «Добавить аккаунт OwnCloud» и указываем параметры подключения к облаку:

URL-адрес подключения можно посмотреть в разделе «Настройка» в левом нижнем углу при входе в аккаунт в OwnCloud:

Логин и пароль указываем для той учетной записи, под которой работаете в OwnCloud.
Подключаем и приступаем к работе.
Следующий шаг — это синхронизация документов. Тут имеет смысл установить клиента OwnCloud. Для Windows скачиваем с официального сайта и производим настройку.