Подключение OnlyOffice к Nextcloud

При установке Nextcloud можно увидеть, что можно установить офисный пакет OnlyOffice как приятную возможность редактирования документов в своём облаке. Однако при первоначальной установке что-то идёт не так и этот пакет не ставится. Поэтому при начальной установке я галочку снимаю и ставлю его позже.

Но недостаточно установить приложение OnlyOffice и пользоваться всеми преимуществами облачного офиса. Нужно ещё установить и сам пакет офиса. Вариантов установки несколько, но самый простой для меня — это установка OnlyOffice как docker образ и подключение его к Nextcloud. Этим и займёмся.

Дано:

  • Сервер (в моём случае) Ubuntu Server 18.04, где установлен Nextcloud (IP: 192.168.0.2)
  • Сервер, где будет установлен OnlyOffice (у меня они стоят на разных машинах) (IP: 192.168.0.3)
  • Обратный прокси, с которого будет обеспечиваться доступ к Nextcloud’у и к OnlyOffice. Настройка прокси немного описывается здесь. (IP: 192.168.0.1)

Шаги.

  1. Ставим Docker
  2. Ставим OnlyOffice
  3. Связываем OnlyOffice и Nextcloud.

Шаг 1. Ставим Docker

Заходим пользователем на машину, где будет стоять OnlyOffice.

По инструкции с сайта ставим пакеты. Тут всё просто.

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common -y

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

Если вы хотите запускать docker не от рута, то добавьте пользователя в группу docker

sudo usermod -aG docker $USER

После этого надо завершить текущий сеанс и выполнить вход повторно. Затем выполните проверку работы Docker

docker run hello-world

В ответ должно выйти приветственное сообщение об успешном выполнении.

Шаг 2. Ставим OnlyOffice

Опять же, всё делаем на той же машине, где поставили Docker.

По понятной инструкции с сайта OnlyOffice подготавливаем и ставим образ.

Для начала создаём сертификаты для связи Nextcloud’а и OnlyOffice.

openssl req -x509 -newkey rsa:4096 -keyout onlyoffice.key -out onlyoffice.crt -nodes -days 3650 -subj '/CN=localhost'

Генерируем параметры Диффи-Хеллмана (DHE), обеспечивающие более высокую стойкость.

openssl dhparam -out dhparam.pem 2048

Создаём директорию для хранения сертификатов

sudo mkdir -p /app/onlyoffice/DocumentServer/data/certs

Перемещаем в неё свежесозданные самоподписанные сертификаты.

sudo mv onlyoffice.key onlyoffice.crt dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
sudo chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key

И запускаем контейнер в фоне, который будет всегда перезапускаться, если он был остановлен. Например, после перезагрузки сервера. Также пробросим в контейнер папку с нашими сертификатами.

docker run -it -d -p 443:443 --restart=always -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver

Сам образ OnlyOffice при запуске ищет в /var/www/onlyoffice/Data сертификаты с именами, которые были созданы выше.

Сервер с OnlyOffice готов и дальше его можно не трогать.

Шаг 3. Связываем OnlyOffice и Nextcloud.

Сначала переходим на прокси, где в файле настроек, описывающего доступ к облаку, вписываем директиву location для OnlyOffice.

location /edit/ {
    proxy_pass https://192.168.0.3/;
    proxy_http_version 1.1;
}

Потом переходим в веб-интерфейс Nextcloud, а затем в Приложения

В списке слева ищем раздел «Офис и текст» и ставим приложение ONLYOFFICE, нажав «Скачать и включить».

Теперь, когда установили приложение, переходим в настройки.

Слева находим пункт ONLYOFFICE

Переходим. В поле Адрес службы редактирования документов вводим адрес, где расположен наш сервер, путь для которого мы определили выше описывая директиву location для nginx. Иначе говоря, вводим в поле доменное имя, по которому расположен Nextcloud с путём к серверу документов. Получившийся путь должен быть примерно таким:

https://example.org/edit

Нажмите сохранить и интерфейс должен стать похожим на тот, что на скриншоте выше.

В настройках можете указать какой тип документов открывать.

Важное замечание

Для ещё большего удобства использования облака совместно с onlyoffice существует замечательное приложение для Android — ONLYOFFICE Documents. С помощью которого можно удобно редактировать таблицы, документы, презентации и т.д.

Интерфейс его довольно заурядный, как и у всех офисных пакетов, но вот функция интеграции с облаком выделяет это приложение.

Однако после 5 версии OnlyOffice разработчики убрали эту замечательную функцию редактирования документа из облака на своём телефоне. И теперь появляется вот такое сообщение при попытке открыть документ.

Так вот, как оказалось, с пятой версии сервера разработчики сделали такую возможность только для платных версий OnlyOffice, но не для бесплатных.

Путём недолгих экспериментов с образами Docker, я выяснил, что последняя рабочая версия OnlyOffice — 5.4.2.46. А так как у нас тут контейнерные перевозки, то нет никаких проблем запускать образ докера с нужной версией OnlyOffice, которая равняется 5.4.2.46. Таким образом команда для запуска нормально работающей версии OnlyOffice такая:

docker run -it -d -p 443:443 --restart=always -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver:5.4.2.46

На этом вроде всё

P.S. Возможные ошибки [дополняется…]

Добавить комментарий

Ваш адрес email не будет опубликован.