Есть несколько режимов открытия файла:
Editing — режим на одного человека, текущие изменения видит только человек его открывший. Можно открыть один документ на нескольких вкладках.
При нажатии Сохранить — файл обновляется в Totum.
Если у кого-то был паралельно открыт этот файл, то ему будет показано сообщение, что Соединение с файлом потеряно и он не сможет сохранить свою версию сразу на сервер — только сохранить локально и потом перезаписать в поле файл.
Если нажать Сохранить и закрыть то файл Сохраниться и закроются все окна с этим файлом открытые у пользователя.
Shared editing — несколько человек могут редактировать один файл одновременно.
При нажатии Сохранить файл обновиться в Totum. Сохранить можно в любой момент, у всех открывших в shared-режиме изменения синхронизированы
Если у кого-то был открыть этот файл в режиме Editing, то ему будет показано сообщение, что Соединение с файлом потеряно и он не сможет сохранить свою версию сразу на сервер — только сохранить локально и потом перезаписать в поле файл.
View — только просмотр.
Если открыть поле на редактирование и нажать на значок OF — то это режим Editing!
после сохранения в OF надо еще сохранить поле.
всех, кто паралельно редактировал этот файл, вышебет с ошибкой Связь с файлом потеряна!
После сохранения в OF надо еще сохранить поле!
При вызове OO из контекстной панели по правой кнопке мыши — открывается последняя версия.
Если это версия принадлежит открывающему ее пользователю — то при наличии таймера перезаписи будет предложено создать новую версию или перезаписать.
Если это чужая версия, то будет создана новая версия.
Файл может быть открыт в Шаред режиме, но сохранение с перезаписью будет доступно только владельцу версии!
Регистрируем сервер и адресуем домен.
Внимание: эта инструкция написана для установки на отдельный от основного Totum сервер! Выполнение ее на сервере Totum приведет к неработоспособности установленного Totum!
Ссылки на документацию OO:
docs-community-install-ubuntu ⟹
Обновляем apt
:
apt update
Устанавливаем postgreSQL
:
apt -y install postgresql
Запускаем консоль БД (придумайте пароль вместо typepasshere
и запишите его, он потребуется дальше):
sudo -u postgres psql
CREATE USER onlyoffice WITH ENCRYPTED PASSWORD 'typepasshere';
CREATE DATABASE onlyoffice;
GRANT ALL PRIVILEGES ON DATABASE onlyoffice TO onlyoffice;
\q
Устанавливаем nginx
:
apt -y install nginx nginx-extras
Устанавливаем rabbitmq-server
:
apt -y install rabbitmq-server
Добавьте GPG-ключ:
mkdir -p -m 700 ~/.gnupg
curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE | gpg --no-default-keyring --keyring gnupg-ring:/tmp/onlyoffice.gpg --import
chmod 644 /tmp/onlyoffice.gpg
sudo chown root:root /tmp/onlyoffice.gpg
sudo mv /tmp/onlyoffice.gpg /usr/share/keyrings/onlyoffice.gpg
Добавляем репозиторий ONLYOFFICE Docs:
echo "deb [signed-by=/usr/share/keyrings/onlyoffice.gpg] https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list
Обновляем apt
:
apt update
Установите mscorefonts
:
apt -y install ttf-mscorefonts-installer
Надо два раза ответить yes
.
Устанавливаем ONLYOFFICE Docs:
apt -y install onlyoffice-documentserver
Здесь обязательно надо ввести пароль для БД (при вставке, он не отображается в окошке)
Разрешаем порты в iptables:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
apt install iptables-persistent
Подключаем https
. Надо заменить EMAIL
и HOST
(хост указывается без протокола):
apt -y install certbot
bash /usr/bin/documentserver-letsencrypt.sh EMAIL HOST
Далее можно открыть по пути https://HOST
— должна отображаться приветственная страница OODS.
Смотрим сгенерированную конфигурацию и копируем из нее токен. Смотрите пример ниже — найдите его на месте HERE_WILL_BE_YOUR_TOKEN
:
nano /etc/onlyoffice/documentserver/local.json
{
"services": {
"CoAuthoring": {
"sql": {
"type": "postgres",
"dbHost": "localhost",
"dbPort": "5432",
"dbName": "onlyoffice",
"dbUser": "onlyoffice",
"dbPass": "HERE_WILL_BE_YOUR_DB_PASS"
},
"token": {
"enable": {
"request": {
"inbox": true,
"outbox": true
},
"browser": true
},
"inbox": {
"header": "Authorization"
},
"outbox": {
"header": "Authorization"
}
},
"secret": {
"inbox": {
"string": "HERE_WILL_BE_YOUR_TOKEN"
},
"outbox": {
"string": "HERE_WILL_BE_YOUR_TOKEN"
},
"session": {
"string": "HERE_WILL_BE_YOUR_TOKEN"
}
}
}
},
"rabbitmq": {
"url": "amqp://guest:guest@localhost"
},
"storage": {
"fs": {
"secretString": "HERE_SOME_KEY_FROM_RABBIT_MQ"
}
}
}
В Totum в таблице settings
- h_pro_olny_office
надо указать массив такого вида:
{
"ip": "API_OO_SERVER",
"host": "https://o-office.your-host.com",
"token": "WlwedfI4hsy3Sd6eEFKgrds5du7VsLN"
}
ip — необязательный параметр. Если указан, то Totum будет проверять ip для входящих запросов, поступающих на входящий коннектор. Указание снижает вероятность атаки на него. Если не указан, то должен быть полностью удален.
host — хост OO сервера вместе с протоколом.
token — токен, полученный на шаге установки.