Ранее мы рассматривали установку облачного хранилища Nextcloud. В продолжение этой статьи рассмотрим, как установить онлайн-сервер Collabora на Ubuntu с помощью Docker и интегрировать его с настроенным сервером Nextcloud.

Collabora Online – это автономный офисный сервер на основе LibreOffice . Его особенности включают:

  • Базовое редактирование
  • Высокая точность, WYSIWYG-рендеринг
  • Поддерживает формат документов DOC, DOCX, PPT, PPTX, XLS, XLSX, ODF
  • Импорт и просмотр Visio, Publisher и еще более 100 форматов
  • Совместное редактирование

Основой онлайн-офиса является сервер Collabora Online, который берет на себя визуализацию и редактирование документа. Будем запускать этот сервер  из Docker-контейнера, который содержит все необходимое для работы.

Подготовка

Для начала установим Docker

sudo apt update
sudo apt install docker.io

После установки демон Docker должен запуститься автоматически. Вы можете проверить его статус с помощью:

systemctl status docker

Если он не запущен, запустите демон с помощью этой команды:

sudo systemctl start docker

И включите автозапуск при загрузке:

sudo systemctl enable docker

Установим и запустим Collabora Online Server с Docker

docker run -t -d -p 9980:9980 -e "domain=cloud.admin812.ru"  --restart always --cap-add MKNOD collabora/code

Проверим, что контейнер запущен

sudo netstat -lnpt | grep docker

Настроим nginx как обратный прокси

Так как  контейнер Docker, который мы используем в качестве сервера Collabora Online, не имеет действительных сертификатов для вашего домена, мы  будем использовать nginx в качестве обратного прокси-сервера, который предоставит сертификат ssl для подключения нашего браузера.

nano /etc/nginx/sites-available/nextcloud

Добавим в в конфигурацию nginx в секцию server

.............................................................
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name cloud.admin812.ru;
#
# Use Mozilla's guidelines for SSL/TLS settings
# https://mozilla.github.io/server-side-tls/ssl-config-generator/
# NOTE: some settings below might be redundant
ssl_certificate /etc/letsencrypt/live/cloud.admin812.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cloud.admin812.ru/privkey.pem;

.......................................................

следующий блок:


# static files
location ^~ /loleaflet {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}

# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}

# main websocket
location ~ ^/lool/(.*)/ws$ {
proxy_pass https://localhost:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}

# Capabilities
location ^~ /hosting/capabilities {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}
# download, presentation and image upload
location ~ ^/lool {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}

# Admin Console websocket
location ^~ /lool/adminws {
proxy_pass https://localhost:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}

Проверяем на ошибки nginx:

nginx -t

и если все в порядке – перегружаем

systemstl restart nginx

Теперь подключаемся к  нашему серверу Nextcloud через браузер.

Проверяем, что  присутствует компонента Collabora Online. Если ее нет – устанавливаем.

Следующим шагом подключаем Collabora к Nextcloud.

Проверяем.

Все работает!

Установка Collabora Online на сервер Nextcloud с помощью Docker
Метки:            

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *