Системные требования

  • Процессор: рекомендуется от 4 ядер
  • Оперативная память: рекомендуется от 8 Гб
  • Свободное место на жестком диске: рекомендуется от 40 Гб

Требования к оборудованию в зависимости от одновременных активных пользователей Требования к оборудованию для Р7-Офис. Профессиональный. Сервер документов могут различаться в зависимости от числа одновременных активных пользователей.

Число одновременных активных пользователейМинимальная аппаратная конфигурация сервера
менее 100Одноядерный процессор Intel Sandy Bridge с тактовой частотой 2.8 ГГц или лучше,
2 Гб оперативной памяти,
40 Гб свободного места на жестком диске
100 — 200Двухъядерный процессор Intel Sandy Bridge с тактовой частотой 2.8 ГГц или лучше,
2 Гб оперативной памяти,
80 Гб свободного места на жестком диске
200 — 400Четырехъядерный процессор Intel Sandy Bridge с тактовой частотой 2.8 ГГц или лучше,
4 Гб оперативной памяти,
160 Гб свободного места на жестком диске

Аппаратная конфигурация приводится только для справки. Реальное количество пользователей сервера зависит от количества, типа и размера документов, с которыми работают пользователи.

Требования к программному обеспечению

  • Операционная система amd64 дистрибутив Linux с версией ядра 3.10 или выше
  • Docker: версия 1.10 или выше

Введение

Р7-Офис. Профессиональный. Сервер документов позволяет установить Сервер документов на локальном сервере и интегрировать онлайн-редакторы с платформой для совместной работы Р7-Офис. Профессиональный.

Р7-Офис. Профессиональный. Сервер документов — это офисный пакет для работы онлайн, который включает в себя средства просмотра и редакторы текстовых документов, электронных таблиц и презентаций, полностью совместимые с форматами Office Open XML: .docx, .xlsx, .pptx и позволяющие совместно редактировать документы в режиме реального времени.

Функциональность

  • Редактор документов
  • Редактор электронных таблиц
  • Редактор презентаций
  • Приложения просмотра на мобильных устройствах через веб-браузер
  • Совместное редактирование
  • Поддержка иероглифов
  • Поддержка всех популярных форматов: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Интегрировав этот модуль с Р7-Офис. Профессиональный. Корпоративный сервер, вы сможете:

  • организовать совместный доступ к файлам;
  • управлять правами доступа к документам;
  • встраивать документы в сайт;
  • просматривать и редактировать файлы, сохраненные в сторонних сервисах Yandex.disk, Mail.ru Диск, OwnCloud, Nextcloud подключенных к Р7-Офис. Профессиональный. Корпоративный сервер.

В данной инструкции объясняется, как установить на компьютере версию Р7-Офис. Профессиональный. Сервер документов для Docker.

Установка Docker

У вас должна быть установлена последняя версия Docker. В противном случае обратитесь к разделу Installation на сайте Docker за инструкциями по установке.

Для установки на Astra Linux Common Edition 2.12 воспользуйтесь инструкцией с сайта Astra Linux.

Для установки на Alt Linux воспользуйтесь инструкцией с сайта Alt Linux.

Для установки на РЕД ОС Муром 7.3 (пропустив шаги создания базового образа) воспользуйтесь инструкцией с сайта РЕД ОС.

В Docker по умолчанию указаны DNS-серверы Google. Если ваш Р7-Офис. Профессиональный. Сервер документов не будет иметь доступа в Интернет, рекомендуется изменить заданный в Docker по умолчанию адрес DNS-сервера на адрес вашего локального DNS-сервера. Для этого откройте файл /etc/default/docker и замените IP-адрес в следующей строке на IP-адрес DNS-сервера в вашей локальной сети:

docker_OPTS="--dns 8.8.8.8"

Для операционных систем на основе RPM, например, CentOS, файл конфигурации может находиться здесь: /etc/docker/daemon.json

Установка Р7-Офис. Профессиональный. Сервер документов

После того, как Docker будет установлен, запустите его и выполните следующую команду:

sudo docker run -i -t -d -p 80:80 --restart=always r7office/documentserver-ee

Используйте эту команду, если вы хотите установить Р7-Офис. Профессиональный. Сервер документов отдельно. Чтобы установить Р7-Офис. Профессиональный. Сервер документов с интегрированными модулями Р7-Офис. Профессиональный. Корпоративный сервер и Р7-Офис. Профессиональный. Почтовый сервер, обратитесь к соответствующим инструкциям ниже.

По умолчанию Р7-Офис. Профессиональный. Сервер документов слушает входящие соединения на порту 80. Начиная с версии 4.3 вы можете сменить порт для Р7-Офис. Профессиональный. Сервер документов в случае, если вы планируете использовать его вместо того, который идёт по умолчанию. Это можно легко сделать, сменив порт во время установки:

sudo docker run -i -t -d -p <PORT_NUMBER>:80--restart=always r7office/documentserver-ee

Где <PORT_NUMBER> — это номер порта, который вы хотите использовать для Р7-Офис. Профессиональный. Сервер документов.

В результате будет установлена версияР7-Офис. Профессиональный. Сервер документов со всеми необходимыми зависимостями.

Сохранение данных вне контейнеров

Все данные хранятся в специально отведенных для этого каталогах, томах данных, которые находятся по следующему адресу:

  • /var/log/r7-office для лог-файлов Р7-Офис. Профессиональный. Сервер документов
  • /var/www/r7-office/Data для сертификатов
  • /var/lib/r7-office для кэша файлов
  • /var/lib/postgresql для базы данных

Настоятельно рекомендуется сохранять данные вне контейнеров Docker на хост-компьютере, так как это позволяет при выходе новой версии легко обновлять Р7-Офис. Профессиональный. Сервер документов без потери данных.

Для получения доступа к данным извне контейнера надо монтировать папку хоста к контейнеру. Это можно сделать, указав значение параметра -v в команде docker run.

sudo docker run -i -t -d -p 80:80 --restart=always \ 
-v /app/r7-office/DocumentServer/logs:/var/log/r7-office \ 
-v /app/r7-office/DocumentServer/data:/var/www/r7-office/Data \ 
-v /app/r7-office/DocumentServer/lib:/var/lib/r7-office \ 
-v /app/r7-office/DocumentServer/db:/var/lib/postgresql r7office/documentserver-ee

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

Обычно нет необходимости хранить данные контейнера, поскольку работа контейнера не зависит от их состояния. Сохранение данных будет полезно:

  • для обеспечения быстрого доступа к данным контейнера, таким как лог-файлы;
  • для снятия ограничений по объему данных внутри контейнера;
  • при использовании сервисов, запускаемых извне контейнера, таких как PostgreSQL, Redis, RabbitMQ.

Запуск Р7-Офис. Профессиональный. Сервер документов с использованием HTTPS

sudo docker run -i -t -d -p 443:443 --restart=always \ 
-v /app/r7-office/DocumentServer/data:/var/www/r7-office/Data r7office/documentserver-ee

Для предотвращения несанкционированного доступа к информации вы можете обезопасить доступ к приложению r7-office, используя протокол SSL. SSL-сертификат, заверенный центром сертификации, предусматривает проверку отношений доверия через центр сертификации, но самоподписанные сертификаты могут обеспечить такой же уровень проверки отношений доверия, поскольку каждый клиент предпринимает ряд дополнительных мер для проверки подлинности вашего сайта. Ниже приведены инструкции о том, как обеспечить безопасный доступ к приложению r7-office.

Для обеспечения безопасного доступа к приложению с помощью SSL в принципе нужны две вещи:

  • Закрытый ключ (.key)
  • SSL-сертификат (.crt)

Итак, вам надо создать и установить следующие файлы:

/app/r7-office/DocumentServer/data/certs/r7-office.key /app/r7-office/DocumentServer/data/certs/r7-office.crt

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

Генерация самоподписанных сертификатов

Генерация самоподписанных SSL-сертификатов включает в себя три простых шага:

Шаг 1: Создайте закрытый ключ сервера

openssl genrsa -out r7office.key 2048

Шаг 2: Создайте запрос подписи сертификата (CSR)

openssl req -new -key r7office.key -out r7-office.csr

Шаг 3: Подпишите сертификат с помощью закрытого ключа и CSR

openssl x509 -req -days 365 -in r7office.csr -signkey r7office.key -out r7office.crt

Вы только что сгенерировали SSL-сертификат со сроком действия 365 дней.

Усиление безопасности сервера

В этом разделе приводятся инструкции по усилению безопасности вашего сервера.

Для этого необходимо сгенерировать параметры Диффи-Хеллмана (DHE), обеспечивающие более высокую стойкость.

openssl dhparam -out dhparam.pem 2048

Установка SSL-сертификатов

Из четырех ранее сгенерированных файлов на сервер r7office необходимо установить файлы r7-office.keyr7-office.crt и dhparam.pem. Файл CSR не требуется, но убедитесь, что вы создали его резервную копию (на случай, если он вам снова понадобится).

По умолчанию приложение r7office настроено для поиска SSL-сертификатов в каталоге /var/www/r7-office/Data/certs. Этот путь можно изменить, используя параметры настройки SSL_KEY_PATHSSL_CERTIFICATE_PATH и SSL_DHPARAM_PATH.

Путь /var/www/r7-office/Data/ — это путь к хранилищу данных. Вам надо создать папку с именем certs в каталоге /app/r7-office/DocumentServer/data/ и скопировать файлы в нее, а также в качестве меры безопасности необходимо изменить права доступа к файлу r7-office.key, чтобы он был доступен на чтение только владельцу.

mkdir -p /app/r7-office/DocumentServer/data/certs cp r7-office.key /app/r7-office/DocumentServer/data/certs/ 
cp r7-office.crt /app/r7-office/DocumentServer/data/certs/ cp dhparam.pem /app/r7-office/DocumentServer/data/certs/ chmod 400 /app/r7-office/DocumentServer/data/certs/r7-office.key

И перезапустите Docker-контейнер:

sudo docker restart {{DOCUMENT_SERVER_ID}}

Остался всего один шаг, чтобы обеспечить безопасный доступ к приложению.

Доступные параметры настройки

Флаг `--env-file` в параметрах команды docker run позволяет задать все необходимые переменные среды в одном файле. Так можно избежать написания потенциально длинной команды docker run.

Ниже приводится полный список параметров, которые можно настроить, используя переменные среды.

  • R7OFFICE_HTTPS_HSTS_ENABLED: Дополнительный параметр настройки для отключения HSTS (HTTP Strict Transport Security). Применяется только в тех случаях, когда используется SSL. По умолчанию задано значение true.
  • R7OFFICE_HTTPS_HSTS_MAXAGE: Дополнительный параметр настройки для задания параметра max-age HSTS в конфигурации виртуального хоста NGINX для r7office. Применяется только в тех случаях, когда используется SSL. По умолчанию задано значение 31536000.
  • SSL_CERTIFICATE_PATH: Путь к используемому SSL-сертификату. По умолчанию задано значение /var/www/r7-office/Data/certs/r7-office.crt.
  • SSL_KEY_PATH: Путь к закрытому ключу SSL-сертификата. По умолчанию задано значение /var/www/r7-office/Data/certs/r7-office.key.
  • SSL_DHPARAM_PATH: Путь к параметру Диффи-Хеллмана. По умолчанию задано значение /var/www/r7-office/Data/certs/dhparam.pem.
  • SSL_VERIFY_CLIENT: Включение проверки сертификатов клиента с помощью файла CA_CERTIFICATES_PATH file. По умолчанию задано значение false.
  • POSTGRESQL_SERVER_HOST: IP-адрес или имя хоста, на котором запущен сервер PostgreSQL.
  • POSTGRESQL_SERVER_PORT: Номер порта сервера PostgreSQL.
  • POSTGRESQL_SERVER_DB_NAME: Имя базы данных PostgreSQL, которая должна создаваться при запуске образа.
  • POSTGRESQL_SERVER_USER: Имя нового пользователя с правами суперпользователя для учетной записи PostgreSQL.
  • POSTGRESQL_SERVER_PASS: Пароль, заданный для учетной записи PostgreSQL.
  • AMQP_SERVER_URL: AMQP URL для подключения к серверу менеджера сообщений.
  • AMQP_SERVER_TYPE: Тип менеджера сообщений. Поддерживаются значения rabbitmq или activemq. По умолчанию задано значение rabbitmq.
  • REDIS_SERVER_HOST: IP-адрес или имя хоста, на котором запущен Redis.
  • REDIS_SERVER_PORT: Номер порта сервера Redis.
  • NGINX_WORKER_PROCESSES: Определяет число рабочих процессов NGINX.
  • NGINX_WORKER_CONNECTIONS: Задаёт максимальное число соединений, которые одновременно может открыть рабочий процесс NGINX.
  • JWT_ENABLED: Управляет включением валидации посредством JSON веб-токена Р7-Офис. Профессиональный. Сервер документов. По умолчанию задано значение true.
  • JWT_SECRET: Определяет секретный ключ для валидации JSON веб-токена при запросе к Р7-Офис. Профессиональный. Сервер документов. По умолчанию задано значение secret.
  • JWT_HEADER: Определяет HTTP-заголовок, который будет использоваться для отправки JSON веб-токена. По умолчанию задано значение Authorization.

Активация вашей версии Р7-Офис. Профессиональный. Сервер документов

Если вы купили Р7-Офис. Профессиональный. Сервер документов и получили файл license.lic, вы можете поместить его в инсталляцию для получения полной версии программы.

Если вы используете контейнер docker, файл license.lic можно поместить в любую папку (например, /app/r7-office/DocumentServer/data/license.lic), но эту папку необходимо монтировать при запуске контейнера:

sudo docker run -i -t -d -p 80:80 --restart=always \ 
-v /app/r7-office/DocumentServer/data:/var/www/r7-office/Data \ 
r7office/documentserver-ee

Имя файла лицензии должно быть строго license.lic.

После этого ваша версия Р7-Офис. Профессиональный. Сервер документов станет зарегистрированной и полнофункциональной.