Onlyoffice nextcloud не работает

Установка и настройка NextCloud и OnlyOffice

В этой статье я расскажу как установить сервис облачного хранения файлов NextCloud и прикрутить к нему редактор документов OnlyOffice, что позволит пользователям прямо в браузере редактировать docx, xmlx прочие офисные форматы.

Для работы данной связки я буду использовать Docker, у нас будет 3 отдельных контейнера:

  • NextCloud
  • база данных MySQL
  • OnlyOffice

Примерная последовательность действий:

  1. Установка Docker
  2. Подготовка каталогов файловой системы, где будут храниться пользовательский файлы, БД MySQL, конфиги NextCloud и OnlyOffice, кэш-файлы и файлы сессий
  3. Составления yml — файла для удобной установки с помощью docker compose
  4. Установка и запуск всех компонентов
  5. Настройка связности NextCloud и OnlyOffice

Про установку Docker я уже писал, поэтому читайте здесь данный шаг я описывать не буду, и начну сразу с yml-файла.

Подготовка каталогов файловой системы

Создаем пользователя, от которого будет работать NextCloud — в моем случае это пользователь admin с uid 1000, без возможности запускать shell:

UID и GID пользователя admin впоследствии будут указаны в yml-файле.

Создаем каталоги — в моем случае все, относящееся к работе NextCloud будет «пробрасываться» из контейнера на хост систему будет храниться в каталоге /mnt/cloud. Затем в этом каталоге создаем следующие директории:
nextcloud
— data
— config
— apps
— themes
— sessions

Для БД MySQL:
db

Для OnlyOffice
onlyoffice — права 777
— cache
— data
— log

На каталог cache права выставляем 777, чтобы контейнер OnlyOffice мог записывать в него данные, иначе работать не будет.

Для чего нужна проброска cache?

При открытии документа для онлайн-редактирования в папке cache создается каталог с временными файлами, и если в момент, когда кто-то редактирует документ онлайн, вы сделаете рестарт контейнера OnlyOffice, и при этом cache НЕ будет проброшен на хост-систему — соответственно внутри контейнера cache очистится, а после рестарта контейнера пользователь не сможет открыть свой документ, и будет получать ошибку. Если же cache проброшен, то при внеплановом рестарте контейнера с OnlyOffice кэш не будет затерт, и после рестарта у пользователей ошибок не будт.

Владельцем каталога /mnt/cloud со всеми подкаталогами рекурсивно делаем пользователя admin и группу admin:

При пробросе каталогов их контейнера в хост-систему, все нужные подкаталоги, в случае их отсутствия, будут созданы автоматически. Для кэш

Составление yml — файла

Я использую сборку NextCloud от Wondrefall — в ней уже настроено веб-окружение (php-fpm + nginx), и поэтому не нужно отдельным контейнером запускать веб — сервер. В следующей статье я рассмотрю установку NextCloud из официального контейнера, с отдельным запуском компонентов веб-сервера.
Пробрасываем 8888 порт контейнера NextCloud на 80 порт хост-системы (строка 31).

Базу данных будем использовать MySql, из официального образа. Название базы, логины и пароли замените на свои. На хост-систему порты не пробрасываем, контейнер с облаком будет напрямую обращаться к контейнеру с БД.

И, наконец, третий контейнер — OnlyOffice, также из официального образа разработчиков. Пробрасываем 80 порт контейнера на 1500 порт хост-системы (строка 55).

YML-файл с комментариями:

YML — файл сохраняем в /usr/local/bin
Если вы планируете загружать в облако большие файлы (15-20 GB и более) — позаботьтесь чтобы в корневом разделе хост-системы было достаточно место, т.к при загрузке происходит запись загружаемого файла в кэш докера, а затем уже в /mnt/cloud/nexrcloud/data

Читайте также:  Как настроить роутер d link dir 300 без компьютера

Установка и запуск всех компонентов

Итак, все готово к запуску — на всякий случай убедитесь, что все каталоги созданы, переходим в каталог с установленным docker-compose, здесь же у вас должен лежать составленный YML-файл, и запускаем сначала контейнер с БД:

и спустя секунд 15-20 остальное:

В зависимости от вашего железа, установка займет от 3 до 10 минут.
Проверяем, что все контейнеры успешно запустились:

И что проброшенные порты открыты:

Настройка связности NextCloud и OnlyOffice

Все работает, переходим на адрес вашей хост-системы, откроется веб-морда NextCloud. В нашем случае логин/пароль админа задан в yml-файле, поэтому логинимся под ним. NextCloud может сругаться, что доступ с вашего IP не разрешен (в случае, если вы настраивали связку не на локальной машине, а на виртуалке), поэтому редактируем проброшенный файл конфига NextCloud:
/mnt/cloud/nextcloud/config/config.php в разделе trusted_domains строку 0 => ‘ваш IP’, приводим к виду:

В админке переходим в раздел Приложения (шестеренка в правом верхнем углу), выбираем слева Офис и текст, и включаем OnlyOffice. После этого переходим в Администрирование -> Дополнительные настройки, и в разделе OnlyOffice указываем IP-адрес и порт сервера, на котором у нас крутится контейнер с офисом — в нашем случае он работает на локальной машине, на порту 15000, соответственно указываем http://127.0.0.1:15000/

Переходим в раздел ваши файлы, и пробуем открыть какой-нибудь docx-документ.

В целом все, будут вопросы — пишите в комментарии, постараюсь помочь.

Источник

Подключение 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Айкос мульти не работает

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

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

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

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

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

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

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

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

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

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

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

Источник

Настройка NextCloud + ONLYOFFICE на одном сервере с помощью Docker

Сложно недооценивать пользу онлайновых пакетов офисных приложений наподобие Google Docs и облачных хранилищ в жизни технически ориентированных людей (tech-oriented people). Технологии получили настолько широкое распространение, что даже компания Microsoft, уже длительное время доминирующая на рынке офисных приложений, в последнее время сосредоточилась на разработке веб-приложения Office 365 и убеждении пользователей перейти на подписную модель использования собственных сервисов. Тех, кого интересует процесс установки и настройки собственного хранилища приглашаем под кат.

Некоторое время назад мы ознакомились с решениями для облачного хранения и пакетами офисных веб-приложений с открытым ресурсным кодом, которые достаточно легко могли бы быть внедрены для использования в микропредприятии. Основная мотивация хранения всей документации онлайн — это сведение объема бумажного документооборота к минимуму, и внедрение положительных бизнес-практик, не смотря на малый объем операций. Обратная сторона монеты в том, что аренда облачного сервера для предоставления данного сервиса менее безопасна, чем хранение непосредственно на территории предприятия, так как у вас нет никаких средств аудита физического доступа к вашему серверу или трафику. Следовательно, также требуется шифрование end-to-end и программное обеспечение с открытым ресурсным кодом.

Приняв во внимание всю доступную информацию о решениях с открытым ресурсным кодом, мы нашли два действующих проекта (с коммитами в git репозитории за прошедшие 12 месяцев), разработанных для облачного хранения: NextCloud и OwnCloud, и единственный активный пакет офисных приложений ONLYOFFICE. У обоих средств для облачного хранения функционал примерно одинаков, и решение выбрать NextCloud было основано на существовании доказательств, того, что оно может быть интегрировано с ONLYOFFICE для комфортного взаимодействия пользователя с ПО. Однако, когда мы начали развертывание сервисов, дефицит информации по интеграции вышеупомянутых сервисов стал очевидным. Мы нашли 3 обучающих видео о том, как произвести интеграцию:

  • www.youtube.com/watch?v=GAd-x_sP6ng
  • www.youtube.com/watch?v=ceOld6P16wI
  • www.youtube.com/watch?v=DvTXyl-OOZA

Ни одно из трех видео не ответило на вопрос установки сервиса документов ONLYOFFICE на том же физическом сервере, что и NextCloud с общим nginx. Вместо этого, они использовали такие технологии разделения, как использование раздельных портов для api сервиса документов. Другим предложенным вариантом было развертывание отдельного сервера для сервиса документов с ручной настройкой конфигурации встроенного в сервис документов инстанса nginx для установки ключа доступа (предварительно известный ключ доступа, подтверждающий право доступа к облаку данных) и сертификатов TLS. Вышеописанные подходы были признаны не безопасными и не достаточно эффективными, поэтому мы произвели интеграцию NextCloud, ONLYOFFICE и общего nginx, который разделяет запросы по доменным именам, с помощью docker-compose. Здесь приведена пошаговая информация о том, как это сделать.

Читайте также:  Ambient led gigabyte не работает

Шаг 1: контейнер nginx

Это очень простая установка, но этот шаг требует самого большого количества работы, для конфигурации обратного прокси сервера. Сначала мы создали конфигурацию docker-compose для образа nginx:stable.

Это создает контейнер с портами 80 и 443, открытыми для публичного доступа, делает мэппинг конфигурации на nginx/nginx-vhost.conf и определяет хранилище для сертификатов, сгенерированных как самоподписанные сертификаты или с использованием Сertbot от Let’s encrypt в /nginx/certificates. В этом месте должны находиться папки для office.yourdomain.com и cloud.yourdomain.com с файлами fullchain1.pem и privkey1.pem в каждой для цепочки сертификатов и частного ключа сервера соответственно. Вы можете прочитать больше о том, как сгенерировать самоподписанный сертификат здесь www.akadia.com/services/ssh_test_certificate.html (переименование .key и .crt в .pem работает без конвертации файловой структуры для nginx).

После этого мы определили файл vhost. Сначала мы определяем поведение порта 80 как простое перенаправление на https, т.к. мы не хотим разрешать никакой http трафик

Затем мы создали два виртуальных сервера на порту 443 для наших сервисов:

Шаг 2: сервис документов

Теперь нам нужно добавить контейнер сервиса документов в наш docker-compose.yml. Конфигурировать здесь особо нечего.

Но не забудьте связать контейнер nginx с сервисом документов:

Шаг 3: NextCloud

Сначала добавляем новые сервисы:

и добавляем ссылку на nginx:

Теперь пора загрузить контейнеры.

Через некоторое время, nginx начнет переадресовывать вас на внешний интерфейс NextCloud, который по умолчанию является станицей конфигурации. Вам необходимо будет ввести имя пользователя и пароль для вашего первого администрирующего пользователя и учетные данные базы данных, которые вы указали в docker-compose.yml После того, как настройка окончена, вы сможете залогиниться. В нашем случае ожидание заняло почти минуту и потребовало дополнительного обновления страницы входа, перед тем, как мы смогли зайти в облачный сервис.

Шаг 4: соединение NextCloud и ONLYOFFICE

На этом шаге вам будет необходимо установить приложение для NextCloud, которое подключает функционал ONLYOFFICE. Начнем с панели управления приложениями в верхнем правом углу меню. Найдите приложение ONLYOFFICE (в разделе “Офис и текст” (Office & text) или с использованием поиска), установите и активируйте его.

После этого направляйтесь в Установки (Settings) через меню в правом верхнем углу, и вы должны будете найти элемент ONLYOFFICE в левом меню. Зайдите в него. Вам будет необходимо прописать адреса, как указано ниже.

Первый адрес используется для ссылки на некоторые файлы js и css напрямую из запущенного в браузере приложения (это то, для чего нам необходимо открыть доступ к сервису ONLYOFFICE через nginx). Секретный ключ не используется, потому что мы доверяем слою изоляции Docker больше, чем постоянному ключу аутентификации. Третий адрес используется контейнером NextCloud для прямого подключения к ONLYOFFICE API, и он использует внутреннее имя хоста по умолчанию из Docker. Ну и последнее поле используется для того, чтобы ONLYOFFICE смог делать запросы обратно к NextCloud API, используя внешний IP-адрес или внутренний адрес Docker, если вы используете сети Docker, но в нашем случае это не используется. Удостоверьтесь, что настройки вашего фаервола позволяют данные виды взаимодействий.

После сохранения, NextCloud протестирует соединение и, если все верно, покажет вам настройки, связанные с интеграцией — например, какие типы файлов могут редактироваться данной интеграцией. Настройте так, как считаете нужным.

Завершающий шаг: где искать редактор

Если вы вернетесь в папки вашего облачного хранилища и нажмете на “+” для создания нового файла, то вам будет доступна новая опция создания документа, таблицы или презентации. С их помощью вы создадите и сразу сможете редактировать данные типы файлов, используя ONLYOFFICE.

Источник

Оцените статью