Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Установка Р7 Офис в домене ALDPro с помощью доменного репозитория. (На примере редактора Р7 Офис)

Обновлено: 15.12.25
Уточнение

Если клиенты находятся в закрытом от интернета контуре необходимо по инструкции от ALDPro подключить репозиторий с iso образом ОС Astra.

1. Настройка локального репозитория для продуктов Р7

1.1 Перейдите в Репозитории ПО

1.2 Создайте Новый репозиторий

1.3 Заполните и нажмите сохранить


Уточнение

После сохранения перейдите в созданную политику и запишите Абсолютный путь до репозитория, он понадобится для настройки репозиториев на клиентских ПК.

2. Добавление пакета в репозиторий

2.1 Перейдите во вкладку Версии и нажмите Новая версия

2.2 Необходимо выбрать Пакеты

2.3 Далее заполняйте по примеру

Нажмите сохранить

2.4 Перейдите во вкладку Текущее содержимое и нажмите Загрузить пакет

Выбираете нужный пакет и загружаете

2.5 После загрузки пакет появится в списке, после этого нажимаем кнопку Опубликовать

3. Настройка Групповой политики

3.1 Заходите в администрирование домена и выбирите Групповые политики

3.2 Создаем новую групповую политику

Вводим имя и нажимаем сохранить.

3.3 Далее перейдите в Доп.параметры групповых политик

3.4 Новый параметр

3.5 Пример заполнения

3.6 Перейдите во вкладку Атрибуты параметра — Новый параметр

3.6.1 Заполняем атрибут для копирования файла лицензии (идентификатор будет использоваться в скрипте)

3.6.2 Добавьте второй атрибут для выбора продукта для установки (идентификатор будет использоваться в скрипте)

3.7 Перейдите во вкладку Конфигурация скрипта и заполните тело скрипта

Уточнение

В блоке Добавления репозитория Р7 необходимо ввести Абсолютный путь

{% set name = salt['pillar.get']("app_name") %}
{% set source = salt['pillar.get']("license_file") %}
  
  
Добавление репозитория Р7:
  pkgrepo.managed:
  - humanname: r7-office
  - name: deb [trusted=yes] <Абсолютный путь к репозиторию> latest main
  - file: /etc/apt/sources.list.d/r7.list
 
  
Обновление:
  pkg.uptodate:
    - refresh: True
   
Установка продукта Р7:
  pkg.installed:
    - names:
      - {{ name }}
  
{% if name == 'r7-office' %}
Активация Р7-Редактор:
  file.directory:
    - name: /etc/r7-office/license
    - user: root
    - group: root
    - mode: '0777'
    - makedirs: True
    - recurse:
      - user
      - group
      - mode
  
  cmd.run:
    - name: "echo {{ source }} | base64 -d > /etc/r7-office/license/license.lickey"
    - unless: 'test -f /etc/r7-office/license/license.lickey'
    - shell: /bin/bash
  
{% elif name == 'r7-organizer' %}
Активация Р7-Органайзер:
  cmd.run:
    - name: "echo {{ source }} | base64 -d > /mnt/license.lickey"
    - unless: 'test -f /mnt/license.lickey'
    - shell: /bin/bash
   
Создание скрипта:
  file.managed:
    - name: /tmp/activate.sh
    - contents: |
        #!/bin/bash
        SOURCE_FILE="/mnt/license.lickey"
        while IFS=: read -r username _ uid gid _ homedir _; do
          if [ "$uid" -ge 1000 ] && [ -d "$homedir" ]; then
            mkdir -p "$homedir/.r7organizer/license_pro/"
            cp "$SOURCE_FILE" "$homedir/.r7organizer/license_pro"
            chown -R "$username":"$gid" "$homedir/.r7organizer"
            rm -fr "$homedir/.r7organizer/demo"
          fi
        done < /etc/passwd
    - user: root
    - group: root
    - mode: 600
 
Установка лицензии для доменных пользователей:
{% set active_domain_users = salt['aldpro_user.get_domain_user_sessions']() %}
{% for user in active_domain_users %}
{% set user_info = salt['user.info'](user) %}
 
{% if user_info %}
add_license_for_{{ user }}:
  file.managed:
    - name: {{ user_info.home }}/.r7organizer/license_pro/license.lickey
    - source: /mnt/license.lickey
    - user: {{ user }}
    - group: {{ user }}
    - mode: 644
    - makedirs: True
    - require:
    - user: {{ user }}
 
{% endif %}
{% endfor %}
  
Выполнение скрипта:
  cmd.script:
    - source: /tmp/activate.sh
  
Удаление скрипта:
  file.absent:
    - name: /tmp/activate.sh
 
Удаление временного файла лицензии:
  file.absent:
    - name: /mnt/license.lickey
 
{% endif %}

Заполните комментарий и сохраните

3.8 Перейдите в созданную групповую политику и во вкладке Параметры компьютеров выберите созданную групповую политику

3.9 Добавление подразделения для применения политики

Перейдите во вкладку Подразделения и нажмите Добавить подразделение

4. Применение политики

Для применения политики необходимо заполнить атрибуты

В поле app_name вводим r7-office (на данный момент только он присутствует в локальном репозитории)

В поле license_file необходимо ввести содержимое файла лицензии в формате Base64

Получить это значение можно с помощью команды

cat <filename> | base64 -w0

После применения политка начнёт работать

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

aldpro-salt-call state.apply gpupdate.gp

На примере данной статьи можно добавить в репозиторий приложения r7grafika и r7-organizer