Инструменты пользователя

Инструменты сайта


service:onlyoffice

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
service:onlyoffice [26.02.2019 09:39] – [Установка] viacheslavservice:onlyoffice [30.07.2024 19:21] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +===== OnlyOffice =====
 +Онлайн-редактор документов. Ставится для использования с Nextcloud на отдельный сервер в Docker.
 +
 +Для работы с внешними пользователями документ-сервер должен быть опубликован в интернете и иметь действительный сертификат SSL, иначе при обращении к документ-серверу через интерфейс Nextcloud будет ошибка "OnlyOffice cannot be reached, please contact admin" из-за того, что браузер не доверяет самоподписанному сертификату и не откроет фрейм документа.
 +
 +Хост-сервер, где крутится OnlyOffice, должен иметь открытые порты 80 и 443 в интернет.
 +==== Установка ====
 +Подготовительные действия:
 +<code bash>
 +# создать папки
 +mkdir onlyoffice
 +cd onlyoffice
 +mkdir logs data lib db data/certs
 +# файл с переменными
 +echo "JWT_ENABLED=true" >> env.list
 +# secretword - это пароль доступа к документ-серверу
 +echo "JWT_SECRET=secretword" >> env.list
 +</code>
 +
 +Установка Docker (для Debian):
 +<code bash>
 +sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
 +curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
 +add-apt-repository \
 +   "deb [arch=amd64] https://download.docker.com/linux/debian \
 +   $(lsb_release -cs) \
 +   stable"
 +sudo apt-get update
 +sudo apt-get install docker-ce docker-ce-cli containerd.io
 +</code>
 +https://docs.docker.com/install/linux/docker-ce/debian/#install-docker-ce-1
 +
 +Выпуск сертификата:
 +<code bash>
 +certbot certonly -d oo.domain.com
 +
 +Congratulations! Your certificate and chain have been saved at:
 +   /etc/letsencrypt/live/oo.domain.com/fullchain.pem
 +   Your key file has been saved at:
 +   /etc/letsencrypt/live/oo.domain.com/privkey.pem
 +   
 +# Копировать сертификаты в каталог их забора при запуске контейнера
 +cp /etc/letsencrypt/live/oo.domain.com/fullchain.pem ~/onlyoffice/data/certs/onlyoffice.crt
 +cp /etc/letsencrypt/live/oo.domain.com/privkey.pem ~/onlyoffice/data/certs/onlyoffice.key
 +chmod 400 ~/onlyoffice/data/certs/onlyoffice.key
 +
 +# Сгенерировать параметры Диффи-Хеллмана (DHE), обеспечивающие более высокую стойкость
 +openssl dhparam -out ~/onlyoffice/data/certs/dhparam.pem 2048
 +</code>
 +
 +[[https://helpcenter.onlyoffice.com/ru/server/docker/document/docker-installation.aspx|Установка версии Сервера документов для Docker на локальном сервере]]
 +
 +Запуск:
 +<code bash>
 +sudo docker run -i -t -d -p 443:443 --restart=always \
 +-v ~/onlyoffice/logs:/var/log/onlyoffice  \
 +-v ~/onlyoffice/data:/var/www/onlyoffice/Data  \
 +-v ~/onlyoffice/lib:/var/lib/onlyoffice \
 +-v ~/onlyoffice/db:/var/lib/postgresql \
 +--env-file ~/onlyoffice/env.list onlyoffice/documentserver
 +</code>
 +
 +Далее ставится плагин OnlyOffice в Nextcloud и настраивается через веб-интерфейс. Ключ доступа, прописанный ранее в переменной JWT_SECRET, прописывается в доп. настройках.
 +
 +==== Дополнительно ====
 +<code bash>
 +# Список контейнеров
 +sudo docker ps
 +# Запустить консоль внутри контейнера:
 +sudo docker exec -it CONTAINER_ID bash
 +# Перезапуск всех служб OnlyOffice (внутри контейнера)
 +supervisorctl restart all
 +</code>
 +
 +Костыль, чтобы заставить Nextcloud не проверять подлинность сертификата для взаимодействия с OnlyOffice. Прописывается в config.php Nextcloud. В нормальной ситуации не нужен.
 +<code php>
 +'onlyoffice' =>
 +array (
 +'verify_peer_off' => TRUE,
 +),
 +</code>
 +https://www.c-rieger.de/nextcloud-and-only-office-nginx/
 +
 +=== Отключить проверку сертификата в OnlyOffice ===
 +Нужно в случае, когда Nextcloud и OnlyOffice стоят в одной подсети и внутренние запросы (в настройках плагина Онлиофиса в Некстклауде) идут через внутренние имена или IP-адреса, отсутствующие в SSL-сертификате. Если не отключить проверку, то при настройке плагина будет выдаваться ошибка: <color #ed1c24>Error while downloading the document file to be converted</color>
 +
 +Решение:\\
 +When you use self-signed certificates they should be added to ca-certificate bundle of the OS of both servers (the one you use on Nextcloud should be added to the server with ONLYOFFICE Document Server and vice versa). The problem is that the certificate of Nextcloud should be also added to [[https://stackoverflow.com/questions/29283040/how-to-add-custom-certificate-authority-ca-to-nodejs|nodejs ca-certificate bundle]], so the Document Server can verify it. But it is impossible for nodejs version 6, which is required for the Document Server at the moment.
 +
 +We are working on the possibility to install Document Server with the later versions of nodejs, where it is possible to add self-signed certificates.
 +
 +As a temporary solution you can disable verification of the certs by the Document Server. It should help. Please change the [[https://github.com/ONLYOFFICE/server/blob/e4efd09e3b0b84e89066814afc7cdc3365d6d643/Common/config/default.json#L69|value of the parameter]] %%`"rejectUnauthorized":`%% from `true` to `false` in /etc/onlyoffice/documentserver/default.json. After that restart all the services of the Document Server:\\
 +supervisorctl restart all
 +<code bash>
 +sed -ie 's/"rejectUnauthorized": true/"rejectUnauthorized": false/g' /etc/onlyoffice/documentserver/default.json
 +supervisorctl restart all
 +</code>
 +https://github.com/ONLYOFFICE/onlyoffice-owncloud/issues/181
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki