SCROLL
Среднее время на прочтение: 3 мин.

Проблема с Moodle + ONLYOFFICE Docs

В продуктиве крутится Moodle 4.5+ (Build: 20241018), решил к нему добавить возможность использовать ONLYOFFICE Docs (8.2.1-38), но не все завелось сразу, пришлось повозится чтобы заставить работать.

Для использования ONLYOFFICE Docs в Moodle использую следующий плагин — https://moodle.org/plugins/mod_onlyofficeeditor

JUQwJTlEJUQwJUIwJTIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI4JUQxJTg2JUQwJUI1JTIwJUQwJUJGJUQwJUJCJUQwJUIwJUQwJUIzJUQwJUI4JUQwJUJEJUQwJUIwJTIwJUQxJTgzJUQwJUJBJUQwJUIwJUQwJUI3JUQwJUIwJUQwJUJEJUQwJUJFJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQxJTgxJUQxJTgyJUQwJUIwJUQxJTgwJUQxJTg4JUQwJUIwJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUI0JUQwJUI1JUQxJTgwJUQwJUI2JUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJUQwJUIwJUQxJThGJTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQxJThGJTIwTW9vZGxlJTIwNC41JTJDJTIwJUQwJUIwJTIwJUQxJTgzJTIwJUQwJUJDJUQwJUI1JUQwJUJEJUQxJThGJTIwNC41JTJCJTJDJTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJFJUQxJThGJUQxJTgyJUQwJUJEJUQwJUJFJTIwJUQwJUI4JUQwJUI3JTIwJUQwJUI3JUQwJUIwJTIwJUQxJThEJUQxJTgyJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUIyJTIwJUQwJUJBJUQwJUJFJUQwJUI0JUQwJUI1JTIwJUQwJUJGJUQwJUJCJUQwJUIwJUQwJUIzJUQwJUI4JUQwJUJEJUQwJUIwJTIwJUQwJUI1JUQxJTgxJUQxJTgyJUQxJThDJTIwJUQwJUJEJUQwJUI1JUQwJUJBJUQwJUJFJUQxJTgyJUQwJUJFJUQxJTgwJUQxJThCJUQwJUI1JTIwJUQwJUJEJUQxJThFJUQwJUIwJUQwJUJEJUQxJTgxJUQxJThCJTJDJTIwJUQwJUJBJUQwJUJFJUQxJTgyJUQwJUJFJUQxJTgwJUQxJThCJUQwJUI1JTIwJUQwJUJDJUQxJThCJTIwJUQwJUJEJUQwJUI4JUQwJUI2JUQwJUI1JTIwJUQwJUJGJUQwJUJFJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI4JUQwJUJDLiUyMCVEMCVBMSVEMCVCMCVEMCVCQyUyMCVEMCVCRiVEMCVCQiVEMCVCMCVEMCVCMyVEMCVCOCVEMCVCRCUyMCVEMSU4MyVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCRCVEMCVCMCVEMCVCMiVEMCVCQiVEMCVCOCVEMCVCMiVEMCVCMCVEMCVCNSVEMSU4MiVEMSU4MSVEMSU4RiUyMCVEMSU4OCVEMSU4MiVEMCVCMCVEMSU4MiVEMCVCRCVEMCVCRSUyQyUyMCVEMCVCMSVEMCVCNSVEMCVCNyUyMCVEMCVCRSVEMSU4OCVEMCVCOCVEMCVCMSVEMCVCRSVEMCVCQSUyQyUyMCVEMCVCRCVEMCVCMCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCRSVEMCVCOSVEMCVCQSVEMCVCMCUyMCVEMSU4MiVEMCVCRSVEMCVCNiVEMCVCNSUyMCVEMSU4MiVEMSU4MCVEMCVCOCVEMCVCMiVEMCVCOCVEMCVCMCVEMCVCQiVEMSU4QyVEMCVCRCVEMCVCMCVEMSU4Ri4=

Но при попытке открыть документ на странице выдает следующую ошибку:

JUQwJUExJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUI1JUQxJTgwJTIwJUQwJUI0JUQwJUJFJUQwJUJBJUQxJTgzJUQwJUJDJUQwJUI1JUQwJUJEJUQxJTgyJUQwJUJFJUQwJUIyJTIwT05MWU9GRklDRSUyMCVEMCVCRCVEMCVCNSVEMCVCNCVEMCVCRSVEMSU4MSVEMSU4MiVEMSU4MyVEMCVCRiVEMCVCNSVEMCVCRC4lMjAlRDAlOUYlRDAlQkUlRDAlQjYlRDAlQjAlRDAlQkIlRDElODMlRDAlQjklRDElODElRDElODIlRDAlQjAlMkMlMjAlRDElODElRDAlQjIlRDElOEYlRDAlQjYlRDAlQjglRDElODIlRDAlQjUlRDElODElRDElOEMlMjAlRDElODElMjAlRDAlQjAlRDAlQjQlRDAlQkMlRDAlQjglRDAlQkQlRDAlQjglRDElODElRDElODIlRDElODAlRDAlQjAlRDElODIlRDAlQkUlRDElODAlRDAlQkUlRDAlQkMu

JUQwJTk1JUQxJTgxJUQwJUJCJUQwJUI4JTIwJUQwJUIyJUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJTlFJUQwJUEyJUQwJTlCJUQwJTkwJUQwJTk0JUQwJTlBJUQwJUEzJTIwKCVEMCU5MCVEMCVCNCVEMCVCQyVEMCVCOCVEMCVCRCVEMCVCOCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCOCVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMC0lM0UlMjAlRDAlQTAlRDAlQjAlRDAlQjclRDElODAlRDAlQjAlRDAlQjElRDAlQkUlRDElODIlRDAlQkElRDAlQjAlMjAtJTNFJTIwJUQwJTlFJUQxJTgyJUQwJUJCJUQwJUIwJUQwJUI0JUQwJUJBJUQwJUIwKSUyQyUyMCVEMSU4MiVEMCVCRSUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCRCVEMCVCRSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMCVCNSVEMSU4MiUyMCVEMCVCMiVEMCVCOCVEMCVCNCVEMCVCNSVEMSU4MiVEMSU4QyUyMCVEMSU4MSVEMCVCRSVEMCVCRSVEMCVCMSVEMSU4OSVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCMiVEMCVCOCVEMCVCNCVEMCVCMCUzQQ==

Notice: curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used instead in /var/www/moodle/moodle/lib/filelib.php on line 3564

Проанализировав файл /var/www/moodle/moodle/lib/filelib.php стало понятно что там все в порядке, а проблема кроется в коде файлов плагина:

  • /var/www/moodle/moodle/mod/onlyofficeeditor/classes/util.php
  • /var/www/moodle/moodle/mod/onlyofficeeditor/view.php

Находим в файле /var/www/moodle/moodle/mod/onlyofficeeditor/classes/util.php описание функции — public static function get_connection_info($url) и заменяем ее следующим кодом:

/var/www/moodle/moodle/mod/onlyofficeeditor/classes/util.php
public static function get_connection_info($url) {
    $ch = new \curl();
    $disableverifyssl = get_config('onlyofficeeditor', 'disable_verify_ssl') == 0;

JTIwJTIwJTIwJTIwJTI0Y2gtJTNFc2V0b3B0KCU1QidDVVJMT1BUX1NTTF9WRVJJRllQRUVSJyUyMCUzRCUzRSUyMCUyNGRpc2FibGV2ZXJpZnlzc2wlNUQpJTNC

JTIwJTIwJTIwJTIwaWYlMjAoJTI0ZGlzYWJsZXZlcmlmeXNzbCklMjAlN0I=
        $ch->setopt(['CURLOPT_SSL_VERIFYHOST' => 2]);
JTIwJTIwJTIwJTIwJTdEJTIwZWxzZSUyMCU3Qg==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTI0Y2gtJTNFc2V0b3B0KCU1QidDVVJMT1BUX1NTTF9WRVJJRllIT1NUJyUyMCUzRCUzRSUyMDAlNUQpJTNC
JTIwJTIwJTIwJTIwJTdE

JTIwJTIwJTIwJTIwJTI0Y2gtJTNFZ2V0KCUyNHVybCklM0I=
    $info = $ch->get_info();
    
    return $info;
}

JUQwJTk0JUQwJUIwJUQwJUJCJUQwJUI1JUQwJUI1JTIwJUQwJUIyJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUI1JTIwJTJGdmFyJTJGd3d3JTJGbW9vZGxlJTJGbW9vZGxlJTJGbW9kJTJGb25seW9mZmljZWVkaXRvciUyRnZpZXcucGhwJTIwJUQwJUJEJUQwJUIwJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQxJTgxJUQwJUI1JUQwJUJBJUQxJTg2JUQwJUI4JUQxJThFJTIwJUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwJTNB

/var/www/moodle/moodle/mod/onlyofficeeditor/view.php
aWYlMjAoIWlzc2V0KCUyNGRvY3VtZW50c2VydmVydXJsKSUyMCU3QyU3Qw==
        empty($documentserverurl) ||
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTI0aHR0cGNvZGUlMjAhJTNEJTIwMjAwKSUyMCU3Qg==
    echo $OUTPUT->notification(get_string('docserverunreachable', 'onlyofficeeditor'), 'error');
} else {

и приводи ее к виду:

/var/www/moodle/moodle/mod/onlyofficeeditor/view.php
if (!isset($documentserverurl) ||
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW1wdHkoJTI0ZG9jdW1lbnRzZXJ2ZXJ1cmwpKSUyMCU3Qg==
JTIwJTIwJTIwJTIwZWNobyUyMCUyNE9VVFBVVC0lM0Vub3RpZmljYXRpb24oZ2V0X3N0cmluZygnZG9jc2VydmVydW5yZWFjaGFibGUnJTJDJTIwJ29ubHlvZmZpY2VlZGl0b3InKSUyQyUyMCdlcnJvcicpJTNC
JTdEJTIwZWxzZSUyMCU3Qg==

JUQwJUEyLiVEMCVCNS4lMjAlRDAlQjIlMjAlRDAlQkYlRDAlQjUlRDElODAlRDAlQjIlRDAlQkUlRDAlQkMlMjAlRDElODQlRDAlQjAlRDAlQjklRDAlQkIlRDAlQjUlMjAlRDAlQkMlRDElOEIlMjAlRDAlQjIlRDAlQkQlRDAlQjUlRDElODElRDAlQkIlRDAlQjglMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQkElRDAlQjglMjAlRDAlQjMlRDAlQjQlRDAlQjUlMjAlRDElODMlRDAlQkElRDAlQjAlRDAlQjclRDAlQjAlRDAlQkIlRDAlQjglMjAlRDElODIlRDAlQjglRDAlQkYlRDAlQjglRDAlQjclRDAlQjAlRDElODYlRDAlQjglRDElOEUlMjBDVVJMT1BUX1NTTF9WRVJJRllIT1NUJTIwJUQwJUIyJTIwJUQxJTgxJUQwJUJFJUQwJUJFJUQxJTgyJUQwJUIyJUQwJUI1JUQxJTgyJUQxJTgxJUQxJTgyJUQwJUIyJUQwJUI4JUQwJUI4JTIwJUQxJTgxJTIwJUQxJTgyJUQxJTgwJUQwJUI1JUQwJUIxJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQxJThGJUQwJUJDJUQwJUI4JTJDJTIwJUQwJUIwJTIwJUQwJUIyJUQwJUJFJTIwJUQwJUIyJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUJFJUQwJUJDJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUI1JTIwJUQwJUJDJUQxJThCJTIwJUQxJTgzJUQwJUIxJUQxJTgwJUQwJUIwJUQwJUJCJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJBJUQxJTgzJTIwJTI0aHR0cGNvZGUlMjAhJTNEJTIwMjAwJTJDJTIwJUQwJUJBJUQwJUJFJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUIwJUQxJThGJTIwJUQwJUJCJUQwJUI4JUQxJTg3JUQwJUJEJUQwJUJFJTIwJUQwJUIyJTIwJUQwJUJDJUQwJUJFJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQxJTg3JUQwJUIwJUQwJUI1JTIwJUQwJUIyJUQwJUJFJUQwJUI3JUQwJUIyJUQxJTgwJUQwJUIwJUQxJTg5JUQwJUIwJUQwJUJCJUQwJUIwJTIwNDA0JTIwJUQwJUJGJUQxJTgwJUQwJUI4JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgwJUQwJUJFJUQxJTgxJUQwJUI1JTIwJUQwJUJGJUQxJTgwJUQxJThGJUQwJUJDJUQwJUJFJUQwJUIzJUQwJUJFJTIwdXJsJTIwJUQxJTg3JUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JTIwJUQxJTg0JUQxJTgzJUQwJUJEJUQwJUJBJUQxJTg2JUQwJUI4JUQxJThFJTIwZ2V0X2Nvbm5lY3Rpb25faW5mbyUyQyUyMCVEMCVCRiVEMSU4MCVEMCVCOCUyMCVEMSU4RCVEMSU4MiVEMCVCRSVEMCVCQyUyMCVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCUyME9OTFlPRkZJQ0UlMjAlRDElODAlRDAlQjAlRDAlQjElRDAlQkUlRDElODIlRDAlQjAlRDAlQjUlRDElODIlMjAlRDElODglRDElODIlRDAlQjAlRDElODIlRDAlQkQlRDAlQkUu

Дополнительно

В случае если после проделанных выше операций вы по-прежнему видите ошибку — Сервер документов ONLYOFFICE недоступен. Пожалуйста, свяжитесь с администратором. При это в логах Moodle (Администрирование -> Отчеты -> События в реальном времени) наблюдается ошибка — The URL was blocked Blocked onlyoffice.*.com: The URL is blocked.

То необходимо в Администрирование -> Безопасность -> Безопасность HTTP в секции Список заблокированных хостов cURL удалить подсеть где у вас находится сервер ONLYOFFICE Docs

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

0 комментариев

Нет комментариев.