Обязательные условия интеграции:
- Установить плагин OnlyOffice из магазина
- Выполнить синхронизацию времени с ntp сервером (любым) на серверах Nextcloud и Р7-Сервер
apt install ntpdate \ yum install ntpdate
ntpdate 1.ro.pool.ntp.org (как пример) - В /etc/hosts прописать dns\ip адрес ПК и организовать двунаправленную сетевую связанность
С JWT безопасностью
На странице настроек NextCloud перейти в коннектор ONLYOFFICE:
Для того, чтобы подключить Сервер Документов Р7-Офис к Nextcloud Вам необходимо:
1. Открыть на стороне Р7-Офис Сервер файл /etc/r7-office/documentserver/local.json . Найдите значения "header" и "string" и запомните их;
2. На стороне Nextcloud откройте файл /var/www/html/nextcloud/config/config.php и добавьте следующий код в конфигурационный файл:
'onlyoffice' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
),
3. Сохраните и закройте файл;
4. В веб-интерфейсе Nextcloud откройте настройки коннектора ONLYOFFICE;
5. В адресе Сервера Документов пропишите доменное имя Вашего сервера Р7-Офис;
6. В поле secret введите значение "string" и нажмите на Сохранить.
В случае, если на одной из сторон используется самоподписанный сертификат, Вы можете отключить проверку сертификатов для Сервера Документов. Для этого, откройте конфигурационный файл /etc/r7-office/documentserver/default.json и замените значение в строке “rejectUnauthorized” на false. После этого, перезапустите сервисы Сервера Документов командой:
sudo supervisorctl restart all
7. Проверьте, что Nextcloud доверяет подключаемому Редактору документов. Для этого добавьте в файл ../nextcloud/config/config.php адрес Редактора в массив trusted_domains:
'trusted_domains' =>
array (
0 => 'dns имя nextcloud',
1 => 'dns имя сервера документов',
),
Примечание: В директории с приложением "onlyoffice" на стороне nextcloud по пути /nextcloud/apps/onlyoffice/3rdparty/jwt, в файле JWT.PHP есть параметр
public static $leeway = *;
Для исключения таймаута проверки соединения необходимо выставить от 60
После этого обновите страницу и повторите попытку подключения Редактора, нажав на странице коннектора Сохранить.
Без использования JWT
На странице настроек NextCloud перейти в коннектор ONLYOFFICE:
Для того, чтобы подключить Сервер Документов Р7-Офис к Nextcloud Вам необходимо:
1. Откройте на стороне Р7-Офис Сервер файл /etc/r7-office/documentserver/local.json и измените, как указано на примере:
"inbox": false,
"outbox": false
},
"browser": false
},
"inbox": {
"header": "Authorization"
},
"outbox": {
"header": "Authorization"
}
},
"secret": {
"inbox": {
"string": "secret"
},
"outbox": {
"string": "secret"
},
"session": {
"string": "secret"
},
2. На стороне Nextcloud откройте файл ../nextcloud/config/config.php и добавьте следующий код в конфигурационный файл:
'onlyoffice' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
),
Сохраните и закройте файл.
3. Выполнить пункты 4-7 из инструкции выше.
Примечание:
Так же могут помочь параметры в конфиге путь установки /nextcloud/config/config.php
Если при подключении выдает ошибку "Host violates local access rules", то добавьте:
'allow_local_remote_servers' => true,
'onlyoffice' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
'verify_peer_off' => true,
)
При подключении к Серверу совместной работы
В настройках коннектора указать:
Для Unix подобных:
При использовании NGINX для включения возможности использования интеграции необходимо на Сервере Совместной работы скорректировать значения в файле /etc/nginx/sites-available/r7-office.conf:
Необходимо добавить значение ds-vpath в секцию:
map $request_uri $header_x_frame_options {
~*^/(ds-vpath|favicon\.ico|products\/files\/share\.aspx|products\/files\/saveas\.aspx|products\/files\/filechoice\.aspx|products\/files\/doceditor\.aspx|thirdparty\/plugin) "";
default "SAMEORIGIN";
}
Сохранить файл конфигурации и перечитать конфигурацию NGINX:systemctl reload nginx
На стороне Nextcloud откройте файл /var/www/html/nextcloud/config/config.php и добавьте следующий код в конфигурационный файл:
'onlyoffice' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
),
Для Windows:
1. Открыть на стороне Р7-Офис Сервер файл C:\Program Files (x86)\R7-OFFICE\DocumentServer\config\local.json
2. На стороне Nextcloud откройте файл /var/www/html/nextcloud/config/config.php и добавьте следующий код в конфигурационный файл:
'onlyoffice' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
),
3. В адресе Сервера Документов пропишите доменное имя Вашего сервера Р7-Офис и добавьте
/ds-vpath/ (пример example.com/ds-vpath/ );
4. Сохраните параметры подключения.
Docker Nextcloud на Apache\Nginx
Полезные параметры для настройки при появлении уведомления “Host violates local access rules”:
docker ps -a - список всех контейнеров
docker exec --user www-data “id контейнера nextcloud” php occ config:system:set trusted_domains 2 --value=”указать ip\dns” (указывать порт при установке в соседний контейнер)
docker exec --user www-data “id контейнера nextcloud” php occ config:system:set allow_local_remote_servers --value true --type bool
docker exec --user www-data “id контейнера nextcloud” php occ config:system:set verify_peer_off --value true --type bool
Для включения защиты, путём валидации посредством JSON веб-токена, необходимо:
1. Подключиться к контейнеру Docker и отредактировать файл
/etc/r7-office/documentserver/local.json . Изменить значения false в секции "token" на true
"token": {
"enable": {
"request": {
"inbox": true,
"outbox": true
},
"browser": true
},
Укажите в файле значения:
JWT_SECRET: Определяет секретный ключ для валидации JSON веб-токена при запросе к Р7-Офис. Профессиональный. Сервер документов. По умолчанию задано значение secret.
JWT_HEADER: Определяет HTTP-заголовок, который будет использоваться для отправки JSON веб-токена. По умолчанию задано значение Authorization
"inbox": {
"header": "AuthorizationJwt"
},
"outbox": {
"header": "AuthorizationJwt"
}
},
"secret": {
"inbox": {
"string": "JWT_SECRET"
},
"outbox": {
"string": "JWT_SECRET"
},
"session": {
"string": "JWT_SECRET"
}
}
Сохраните и закройте файл. Для перезагрузки сервисов Сервера Документов, необходимо не отключаясь от контейнера Docker, выполнить команду:
supervisorctl restart all
2. В файле
/etc/r7-office/documentserver/local.json запомните значения "header" и "string";
3. Для Nginx версии:
docker exec -it “id контейнера nextcloud” /bin/sh
Для Apache версии:
docker exec -it “id контейнера nextcloud” bash
/var/www/html/nextcloud/config/config.php и добавьте следующий код в конфигурационный файл:
'onlyoffice' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
),
4. В настройках коннектора ONLYOFFICE нажать кнопку "Сохранить" для подключения.
В случае, если на одной из сторон используется самоподписанный сертификат, Вы можете отключить проверку сертификатов для Сервера Документов. Откройте конфигурационный файл /etc/r7-office/documentserver/default.json и замените значение в строке “rejectUnauthorized” на false
После этого, перезапустите сервисы Сервера Документов командой supervisorctl restart all
Комментарии
0 комментариев
Войдите в службу, чтобы оставить комментарий.