﻿# Установка сервера документов Р7-Офис

> [HTML Version](install-r7-office.html)

Сервер документов Р7-Офис используется для онлайн-работы. Он включает в себя просмотрщики и редакторы текстовых документов, электронных таблиц и презентаций. Сервер документов Р7‑Офис полностью совместим с форматами: **.docx**, **.xlsx**, **.pptx** и позволяет редактировать документы в режиме реального времени.

````
Начало внимание

````
Для исключения передачи конфиденциальных данных (документов) в открытом виде настройте использование протокола HTTPS на стороне сервера документов Р7‑Офис.

````
Конец внимание

````
Установка состоит из четырёх этапов:

1. [Подготовка secret с сертификатом для работы по HTTPS](#prepare-secret).

2. [Загрузка Helm-чарта и конфигурационного файла](#download-helm-chart-and-config-file).

3. [Заполнение конфигурационного файла](#fill-config-file).

4. [Установка чарта r7-office с помощью Helm в Kubernetes-кластер](#install-r7-office-chart).

## Шаг 1. Подготовка secret с сертификатом для работы по HTTPS

1. Создайте \[OBJECT\] с наименованием **r7office**, выполнив команду:

````
kubectl create namespace r7office

````
2. По статье [«Подготовка secret с сертификатом для работы по HTTPS»](preparation-secret-with-certificate-https.md) создайте в \[OBJECT\] secret с наименованием **elma365-onpremise-tls**.

Использование самоподписанного сертификата TLS с модулем Р7-Офис

  
Если вы используете самоподписанный сертификат TLS, для корректной работы модуля Р7-Офис добавьте его в список доверенных корневых центров сертификации. Для этого:

1. Преобразуйте сертификат **rootCA.pem** в файл формата **.crt**:

````
cat rootCA.pem > rootCA.crt

2. ````
Перенесите полученный файл на персональный компьютер сотрудника с операционной системой Windows и в контекстном меню файла сертификата выберите **Установить сертификат**.

3. В открывшемся окне мастера импорта сертификатов в поле **Расположение хранилища** выберите опцию **Локальный компьютер** и нажмите **Далее**.

4. Отметьте опцию **Поместить все сертификаты в следующее хранилище**, нажмите **Обзор…** и выберите папку хранилища сертификатов **Доверенные корневые центры сертификации**.  
**(install-r7-office-1.png)**

5. Нажмите **Готово**.



## Шаг 2. Загрузка Helm-чарта и конфигурационного файла

Для установки через интернет получите конфигурационный файл \[OBJECT\], выполнив команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm show values elma365/r7office > values-r7office.yaml

````
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет

1. На компьютере с доступом в интернет загрузите архив актуальной версии (latest) чарта r7-office из репозитория ELMA365, выполнив следующую команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm pull elma365/r7office

2. ````
Полученный архив чарта \[OBJECT\] скопируйте на сервер, где будет производиться установка.

3. Распакуйте этот чарт и скопируйте конфигурационный файл по умолчанию \[OBJECT\] в \[OBJECT\]:

````
tar -xf r7office-X.Y.Z.tgz  
cp r7office/values.yaml values-r7office.yaml
````

## ````
Шаг 3. Заполнение конфигурационного файла

Заполните конфигурационный файл \[OBJECT\] для установки r7-office.

1. Убедитесь, что в параметре \[OBJECT\] задано значение \[OBJECT\].

2. В параметрах \[OBJECT\] и \[OBJECT\] вместо значения **r7office.your\_domain** укажите домен (FQDN), по которому будет доступен Р7-Офис.

3. В параметре \[OBJECT\] укажите наименование secret, созданного на [шаге 1](#prepare-secret). В данной статье это значение **elma365-onpremise-tls**.

4. В параметре \[OBJECT\] укажите количество реплик для обеспечения высокой доступности.

**Важно**: если в Kubernetes кластере установлен Ingress-nginx-controller версии 1.9.0 или выше:

- в параметре \[OBJECT\] задайте наименование нужного IngressClass. Стандартное наименование: **nginx**;

- закомментируйте параметр \[OBJECT\].

````
\# Настройки r7office  
r7office:  
  ingress:  
    # включение host в ingress  
    enabled: true  
    className: ""  
    annotations:  
      kubernetes.io/ingress.class: nginx  
    # аннотации для работы cert-manager  
    # certmanager.io/cluster-issuer: letsencrypt  
    hosts:  
      # домен (FQDN), по которому будет доступен r7office  
      - host: r7office.your\_domain  
        paths:  
          - path: /  
            pathType: ImplementationSpecific  
    # включение шифрования, при использовании cert-manager указать используемый secretName letsencrypt  
    tls:  
      - secretName: elma365-onpremise-tls  
        hosts:  
          - r7office.your\_domain  
  # задайте значение true, чтобы включить создание secret с собственными сертификатами  
  # укажите путь до сертификата в строках key: и cert:  
  secret:  
    enabled: false  
    key: "files/my\_cert.key"  
    cert: "files/my\_cert.crt"  
  # задайте значение true при использовании самозаверенных сертификатов для вашего хранилища  
  unautorizedStorage: false  
  # количество реплик для обеспечения высокой доступности  
  replicaCount: 1  
  # включение использования JWT токена  
  jwtEnabled: true  
  # при наличии файла лицензии выставить параметру enable: значение true  
  # указать путь до лицензии в строке licensePath:  
  license:  
    enable: false  
    licensePath: "files/license.lic"  
...

````
Заполнение параметров подключения файла лицензии Р7-Офис

````
начало внимание

````
Подключить файл лицензии возможно при локальной установке чарта Р7-Офис.

````
конец внимание

1. ````
На компьютере с доступом в интернет загрузите архив актуальной версии (latest) чарта Р7-Офис из репозитория ELMA365, выполнив следующую команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm pull elma365/r7office

2. ````
Для установки в закрытом контуре полученный архив чарта \[OBJECT\] скопируйте на сервер, где будет производиться установка.

3. Распакуйте чарт \[OBJECT\] на сервере, где будет производиться установка, и скопируйте конфигурационный файл по умолчанию \[OBJECT\] в \[OBJECT\]:

````
tar -xf r7office-X.Y.Z.tgz  
cp r7office/values.yaml values-r7office.yaml

4. ````
Заполните параметры файла конфигурации \[OBJECT\], описанные на [шаге 3](#fill-config-file).

5. В конфигурационном файле \[OBJECT\] для параметра \[OBJECT\] задайте значение \[OBJECT\]:

````
\# Настройки r7office  
r7office:  
...  
  # при наличии файла лицензии выставить параметру enable: значение true  
  # указать путь до лицензии в строке licensePath:  
  license:  
    enable: true  
    licensePath: "files/license.lic"  
...

6. ````
Скопируйте файл лицензии в каталог с распакованным чартом Р7-Офис по пути ````
\[OBJECT\]````
:

````
cp path\_to\_license\_file/license.lic r7office/charts/r7office/files/license.lic
````

````
Заполнение параметров подключения к приватному registry для установки в закрытом контуре без доступа в интернет

  
Для подключения к приватному **registry** нужно:

1. Скачать образы ELMA365 и загрузить их в локальный реестр образов. Подробнее об этом читайте в статье [«Загрузка образов ELMA365»](downloadin-images-elma365.md).

2. Задать адрес и путь для параметра \[OBJECT\].

3. Указать наименование секрета с правами доступа к приватному **registry** в параметре \[OBJECT\]. Секрет должен быть создан вручную и зашифрован в Base64.

````
\# Настройки r7office  
r7office:  
...  
  # параметры подключения к приватному registry  
  image:  
    # адрес и путь для приватного registry  
    repository: registry.example.com/r7office/documentserver-ee  
    tag: "7.3.3.59"  
  # секрет с правами доступа к приватному registry должен быть создан вручную, зашифрованный в Base64e  
  pullSecrets:  
    - myRegistryKeySecretName

````
  
Где формат **repository**:

- адрес — \[OBJECT\];

- путь — \[OBJECT\].

## Шаг 4. Установка чарта r7office с помощью Helm в Kubernetes-кластер

Выполните установку чарта r7-office в \[OBJECT\].

Для установки через интернет:

````
helm upgrade --install r7office elma365/r7office -f values-r7office.yaml -n r7office

````
Для офлайн-установки без доступа в интернет перейдите в каталог с загруженным чартом и выполните команду:

````
helm upgrade --install r7office ./r7office -f values-r7office.yaml -n r7office

Начало внимание

````
Установка компонента дополнений Р7-Офис автоматически не включает интеграцию сервера документов с приложением ELMA365.

````
Конец внимание

````
После установки нужно выполнить интеграцию сервера документов Р7-Офис с [модулем Р7-Офис](r7-office.md) в приложении ELMA365.

Для полноценной работы приобретите [лицензию ](https://r7-office.ru/stoimost-licenzii)[«](installing-harbor.md)[Р7-Офис. Профессиональный (серверная версия). Сервер документов](https://r7-office.ru/stoimost-licenzii)[»](installing-harbor.md).

## Удалить чарт r7office с помощью Helm в Kubernetes-кластере

````
Начало внимание

````
Перед удалением компонента дополнений Р7-Офис отключите использование [модуля Р7-Офис](r7-office.md) в приложении ELMA365.

````
Конец внимание

````
Чтобы удалить чарт r7-office в \[OBJECT\], выполните команду:

````
helm uninstall r7office -n r7office
````