Обязательные условия интеграции:

  1. Установить плагин Р7 из маркета
  2. Выполнить синхронизацию времени с ntp сервером (любым) на серверах Owncloud и Р7-Сервер
    apt install ntpdate \ yum install ntpdate
    ntpdate 1.ro.pool.ntp.org (как пример)
  3. В /etc/hosts прописать dns\ip адрес ПК и организовать двунаправленную сетевую связанность
    Указать командой осс доверительный домен на сервере Owncloud:

    occ config:system:set trusted_domains 2 --value="ip/dns имя"

Настройка интеграции

Перейти в настройки и коннекторе Р7 указать адрес Сервера документов:

 

С JWT безопасностью

1. Открыть на стороне Р7-Офис Сервер файл /etc/r7-office/documentserver/local.json и привести значения для inbox, outbox, browser к true. Найдите значения «header» и «string» и запомните их;

Пример конфигурации:

"inbox": true,
"outbox": true
},
"browser": true
},
"inbox": {
"header": "AuthorizationJwt"
},
"outbox": {
"header": "AuthorizationJwt"
}
},
"secret": {
"inbox": {
"string": "Y0dGemMzZHZjbVE9"
},
"outbox": {
"string": "Y0dGemMzZHZjbVE9"
},
"session": {
"string": "Y0dGemMzZHZjbVE9"
},

2. На стороне Owncloud откройте файл /var/www/owncloud/config/config.php и добавьте следующий код в конфигурационный файл:

'P7' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
),

3. Сохраните и закройте файл;
4. В веб-интерфейсе Owncloud откройте настройки коннектора Р7;
5. В адресе Сервера Документов пропишите ip адрес/доменное имя Вашего сервера Р7-Офис;
6. В поле secret введите значение «string» и нажмите на Сохранить.
В случае, если на одной из сторон используется самоподписанный сертификат, Вы можете отключить проверку сертификатов для Сервера Документов. Для этого, откройте конфигурационный файл /etc/r7-office/documentserver/default.json и замените значение в строке “rejectUnauthorized” на false. После этого, перезапустите сервисы Сервера Документов командой:

sudo supervisorctl restart all

7. Проверьте, что Owncloud доверяет подключаемому Редактору документов. Для этого добавьте в файл /var/www/owncloud/config/config.php адрес Редактора в массив trusted_domains:

'trusted_domains' => 
array (
0 => 'ip адрес/dns имя сервера Owncloud',
1 => 'ip адрес/dns имя сервера документов',
),

После этого обновите страницу и повторите попытку подключения Редактора, нажав на странице коннектора Сохранить

 

Без использования JWT

1. Открыть на стороне Р7-Офис Сервер файл /etc/r7-office/documentserver/local.json и привести значения для inbox, outbox, browser к true. Найдите значения «header» и «string» и запомните их;

"inbox": false,
"outbox": false
},
"browser": false
},
"inbox": {
"header": "Authorization"
},
"outbox": {
"header": "Authorization"
}
},
"secret": {
"inbox": {
"string": "secret"
},
"outbox": {
"string": "secret"
},
"session": {
"string": "secret"
},

2. Сохранить и закрыть файл;
3. В веб-интерфейсе Owncloud открыть настройки коннектора Р7;
4. В адресе Сервера Документов прописать ip адрес/доменное имя Вашего сервера Р7-Офис;
5. Поле secret оставить пустым и нажать на Сохранить.
В случае, если на одной из сторон используется самоподписанный сертификат, Вы можете отключить проверку сертификатов для Сервера Документов. Для этого, откройте конфигурационный файл /etc/r7-office/documentserver/default.json и замените значение в строке “rejectUnauthorized” на false. После этого, перезапустите сервисы Сервера Документов командой:

sudo supervisorctl restart all
Важно

При использовании сервера документов версии 7.3.3 и выше:
sudo systemctl restart ds-docservice.service ds-converter.service ds-metrics.service

6. Проверьте, что Owncloud доверяет подключаемому Редактору документов. Для этого добавьте в файл /var/www/owncloud/config/config.php адрес Редактора в массив trusted_domains:

'trusted_domains' => 
array (
0 => 'ip адрес/dns имя сервера Owncloud',
1 => 'ip адрес/dns имя сервера документов',
),

После этого обновите страницу и повторите попытку подключения Редактора, нажав на странице коннектора Сохранить

 

При подключении к Серверу совместной работы

В настройках коннектора указать:

Для 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

На стороне Owncloud откройте файл /var/www/owncloud/config/config.php и добавьте следующий код в конфигурационный файл:

'P7' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
),

Для Windows:

1. Открыть на стороне Р7-Офис Сервер файл C:\Program Files (x86)\R7-OFFICE\DocumentServer\config\local.json

2. На стороне Owncloud откройте файл /var/www/owncloud/config/config.php и добавьте следующий код в конфигурационный файл:

'P7' =>
array (
'jwt_secret' => 'значение string',
'jwt_header' => 'значение header',
),

3. В адресе Сервера Документов пропишите доменное имя Вашего сервера Р7-Офис и добавьте

/ds-vpath/ (пример example.com/ds-vpath/ );

4. Сохраните параметры подключения.

Docker Owncloud

Для включения защиты, путём валидации посредством 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
Важно

При использовании сервера документов версии 7.3.3 и выше:
sudo systemctl restart ds-docservice.service ds-converter.service ds-metrics.service

2. В файле

/etc/r7-office/documentserver/local.json запомните значения «header» и «string»;

3. Выполните вход в контейнер:

docker exec -it “id контейнера owncloud” bash

/var/www/html/owncloud/config/config.php и добавьте следующий код в конфигурационный файл:

  'P7' =>
  array (
    'jwt_secret' => 'значение string',
    'jwt_header' => 'значение header',
  ),

4. В настройках коннектора Р7 нажать кнопку «Сохранить» для подключения.

В случае, если на одной из сторон используется самоподписанный сертификат, Вы можете отключить проверку сертификатов для Сервера Документов. Откройте конфигурационный файл /etc/r7-office/documentserver/default.json и замените значение в строке “rejectUnauthorized” на false
После этого, перезапустите сервисы Сервера Документов командой supervisorctl restart all