Настройка сервера Collabora Online Development Edition для плагина Collaborative document

Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Dmitry Luschan -
Количество ответов: 10
Добрый день. Столкнулся с проблемой при настройке сервера Collabora Online Development Edition для использования с Moodle (с помощью плагина Collaborative document).

На сколько я понимаю, на сервере не создаются документы, либо что-то не так в общении клиента (основной сайт с Moodle) и сервера (на котором развёрнут Collabora Online Development Edition).
Collabora Online Development Edition установлен без Docker'а на VPS с Debian 10 (согласно инструкции https://www.collaboraoffice.com/code/linux-packages/).

Много вопросов возникло с файлом настроек /etc/loolwsd/loolwsd.xml. В итоге заполнил в нём следующие поля:
allowed_languages (для оптимизации)
server_name
file_server_root_path (/usr/share/loolwsd)
net.post_allow.host (добавил строку с хостом, на котором работает moodle)
ssl.cert_file_path, ssl.key_file_path и ssl.ca_file_path
storage.filesystem allow="true"
storage.wopi.host (добавил строку с хостом, на котором работает moodle)
storage.ssl.enable (явно включил)
storage.ssl.cert_file_path, storage.ssl.key_file_path и storage.ssl.ca_file_path
admin_console.username и admin_console.password (включил адимнскую консоль)

Настройка прокси в Nginx была выполнена с помощью первого примера из https://www.collaboraoffice.com/code/nginx-reverse-proxy/.
Сертификаты от Let’s Encrypt (получены с помощью бота certbot --nginx).

По запросу https://сервер.с.collabora:9980 показывает "OK".

В плагине Moodle прописываю этот же адрес https://сервер.с.collabora:9980.

На время тестирования, разрешаю на стороне сервера Moodle все входящие соединения (iptables -P INPUT ACCEPT).

Обнаружил, что у php скриптов плагина после установки не было прав на выполнение. Исправил с помощью:
sudo chown -R root /var/www/html/moodle
sudo chmod -R 0755 /var/www/html/moodle

При создании активности "Collaborative document" в Moodle вижу сообщение "Failed to read document from storage. Please contact your storage server (сервер) administrator.". На сервере Collabora ошибки (journalctl -u loolwsd):

Apr 16 12:44:31 code.roins.ru loolwsd[23879]: wsd-23879-24061 2021-04-16 09:44:31.050255 [ docbroker_001 ] ERR  Cannot get file info from WOPI storage uri [https://roins.ru/mod/collabora/callback.php/wopi/files/211_0?access_token=708fa73e0150&access_token_ttl=0]. Error: Net Exception: No route to host| wsd/Storage.cpp:647

Apr 16 12:44:31 code.roins.ru loolwsd[23879]: wsd-23879-24061 2021-04-16 09:44:31.050363 [ docbroker_001 ] ERR  loading document exception: Net Exception| wsd/DocumentBroker.cpp:1445

Apr 16 12:44:31 code.roins.ru loolwsd[23879]: wsd-23879-24061 2021-04-16 09:44:31.050380 [ docbroker_001 ] ERR  Failed to add session to [/mod/collabora/callback.php/wopi/files/211_0] with URI [https://roins.ru/mod/collabora/callback.php/wopi/files/211_0?access_token=708fa73e0150&access_token_ttl=0]: Net Exception| wsd/DocumentBroker.cpp:1407

Apr 16 12:44:31 code.roins.ru loolwsd[23879]: wsd-23879-24061 2021-04-16 09:44:31.050406 [ docbroker_001 ] ERR  Error while loading : Net Exception| wsd/LOOLWSD.cpp:3446

Apr 16 12:44:31 code.roins.ru loolwsd[23879]: wsd-23879-24061 2021-04-16 09:44:31.050512 [ docbroker_001 ] ERR  No DocBroker found, or DocBroker marked to be destroyed. Terminating session ToClient-003| wsd/ClientSession.cpp:332

Apr 16 12:44:31 code.roins.ru loolwsd[23879]: wsd-23879-24061 2021-04-16 09:44:31.050522 [ docbroker_001 ] ERR  No DocBroker found, or DocBroker marked to be destroyed. Terminating session ToClient-003| wsd/ClientSession.cpp:332

Apr 16 12:44:31 code.roins.ru loolwsd[23879]: wsd-23879-24061 2021-04-16 09:44:31.059783 [ docbroker_001 ] ERR  Invalid or unknown session [003] to remove.| wsd/DocumentBroker.cpp:1484

Apr 16 12:44:33 code.roins.ru loolwsd[23879]: wsd-23879-23884 2021-04-16 09:44:33.053517 [ prisoner_poll ] WRN  Prisoner connection disconnected but without valid socket.| wsd/LOOLWSD.cpp:2111

Создаётся впечатление, что я просмотрел или не до понял что-то фундаментальное в настройке этой системы. Буду рад любой помощи.

В ответ на Dmitry Luschan

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Yevgenii Losonogov -
Здравствуйте, Dmitry.
Чтобы ответить на ваш вопрос необходимы следующие данные:
1. Системная конфигурация Debian 10? - необходимы данные LAMP;
2. Версия LMS Moodle?

Предварительно.
"Moodle вижу сообщение "Failed to read document from storage." - указывает на ошибку доступа к файлам.

В предоставленных вами данных, я не вижу директории moodledata?
Вы создавали директорию moodledata? или пропустили этот шаг?
Если пропусти, выполните последовательно команды на сервере с debian 10:
cd /var/www
chown -R www-data:www-data moodledata
chmod -R 755 moodledata
В ответ на Yevgenii Losonogov

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Dmitry Luschan -
1. Данные LAMP: debian 10.9, nginx 1.14, postgres 11, php 7.3 + куча модулей для php.
2. Moodle 3.10.3+ (Build: 20210330)
Директория moodledata есть.
Но я не до конца понимаю, где вообще должны храниться эти документы, которые будут доступны в Moodle из плагина "Collaborative document", на хосте, на котором работает moodle, или на хосте, который обслуживает Collabora Online Development Edition?
В ответ на Dmitry Luschan

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Yevgenii Losonogov -
"Но я не до конца понимаю, где вообще должны храниться эти документы" - на отдельном сервере обслуживающий сервис "Collabora Online Server" с уникальным доменным именем, который необходимо внести в поле "Collabora URL" в административном разделе настройки плагина.

В вашем случае указан адрес https://сервер.с.collabora:9980 - надеюсь это был образец формата) ?
В ответ на Yevgenii Losonogov

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Dmitry Luschan -
Да, в плагине прописан адрес сервера с CODE.
"на отдельном сервере" - хорошо.
Вот его конфигурационный файл loolwsd:
В ответ на Yevgenii Losonogov

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Dmitry Luschan -
Вот кофигурационный файл nginx:
Файлы сертификатов в этих двух службах (nginx и loolwsd) используются одинаковые, скопировал их для loolwsd в его директорию.
В ответ на Yevgenii Losonogov

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Dmitry Luschan -
Админская консоль по адресу https://code.roins.ru/loleaflet/dist/admin/adminLog.html работает. Если не указывать плагину специальный порт 9980 (стираю его в настройках плагина, и, как я понимаю, он использует стандартный 443 для https), появляется та же ошибка.
Больше нет идей, что проверить и изменить.
В ответ на Dmitry Luschan

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Yevgenii Losonogov -
В глобальной сети домен https://code.roins.ru ( https://code.roins.ru/loleaflet/dist/admin/adminLog.html) - не доступен! В том числе через 443 или 9980 порт.
Следовательно, плагин "Collaborative document" в LMS Moodle не может к нему подключиться.
В ответ на Yevgenii Losonogov

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Dmitry Luschan -
К сожалению, пока не пользовался сервером, его выключил провайдер. Сервер теперь работает. Старая проблема с чтением/созданием документов присутствует.
В ответ на Dmitry Luschan

Re: Настройка сервера Collabora Online Development Edition для плагина Collaborative document

от Dmitry Luschan -
Всё ещё буду рад любой помощи в запуске сервера CODE вместе с Moodle.
Если кто-нибудь настраивает Collabora Online Development Edition по-другому, и знает как заставить его работать, прошу помочь.