Введение
Сервер документов — это офисный пакет для работы онлайн, который включает в себя просмотрщики и редакторы текстовых документов, электронных таблиц и презентаций, полностью совместимые с форматами Office Open XML: .docx, .xlsx, .pptx и позволяющие совместно редактировать документы в режиме реального времени.
Этот вариант конфигурации работает как Debian так и Ubuntu так как использует универсальный репозиторий squeeze
Функциональность
- Редактор документов
- Редактор электронных таблиц
- Редактор презентаций
- Приложение «Документы» для iOS и Android
- Совместное редактирование
- Поддержка иероглифов
- Поддержка всех популярных форматов: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML
Дополнительная информация: дополнительные параметры для установки Сервера документов
Установка Сервера документов позволяет использовать дополнительные параметры debconf, которые могут быть очень полезны в том случае, если вы хотите установить Сервер документов на нескольких серверах или в некоторых других случаях.
Эти параметры включают в себя:
- Параметры базы данных PostgreSQL
- Задайте адрес хоста базы данных PostgreSQL (заменив на действительный адрес установленного сервера PostgreSQL):
- Задайте имя пользователя базы данных PostgreSQL (заменив на действительное имя пользователя с соответствующими правами доступа к базе данных PostgreSQL):
- Задайте пароль пользователя базы данных PostgreSQL (заменив на действительный пароль пользователя с соответствующими правами доступа к базе данных PostgreSQL):
- Задайте имя базы данных PostgreSQL (заменив на действительное имя базы данных PostgreSQL):
- Параметры Redis
- Параметры RabbitMQ
- Задайте адрес хоста RabbitMQ (заменив на действительный адрес установленного RabbitMQ):
- Задайте имя пользователя RabbitMQ (заменив на действительное имя пользователя с соответствующими правами доступа к RabbitMQ):
- Задайте пароль пользователя RabbitMQ (заменив на действительный пароль пользователя с соответствующими правами доступа к RabbitMQ):
Запуск Сервера документов с использованием HTTPS
В большинстве случаев доступ к порталу по протоколу HTTPS намного безопаснее, чем по протоколу HTTP, который используется по умолчанию. Сервер документов можно легко запустить, используя безопасное соединение. Дополнительную информацию о том, как это сделать, можно найти здесь.
Если надо запустить через nginx-proxy-pass вот готовый конфиг
Редактируем конфиг на стороне сервера Document server onlyoffice
Приводим в следующий вариант
listen адрес и порт сервера на котором будет работать Document server onlyoffice.
Измените на свой IP — 192.168.89.248
server_name название сервера
конфиг nginx-proxy-pass
Шаг 3. Связываем OnlyOffice и Nextcloud.
Сначала переходим на прокси, где в файле настроек, описывающего доступ к облаку, вписываем директиву location для OnlyOffice.
Потом переходим в веб-интерфейс Nextcloud, а затем в Приложения
В списке слева ищем раздел «Офис и текст» и ставим приложение ONLYOFFICE, нажав «Скачать и включить».
Теперь, когда установили приложение, переходим в настройки.
Слева находим пункт ONLYOFFICE
Переходим. В поле Адрес службы редактирования документов вводим адрес, где расположен наш сервер, путь для которого мы определили выше описывая директиву location для nginx. Иначе говоря, вводим в поле доменное имя, по которому расположен Nextcloud с путём к серверу документов. Получившийся путь должен быть примерно таким:
Нажмите сохранить и интерфейс должен стать похожим на тот, что на скриншоте выше.
В настройках можете указать какой тип документов открывать.
Важное замечание
Для ещё большего удобства использования облака совместно с onlyoffice существует замечательное приложение для Android — ONLYOFFICE Documents. С помощью которого можно удобно редактировать таблицы, документы, презентации и т.д.
Интерфейс его довольно заурядный, как и у всех офисных пакетов, но вот функция интеграции с облаком выделяет это приложение.
Однако после 5 версии OnlyOffice разработчики убрали эту замечательную функцию редактирования документа из облака на своём телефоне. И теперь появляется вот такое сообщение при попытке открыть документ.
Так вот, как оказалось, с пятой версии сервера разработчики сделали такую возможность только для платных версий OnlyOffice, но не для бесплатных.
Путём недолгих экспериментов с образами Docker, я выяснил, что последняя рабочая версия OnlyOffice — 5.4.2.46. А так как у нас тут контейнерные перевозки, то нет никаких проблем запускать образ докера с нужной версией OnlyOffice, которая равняется 5.4.2.46. Таким образом команда для запуска нормально работающей версии OnlyOffice такая:
На этом вроде всё
P.S. Возможные ошибки
SSL-сертификаты
Вы можете использовать HTTPS для предотвращения несанкционированного доступа.
Для этого необходимы два файла: закрытый ключ (.key) и сертификат SSL (.crt). Вы можете получить их от доверенного центра сертификации или сгенерировать самостоятельно.
Сгенерируйте параметры DHE (необязательный шаг):
openssl dhparam -out dhparam.pem 2048
Затем установите файлы:
mkdir -p /app/onlyoffice/DocumentServer/data/certs cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/ cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/ cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/ chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
Перезапустите контейнер Docker:
sudo docker restart `DOCUMENT_SERVER_ID`
Совместимость форматов
Как и в настольной версии, ONLYOFFICE Docs использует docx, xlsx и pptx в качестве основных форматов. Это означает, что ONLYOFFICE создает эти файлы и сохраняет их по умолчанию.
Файлы ODF поддерживаются путем преобразования. Например, если вы откроете файл odt, он будет преобразован в docx. После завершения редактирования вы можете сохранить файл обратно в odt.
Также конвертируются старые бинарные файлы (doc, xls, ppt). Однако вы не можете сохранять в этих форматах.
Кроме того, для просмотра доступны файлы в формате pdf. Вы также можете сохранить любой из ваших документов в формате pdf.
Интеграция с различными системами управления документами
По умолчанию ONLYOFFICE содержит только редакторы документов, таблиц и презентаций. Чтобы использовать их в качестве альтернативы Документам Google на вашем сервере, вам необходимо интегрировать пакет с системой управления документами (DMS):
Собственная платформа ONLYOFFICE Groups для совместной работы над документами и проектами. Если вы планируете выбрать это, проще установить пакет (редакторы + платформа).
Nextcloud или ownCloud. ONLYOFFICE можно установить на том же сервере, что и NC/oC, или на другом компьютере. Вам также потребуется установить коннектор – приложение для интеграции, которое служит мостом между редакторами и dms.
Seafile, Nuxeo, Plone и т
д. Имеют полный список интеграций.
Ваше собственное приложение. Для интеграции редакторов используйте официальный API. Обратите внимание, что ваше приложение должно иметь возможность выполнять пользовательский код, добавлять новые кнопки в пользовательский интерфейс и открывать новую страницу для работы редакторов.
Это простая DMS, используемая для:
- Протестируйте редакторы перед интеграцией
- Посмотрите, как можно реализовать интеграцию
Установка Сервера документов
Установка на Debian-основанные дистрибутивы также требует наличия в системе (версии 8.12.0), , и .
Все необходимые инструкции по установке этих компонентов и зависимостей можно найти на их официальных сайтах.
Есть и другие зависимости, которые устанавливаются совместно с Сервером документов:
- libcurl3
- libxml2
- supervisor
- fonts-dejavu
- fonts-liberation
- ttf-mscorefonts-installer
- fonts-crosextra-carlito
- fonts-takao-gothic
- fonts-opensymbol
Эти зависимости устанавливаются автоматически, если вы используете Ubuntu 14.04 LTS или выше. Для более ранних дистрибутивов может потребоваться установить их вручную.
Установка зависимостей
Установка sudo для удобства
Установка mc для удобства редактирование конфигов
Сервер документов использует (версии 8.12.0), и как базу данных. Зависимости, найденные в репозитории системы, будут установлены автоматически при установке Сервера документов командой apt-get install.
npm — менеджер пакетов, входящий в состав Node.js.
Добавление репозитория, содержащего актуальные версии пакетов Node.js:
Добавьте репозиторий:
Установка и настройка PostgreSQL:
Установите версию PostgreSQL, включенную в вашу версию Ubuntu:
Если вы хотите установить какую-то другую версию из репозитория PostgreSQL, обратитесь за дополнительной информацией к официальной документации PostgreSQL.
После установки PostgreSQL создайте базу данных и пользователя PostgreSQL:Пользователем и паролем для созданной базы данных должны быть onlyoffice.
Установка redis:
Установка rabbitmq:
Для дистрибутивов Ubuntu, более ранних, чем 14.04 LTS, может потребоваться установка некоторых других зависимостей.
При использовании Ubuntu 18.04 потребуется установка пакетов npm и nginx-extras. Это можно сделать с помощью команды:
Смена порта для Сервера документов, используемого по умолчанию
По умолчанию Сервер документов слушает входящие соединения на порту 80. Начиная с версии 4.3 вы можете сменить порт для Сервера документов в случае, если вы планируете использовать его вместо того, который идёт по умолчанию.Если вы меняете порт по умолчанию, убедитесь, что он открыт для исходящих/входящих соединений. Посмотрите полный список портов, которые используются Сервером документов.
Для этого вам нужно поменять порт по умолчанию для системы debconf. Это можно сделать с помощью команды:
Вместо в команде выше необходимо вписать номер порта, который будет использоваться.ВниманиеЕсли вы хотите поменять протокол Сервера документов на HTTPS, не меняйте порт на 443, а воспользуйтесь этой инструкцией. Есть ряд дополнительных параметров, которые можно использовать для установки Сервера документов
Для получения дополнительной информации обратитесь к
Есть ряд дополнительных параметров, которые можно использовать для установки Сервера документов. Для получения дополнительной информации обратитесь к .
После этого можно продолжить установку Сервера документов.
Установка Сервера документов
Добавьте GPG-ключ:
Добавьте репозиторий Сервера документов:
Хотя данный пакет APT собран для дистрибутива Debian Squeeze, он совместим с рядом производных Debian (включая Ubuntu), а значит можно использовать один репозиторий для всех этих дистрибутивов.
Обновите кэш менеджера пакетов:
Установите Сервер документов
Хранение данных вне контейнеров
Все данные хранятся в специально отведенных каталогах, называемых томами данных:
- журналы – /var/log/onlyoffice
- сертификаты – /var/www/onlyoffice/Data
- файловый кеш – /var/lib/onlyoffice
- база данных – /var/lib/postgresql
Хорошая идея – установить те, которые вам нужны, на хост-машину. Используйте параметр -v в команде запуска докера:
`sudo docker run -i -t -d -p 80:80 --restart=always \ -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \ -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \ -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql onlyoffice/documentserver`
Если вы удалите контейнер или что-то пойдет не так во время обновления, вы не потеряете свои данные. Вы также сможете обновлять свои сертификаты, не вмешиваясь в контейнер.
Настройка Onlyoffice
После установки, Onlyoffice встретит вас следующим окном.
Рекомендую сразу же настроить доменное имя. Без него не получится включить доступ по https. Слева вверху выбираем в выпадающем списке Настройки и указываем доменное имя.
Дальше можете пройтись по остальным разделам настроек и выставить их по своим потребностям. Я обычно делаю следующее:
- Модули и инструменты. Отключаю тем модули, что мне не нужны. Обычно это CRM, События, Блоги, Почта, Чат. Здесь же указываю стартовой страницей по умолчанию Документы. Это чтобы при входе у него сразу же открывались документы.
- В разделе Доступ к порталу можно настроить ограничения по доменам почтовых ящиков, с которых разрешена регистрация. Так вы можете оставить ее открытой, но ограничить доменом своей организации. Там же есть возможность настроить ограничения по ip и некоторые другие настройки безопасности.
- В Сторонних сервисах можно активировать поддержку интеграции с каким-то внешним сервисом. Например, включить оповещения в Telegram.
- У вас есть возможность установить сервис документов (контейнер onlyoffice/documentserver) на отдельную виртуальную машину. В разделе Служба документов можно настроить подобное подключение. Я делал подобное, рабочее решение.
- В разделе Настройки SMTP надо указать почтовый ящик, через который портал будет рассылать почту. Можете либо свой сервер использовать, либо какой-то бесплатный публичный.
Из основного в настройках все. Дальше можно пройти в Панель управления и настроить HTTPS. Только не забудьте перезайти в портал по доменному имени, а не IP адресу.
После нажатия на кнопку будет получен бесплатный сертификат от Let’s Encrypt. Вообще, с сертификатами, которые настраиваются автоматически через Панель управления, могут возникать различные проблемы при переезде, а так же в том случае, если у вас сервер не смотрит напрямую в интернет. В общем случае, я бы рекомендовал проксировать все запросы на портал через отдельный nginx с настройкой proxy_pass. Собственно, сам я всегда так и делаю. А дальше уже запрос по http идет на портал. Это более гибкая конфигурация, которая позволяет без проблем переезжать порталу куда угодно.
Но если у вас одиночная виртуалка, смотрящая напрямую в интернет, сойдет и так.
В целом, базовая настройка onlyoffice уже закончена. Вы можете спокойно пользоваться. Вам надо зарегистрировать пользователей, насоздавать документов, общих папок, расставить права и т.д. В вашем распоряжении будет wiki, форум. Очень удобный инструмент для ведения документации. И все это полностью подконтрольно вам, хранится только у вас. Работает достаточно шустро, если хватает ресурсов виртуалки.
Далее можете посмотреть мою следующую статью на эту же тему — Перенос и обновление Onlyoffice.
Установка Onlyoffice
Далее нам понадобится установленный docker. По этой теме у меня тоже написана отдельная статья — установка docker на centos, так что останавливаться на этом тут не буду.
Системные ресурсы для виртулаки я рекомендую следующие: 4 CPU, 8GB Ram, 50+GB SSD. Можно и на 4-х гигабайтах оперативной памяти стартануть, но работать будет плохо. Может падать из-за нехватки памяти.
Переходим к установке. Разработчики предлагают готовый скрипт, который все сделает автоматически.
# wget https://download.onlyoffice.com/install/workspace-install.sh # bash workspace-install.sh -it GROUPS
Я всегда ставлю без почтового сервера. Разбираться еще и с проблемами интеграции почтового сервера совсем не хочется. Использую отдельный почтовый сервер, который настраиваю сам. Дальше в системе можно будет указать параметры smtp для отправки почты через внешние службы.
После того, как контейнеры будут загружены и запущены, система готова к работе. Все важные данные будут подключены через volumes, расположенные на хосте в директории /app/onlyoffice. Именно эти данные и нужно будет бэкапить. Там же лежит директория с базами mysql. Я рекомендую дополнительно бэкапить базу данных дампом.
Сразу же подскажу вам дефолтные учетные записи от баз в onlyoffice, чтобы в случае чего не пришлось искать в документации.
PostgreSQL | Database: onlyoffice, User: onlyoffice, Password: onlyoffice |
RabbitMQ | User: guest, Password: guest |
MySQL | Database: onlyoffice, User: root, Password: my-secret-pw |
После установки onlyoffice, у вас будут запущены четыре контейнера docker:
- library/mysql:5.7 — сервер базы данных mysql;
- onlyoffice/communityserver — сам портал для совместной работы;
- onlyoffice/documentserver — в отдельном контейнере реализованы онлайн редакторы документов. Их при желании можно использовать отдельно от всего остального где-то в своих проектах через api.
- onlyoffice/controlpanel — панель управления всем хозяйством.
OnlyOffice полностью готов к работе. Можно зайти на него по ip адресу сервера.
Укажите все необходимые данные для запуска в работу и переходите к настройке.
Шаг 2. Ставим OnlyOffice
Опять же, всё делаем на той же машине, где поставили Docker.
По понятной инструкции с сайта OnlyOffice подготавливаем и ставим образ.
Для начала создаём сертификаты для связи Nextcloud’а и OnlyOffice.
Генерируем параметры Диффи-Хеллмана (DHE), обеспечивающие более высокую стойкость.
Создаём директорию для хранения сертификатов
Перемещаем в неё свежесозданные самоподписанные сертификаты.
И запускаем контейнер в фоне, который будет всегда перезапускаться, если он был остановлен. Например, после перезагрузки сервера. Также пробросим в контейнер папку с нашими сертификатами.
Сам образ OnlyOffice при запуске ищет в /var/www/onlyoffice/Data сертификаты с именами, которые были созданы выше.
Сервер с OnlyOffice готов и дальше его можно не трогать.
Заключение
На этом по Onlyoffice на сегодня все. Надеюсь, у вас появилось представление, как этот портал работает и с чем можно столкнуться во время эксплуатации. Как видите, надо немного разбираться во внутренностях этой штуки, чтобы успешно решать проблемы. Если у вас нет достаточного опыта, я бы аккуратно внедрял onlyoffice и старался перейти на платную подписку с тех поддержкой. Либо использовал его для вспомогательных вещей, которые терпят некоторого простоя, пока вы восстановитесь из резервной копии. Как я уже говорил, он отлично подходит для ведения большой и разноплановой документации. Удобно и не критично, если что-то где-то засбоит.
Другой вариант – использовать облако. Но лично мне он не очень нравится. Облачная версия работает заметно медленнее локальной, а это именно то, что лично мне не нравится, когда много работаешь с документами. Но с другой стороны, вам вообще не нужен специалист по поддержке портала. Так что нормальный компромисс.
Если у вас есть желание поднять у себя подобный портал, но некому это сделать, можете обращаться ко мне. Я рассчитаю примерную стоимость своей работы и всё вам настрою по вашему заданию (бэкапы, клонирование, мониторинг, интеграция с почтой и т.д.).
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом “Administrator Linux. Professional” в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .