Краткое описание: Инструкция по установке Collabora Office, настройка с NextCloud. Онлайн: документы, диск, офис, excel, текстовый редактор, хранилище файлов. Действия совершаются в операционной системе: Ubuntu Server 18.04.2 совместно пакетом NextCloud: NextCloud 15.

Нужна консультация или помощь в решении IT вопроса?

Office онлайн

У NextCloud есть целый набор дополнительных приложений, которые хочется «пощупать» и внедрить в работу: задачи(Tasks), календарь(Calendar), долгожданный Talk. Но многие приложения вызывают недоверие. Причины разные: плохая синхронизация с android, отсутствуют некоторые важные моменты структурной работы(делегирования\наблюдение\утверждении задач), а также по причине стабильности(Talk может просто зависнуть). Collabora Office к таким приложениям не относится и неплохо дополняет читаемость файлов с открытым доступом.

Пример работы с Goolge диском

Онлайн сервис Google Disk применяется в различных направлениях и одно из самых популярных — совместный доступ к документам в режиме онлайн, т.е. Excel и Word онлайн. Это выглядит так:

Google Disk: пример электронной таблицы типа Excel(xls, xlsx)

Google Disk: пример документа типа Word(doc, docx)

а так выглядят документы в Collabora Office

NextCloud: пример электронной таблицы типа Excel(xls, xlsx)

NextCloud: пример документа типа Word(doc, docx)

Это некий симбиоз общего доступа к документу и онлайн программы типа Excel и Word.

Установка Collabora Office

Существует два варианта установки: на сервер с NextCloud и на отдельный сервер. Что это может дать? Collabora Office требовательный к системным ресурсам и для разной инфраструктуры отделение такой роли может быть выходом для общей отзывчивости при работе с документами. Первая установка производилась на отдельном сервере, чтобы не так сильно запутаться в связке внешний DNS—Mikrotik—Nginx-revers-proxy—NextCloud(apache)—CollaboraOffice. Везде присутствовала некая адресация, а ещё ведь нужно получить сертификат от LetsEncrypt на конечный узел. На практике это сложности даже не всплыли. Конфигурация внедрялась на одном сервере с NextCloud.

Стандартный сценарий установки Collabora Office

sudo apt update
sudo apt upgrate
sudo apt install docker.io
sudo systemctl enable docker
sudo mkdir /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/DeviceMapper.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --storage-driver=devicemapper -H fd://
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker pull collabora/code
sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloud\\.topnet\\.com\\.ua'\
 --restart always --cap-add MKNOD collabora/code

Создание первичной конфигурации для получения сертификата

sudo nano /etc/apache2/sites-available/doc.topnet.com.ua.conf
VirtualHost *:80
ServerName doc.topnet.com.ua
/VirtualHost
sudo a2ensite doc.topnet.com.ua.conf
sudo systemctl restart apache2

Получение сертификата SSL от Lets Encrypt

sudo certbot --apache -d doc.topnet.com.ua

Обновление конфигурации Virtual Host для Apache

sudo nano /etc/apache2/sites-available/doc.topnet.com.ua.conf

Прошлую конфигурацию нужно заменить на эту:

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerName doc.topnet.com.ua
  SSLCertificateFile /etc/letsencrypt/live/doc.topnet.com.ua/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/doc.topnet.com.ua/privkey.pem
  Include /etc/letsencrypt/options-ssl-apache.conf

  AllowEncodedSlashes NoDecode

  SSLProxyEngine On
  SSLProxyVerify None
  SSLProxyCheckPeerCN Off
  SSLProxyCheckPeerName Off

  ProxyPreserveHost On

  ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
  ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet

  ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
  ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery

  ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon

  ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

  ProxyPass /lool https://127.0.0.1:9980/lool
  ProxyPassReverse /lool https://127.0.0.1:9980/lool

</VirtualHost>
</IfModule>

После выпуск сертификата добавилась конфигурация для SSL в папку /etc/apache2/sites-enabled. Все лишние конфигурации могут вызывать конфликты!

sudo a2enmod proxy proxy_wstunnel proxy_http ssl
sudo systemctl restart apache2

Настройка Collabora Office и NextCloud

Завершающим этапом в установке Collabora Office это настройка NextCloud для работы с онлайн документами, для этого нужно выполнить действия:

Установить пакет Collabora Office в NextCloud

Установка Collabora Office в NextCloud

Указать сервер расположения с Collabora Office

Установка Collabora Office в NextCloud, Xlsx, Docx

Активный чек бокс изменит формат файлов по умолчанию c ods и odt(формат LibreOffice) на более распространённые xlsx и docx.

После этого момента можно создавать документы типа Excel и Word и предоставлять общий доступ с разными функциями(срок действия, возможность редактирования, доступ по группам).

Настройка Nginx и Collabora Office

Входящий трафик по протоколам http и https(порты 80 и 443) проходит через Nginx reverse proxy.

Схематически это выглядит так:

Настройка Nginx reverse proxy, схема сети

Со стороны Nginx нужно добавить конфигурацию:

nano /etc/nginx/sites-available/doc.topnet.conf
server {
listen 80;
server_name doc.topnet.com.ua;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name doc.topnet.com.ua;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_certificate /etc/nginx/ssl/doc.topnet.com.ua/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/doc.topnet.com.ua/privkey.pem;
location ^~ /loleaflet {
proxy_pass https://192.168.5.250;
proxy_set_header Host $http_host;
}
location ^~ /hosting/discovery {
proxy_pass https://192.168.5.250;
proxy_set_header Host $http_host;
}
location ^~ /lool {
proxy_pass https://192.168.5.250;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
}

SSL сертификат скопировать в /etc/nginx/ssl/doc.topnet.com.ua/ с сервера, на котором запущен Collabora Office.

Нужен Excel онлайн? Wellcome to Collabora Office

Если у вас есть профессиональный интерес в расширении данной статьи — заполните форму запроса.