Document server Onlyoffice для Nextcloud

Установка версии Document server Onlyoffice для Linux на Debian, Ubuntu под управлением Nextcloud

Введение

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

Этот вариант конфигурации работает как Debian так и Ubuntu так как использует универсальный репозиторий squeeze

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

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

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

  • Процессор двухъядерный с тактовой частотой 2 ГГц или лучше
  • Оперативная память не менее 2 Гб
  • Свободное место на жестком диске не менее 40 Гб
  • Дополнительные требования не менее 4 Гб для файла подкачки
  • Операционная система 64-битный дистрибутив DebianUbuntu или другой совместимый дистрибутив с версией ядра 3.13 или выше
  • Дополнительные требования
    • PostgreSQL: версия 9.1 или выше
    • NGINX: версия 1.3.13 или выше
    • Node.js: версия 8.12.0
    • libstdc++6: версия 4.8.4 или выше
    • Redis
    • RabbitMQ

Установка Сервера документов

Установка на Debian-основанные дистрибутивы также требует наличия в системе Node.js (версии 8.12.0), libstdc++6NGINX и PostgreSQL.

Все необходимые инструкции по установке этих компонентов и зависимостей можно найти на их официальных сайтах.

Есть и другие зависимости, которые устанавливаются совместно с Сервером документов:

  • libcurl3
  • libxml2
  • supervisor
  • fonts-dejavu
  • fonts-liberation
  • ttf-mscorefonts-installer
  • fonts-crosextra-carlito
  • fonts-takao-gothic
  • fonts-opensymbol

Эти зависимости устанавливаются автоматически, если вы используете Ubuntu 14.04 LTS или выше. Для более ранних дистрибутивов может потребоваться установить их вручную.

Установка зависимостей

Установка sudo для удобства

apt-get install sudo -y

Установка mc для удобства редактирование конфигов

apt-get install mc -y

Сервер документов использует Node.js (версии 8.12.0), NGINX и PostgreSQL как базу данных. Зависимости, найденные в репозитории системы, будут установлены автоматически при установке Сервера документов командой apt-get install.

npm — менеджер пакетов, входящий в состав Node.js.

Добавление репозитория, содержащего актуальные версии пакетов Node.js:

Добавьте репозиторий:

curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install npm -y

Установка и настройка PostgreSQL:

Установите версию PostgreSQL, включенную в вашу версию Ubuntu:

sudo apt-get install postgresql -y

Если вы хотите установить какую-то другую версию PostgreSQL из репозитория PostgreSQL, обратитесь за дополнительной информацией к официальной документации PostgreSQL.

После установки PostgreSQL создайте базу данных и пользователя PostgreSQL:Пользователем и паролем для созданной базы данных должны быть onlyoffice.

sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

Установка redis:

sudo apt-get install redis-server -y

Установка rabbitmq:

sudo apt-get install rabbitmq-server -y

Для дистрибутивов Ubuntu, более ранних, чем 14.04 LTS, может потребоваться установка некоторых других зависимостей.

При использовании Ubuntu 18.04 потребуется установка пакетов npm и nginx-extras. Это можно сделать с помощью команды:

sudo apt-get install npm nginx-extras -y
Смена порта для Сервера документов, используемого по умолчанию

По умолчанию Сервер документов слушает входящие соединения на порту 80. Начиная с версии 4.3 вы можете сменить порт для Сервера документов в случае, если вы планируете использовать его вместо того, который идёт по умолчанию.Если вы меняете порт по умолчанию, убедитесь, что он открыт для исходящих/входящих соединений. Посмотрите полный список портов, которые используются Сервером документов.

Для этого вам нужно поменять порт по умолчанию для системы debconf. Это можно сделать с помощью команды:

echo onlyoffice-documentserver onlyoffice/ds-port select <PORT_NUMBER> | sudo debconf-set-selections

Вместо <PORT_NUMBER> в команде выше необходимо вписать номер порта, который будет использоваться.ВниманиеЕсли вы хотите поменять протокол Сервера документов на HTTPS, не меняйте порт на 443, а воспользуйтесь этой инструкцией.

Есть ряд дополнительных параметров, которые можно использовать для установки Сервера документов. Для получения дополнительной информации обратитесь к этому разделу.

После этого можно продолжить установку Сервера документов.

Установка Сервера документов

Добавьте GPG-ключ:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5

Добавьте репозиторий Сервера документов:

sudo echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list

Хотя данный пакет APT собран для дистрибутива Debian Squeeze, он совместим с рядом производных Debian (включая Ubuntu), а значит можно использовать один репозиторий для всех этих дистрибутивов.

Обновите кэш менеджера пакетов:

sudo apt-get update -y  && apt-get dist-upgrade -y && apt autoremove -y && apt autoclean -y

Установите Сервер документов

sudo apt-get install onlyoffice-documentserver -y

Сборка сервиса проверки орфографии (Ubuntu 18.04)

Для того, чтобы сервис проверки орфографии работал в дистрибутиве Ubuntu 18.04, вам будет нужно его пересобрать. Это делается следующим образом:

  1. Обновите npm:sudo npm install -g npm
  2. Остановите службы Сервера документов:sudo supervisorctl stop all
  3. Установите компоненты, необходимые для сборки:sudo apt-get install build-essential git
  4. Перейдите в каталог сервиса проверки орфографии:cd /var/www/onlyoffice/documentserver/server/SpellChecker/
  5. Удалите старую сборку:sudo mv node_modules/ node_modules_old/
  6. Установите зависимости:sudo npm install
  7. И запустите службы Сервера документов:sudo supervisorctl start all

Запуск Сервера документов с использованием HTTPS

В большинстве случаев доступ к порталу по протоколу HTTPS намного безопаснее, чем по протоколу HTTP, который используется по умолчанию. Сервер документов можно легко запустить, используя безопасное соединение. Дополнительную информацию о том, как это сделать, можно найти здесь.

Если надо запустить через nginx-proxy-pass вот готовый конфиг

Редактируем конфиг на стороне сервера Document server onlyoffice

mcedit /etc/onlyoffice/documentserver/nginx/ds.conf

Приводим в следующий вариант

include /etc/nginx/includes/http-common.conf;
server {
  listen 192.168.89.248:82;
server_name office.chip-and-del.ru;
  listen [::]:82 default_server;
  server_tokens off;
  
  include /etc/nginx/includes/ds-*.conf;

listen адрес и порт сервера на котором будет работать Document server onlyoffice.

Измените на свой IP — 192.168.89.248

server_name название сервера

конфиг nginx-proxy-pass

Установку nginx-proxy-pass посмотреть можно тут

# Используйте этот пример для прокси-трафика HTTPS на сервер документов, работающий в 'backendserver-address'.
# Замените {{SSL_CERTIFICATE_PATH}} путь к файлу сертификата ssl
# Замените {{SSL_KEY_PATH}} Путь к файлу закрытого ключа ssl

upstream docservice {
  server office.chip-and-del.ru;
}

map $http_host $this_host {
    "" $host;
    default $http_host;
}

map $http_x_forwarded_proto $the_scheme {
     default $http_x_forwarded_proto;
     "" $scheme;
}

map $http_x_forwarded_host $the_host {
    default $http_x_forwarded_host;
    "" $this_host;
}

map $http_upgrade $proxy_connection {
  default upgrade;
  "" close;
}

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Forwarded-Host $the_host;
proxy_set_header X-Forwarded-Proto $the_scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

## Normal HTTP host
server {
  listen 80;
  server_name office.chip-and-del.ru;
  server_tokens off;

  ## Redirects all traffic to the HTTPS host
  root /nowhere; ## root doesn't have to be a valid path since we are redirecting
  rewrite ^ https://$host$request_uri? permanent;
}

server {
  listen 443 ssl;
  server_tokens off;
  root /usr/share/nginx/html;

  ## Strong SSL Security
  ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html

  
  	ssl_certificate /etc/letsencrypt/live/office.chip-and-del.ru/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/office.chip-and-del.ru/privkey.pem;
	include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
	ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
	ssl_verify_client off;
  

  #ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

  #ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
  #ssl_session_cache  builtin:1000  shared:SSL:10m;

  #ssl_prefer_server_ciphers   on;

  add_header Strict-Transport-Security max-age=31536000;
  # add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;

  ## [Optional] If your certficate has OCSP, enable OCSP stapling to reduce the overhead and latency of running SSL.
  ## Replace with your ssl_trusted_certificate. For more info see:
  ## - https://medium.com/devops-programming/4445f4862461
  ## - https://www.ruby-forum.com/topic/4419319
  ## - https://www.digitalocean.com/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx
  # ssl_stapling on;
  # ssl_stapling_verify on;
  # ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt;
  # resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired
  # resolver_timeout 10s;

  ## [Optional] Generate a stronger DHE parameter:
  ##   cd /etc/ssl/certs
  ##   sudo openssl dhparam -out dhparam.pem 4096
  ##
  # ssl_dhparam /etc/ssl/certs/dhparam.pem;

  location / {
    proxy_pass http://192.168.89.248:82;
    proxy_http_version 1.1;
  }
}

Дополнительная информация: дополнительные параметры для установки Сервера документов

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

Эти параметры включают в себя:

  • Параметры базы данных PostgreSQL
    • Задайте адрес хоста базы данных PostgreSQL (заменив <DB_HOST> на действительный адрес установленного сервера PostgreSQL):echo onlyoffice-documentserver onlyoffice/db-host string <DB_HOST> | sudo debconf-set-selections
    • Задайте имя пользователя базы данных PostgreSQL (заменив <DB_USER> на действительное имя пользователя с соответствующими правами доступа к базе данных PostgreSQL):echo onlyoffice-documentserver onlyoffice/db-user string <DB_USER> | sudo debconf-set-selections
    • Задайте пароль пользователя базы данных PostgreSQL (заменив <DB_PASSWORD> на действительный пароль пользователя с соответствующими правами доступа к базе данных PostgreSQL):echo onlyoffice-documentserver onlyoffice/db-pwd password <DB_PASSWORD> | debconf-set-selections
    • Задайте имя базы данных PostgreSQL (заменив <DB_NAME> на действительное имя базы данных PostgreSQL):echo onlyoffice-documentserver onlyoffice/db-name string <DB_NAME> | sudo debconf-set-selections
  • Параметры Redis
    • Задайте адрес хоста Redis (заменив <REDIS_HOST> на действительный адрес установленного Redis):echo onlyoffice-documentserver onlyoffice/redis-host string <REDIS_HOST> | sudo debconf-set-selections
  • Параметры RabbitMQ
    • Задайте адрес хоста RabbitMQ (заменив <RABBITMQ_HOST> на действительный адрес установленного RabbitMQ):echo onlyoffice-documentserver onlyoffice/rabbitmq-host string <RABBITMQ_HOST> | sudo debconf-set-selections
    • Задайте имя пользователя RabbitMQ (заменив <RABBITMQ_USER> на действительное имя пользователя с соответствующими правами доступа к RabbitMQ):echo onlyoffice-documentserver onlyoffice/rabbitmq-user string <RABBITMQ_USER> | sudo debconf-set-selections
    • Задайте пароль пользователя RabbitMQ (заменив <RABBITMQ_PWD> на действительный пароль пользователя с соответствующими правами доступа к RabbitMQ):echo onlyoffice-documentserver onlyoffice/rabbitmq-pwd password <RABBITMQ_PWD> | sudo debconf-set-selections
0

Автор публикации

не в сети 2 дня

conter

0
Комментарии: 0Публикации: 27Регистрация: 19-10-2019

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

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

Авторизация
*
*

0   +   4   =  
Регистрация
*
*
*
Генерация пароля