Установка и удаление сервиса Архив эпизодов🔗

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

Примечание

Данная возможность доступна только для лицензий Enterprise и ULTRA.

Сервис можно установить на любой компьютер. При этом устанавливать на этот компьютер сервер Macroscop не обязательно.

На всю систему настраивается один сервис.

Установка сервиса возможна в двух вариантах:

  • Онлайн, при наличии на устройстве доступа в интернет.

  • Оффлайн, при отсутствии на устройстве доступа в интернет.

Онлайн-установка
  1. Добавить репозиторий Macroscop:

    wget -O - https://packages.macroscop.com/deb/install/macroscop-deps-debian.sh | bash
    
  2. Установить сервис.

    sudo apt-get install macroscop-archive-episodes-service
    
Оффлайн-установка

Предупреждение

Для данного способа установки понадобится компьютер с выходом в Интернет и с операционной системой, соответствующей той, на которую необходимо установить сервис Архив эпизодов.

  1. Очистить локальный репозиторий:

    sudo apt-get clean
    
  2. Добавить репозиторий Macroscop:

    wget -O - https://packages.macroscop.com/deb/install/macroscop-deps-debian.sh | bash
    
  3. Скачать все необходимые пакеты (зависимости):

    sudo apt-get install -d -y macroscop-archive-episodes-service
    
  4. Создать директорию ArchiveEpisodesPackages и перенести в неё все скачанные пакеты:

    mkdir ~/ArchiveEpisodesPackages/ && cp -R /var/cache/apt/archives/*.deb ~/ArchiveEpisodesPackages/
    
  5. После этого скопировать всю директорию ArchiveEpisodesPackages на USB-носитель и перенести данные на сервер. Установить сервис Архив эпизодов и все зависимости можно при помощи следующей команды:

    sudo dpkg -i /путь_до_ArchiveEpisodesPackages/*.deb
    
Зависимости

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

  • aspnetcore-runtime-6.0 (>= 6.0)

  • debconf (>= 0.5)

  • postgresql-12

В процессе онлайн-установки пакеты зависимостей устанавливаются автоматически, в то время как при оффлайн-установке может потребоваться их ручная установка.

Уточнить наличие установленного пакета и его версию можно с помощью команды dpkg -s %имя_пакета%.

Обновление

Для обновления сервиса необходимо выполнить следующие команды:

sudo apt-get update

sudo apt-get install macroscop-archive-episodes-service

Либо скачать новый пакет из репозитория и установить его вручную с помощью команды dpkg.

Удаление

Для удаления сервиса необходимо выполнить следующую команду:

sudo apt-get remove macroscop-archive-episodes-service

Поддерживаемые дистрибутивы:

  • CentOS 7

Онлайн-установка
  1. Добавить репозиторий Macroscop:

    wget -O - https://packages.macroscop.com/rpm/install/macroscop-deps-centos.sh | bash
    
  2. Установить сервис.

    sudo yum install macroscop-archive-episodes-service
    
Оффлайн-установка

Предупреждение

Для данного способа установки понадобится компьютер с выходом в Интернет и с операционной системой, соответствующей той, на которую необходимо установить сервис Архив эпизодов.

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

    wget -O - https://packages.macroscop.com/rpm/install/macroscop-deps-centos.sh | bash
    
  2. Установить дополнения для yum:

    sudo yum install -y yum-utils
    
  3. Скачать все необходимые пакеты (зависимости):

    sudo yumdownloader --downloadonly --downloaddir=~/ArchiveEpisodesPackages macroscop-archive-episodes-service --resolve
    

После этого скопировать всю директорию ArchiveEpisodesPackages на USB-носитель и перенести данные на сервер. Установить сервис Архив эпизодов и все зависимости можно при помощи следующей команды:

sudo rpm -ivh /путь_до_ArchiveEpisodesPackages/*.rpm
Зависимости

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

  • aspnetcore-runtime-6.0 >= 6.0

  • policycoreutils-python >= 2.5

  • postgresql12-server

В процессе онлайн-установки пакеты зависимостей устанавливаются автоматически, в то время как при оффлайн-установке может потребоваться их ручная установка.

Уточнить наличие установленного пакета и его версию можно с помощью команды sudo rpm -qa | grep %имя_пакета%.

Обновление

Для обновления сервиса необходимо выполнить следующую команду:

sudo yum update macroscop-archive-episodes-service

Либо скачать новый пакет из репозитория и установить его вручную с помощью команды rpm.

Удаление

Для удаления сервиса необходимо выполнить следующую команду:

sudo yum remove macroscop-archive-episodes-service
Особенности работы

При установке на операционную систему CentOS могут возникнуть проблемы при работе сервиса с базой данных. Для того, чтобы их избежать, необходимо изменить настройки PostgreSQL.

Для этого откройте файл pg_hba.conf в любом текстовом редакторе.

Путь по умолчанию:

/var/lib/pgsql/12/data/pg_hba.conf

В файле измените метод аутентификации с ident на md5 для всех типов соединений.

Было

# TYPE

DATABASE

USER

ADDRESS

METHOD

# "local" is for Unix domain socket connections only

local

all

all

ident

# IPv4 local connections:

host

all

all

127.0.0.1/32

ident

# IPv6 local connections:

host

all

all

::1/128

ident

Стало

# TYPE

DATABASE

USER

ADDRESS

METHOD

# "local" is for Unix domain socket connections only

local

all

all

md5

# IPv4 local connections:

host

all

all

127.0.0.1/32

md5

# IPv6 local connections:

host

all

all

::1/128

md5

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

Предупреждение

Настройки выполняются на устройстве, где установлен сервис.

В процессе установки в корневом каталоге cервиса создаётся файл конфигурации appsettings.json, содержащий в себе сетевые настройки.

Путь по умолчанию:

/opt/MacroscopArchiveEpisodesService/appsettings.json

Настройки по умолчанию выглядят следующим образом:

{
    "ConnectionStrings": {
        "DatabaseConnectionTemplateWithoutDbName": "Host=localhost; Port=5432;Database={0};Username=macroscop;Password=masterkey"
    },
    "Serilog": {
        "MinimumLevel": {
            "Default": "Debug",
            "Override": {
                "Default": "Information",
                "Microsoft": "Warning",
                "Microsoft.Hosting.Lifetime": "Information"
            }
        },
        "WriteTo": [
            {
                "Name": "Logger",
                "Args": {
                    "configureLogger": {
                        "Filter": [
                            {
                                "Name": "ByIncludingOnly",
                                "Args": {
                                    "expression": "(@Level = 'Error' or @Level = 'Fatal' or @Level = 'Warning')"
                                }
                            }
                        ],
                        "WriteTo": [
                            {
                                "Name": "File",
                                "Args": {
                                    "path": "%LogsDir%/service.log",
                                    "rollOnFileSizeLimit": true,
                                    "fileSizeLimitBytes": "52428800",
                                    "retainedFileCountLimit": 10
                                }
                            }
                        ]
                    }
                }
            },
            {
                "Name": "Console",
                "Args": {
                    "outputTemplate": "===> {Timestamp:HH:mm:ss.fff zzz} [{Level}] {Message}{NewLine}{Exception}"
                }
            }
        ],
        "Enrich": [
            "FromLogContext",
            "WithMachineName",
            "WithThreadId"
        ],
        "Properties": {
            "Application": "LongTerArchiveService"
        }
    },
    "AllowedHosts": "*",
    "EpisodesDbRelativePath": "ArchiveServiceData/episodes-database",
    "AlwaysRedirectToHttps": "false",
    "Network": {
        "Endpoints": {
            "Http": {
                "Url": "http://*:8899"
            }
        }
    }
}

Для изменения HTTP порта необходимо найти в файле конфигурации следующую секцию:

"Network": {
    "Endpoints": {
        "Http": {
            "Url": "http://0.0.0.0:8899"
        }
    }
},

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

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

"Network": {
    "Endpoints": {
        "Http": {
            "Url": "http://0.0.0.0:8899"
        },
        "Https": {
            "Url": "https://0.0.0.0:18899",
            "Certificate": {
                "Path": "Файл .pfx",
                "Password": "Пароль"
            }
        }
    }
}

Где:

  • Файл.pfx: Расположение PFX файла сертификата.

  • Пароль: Пароль сертификата.

"Network": {
    "Endpoints": {
        "Http": {
            "Url": "http://0.0.0.0:8899"
        },
        "HttpsInlineCertAndKeyFile": {
            "Url": "https://0.0.0.0:18899",
            "Certificate": {
                "Path": "Файл .pem/.crt",
                "KeyPath": "Файл .key",
                "Password": "Пароль"
            }
        }
    }
}

Где:

  • Файл .pem/.crt: Расположение .pem/.crt файла сертификата.

  • Файл .key: Расположение .key файла сертификата.

  • Пароль: Пароль сертификата.

"Network": {
    "Endpoints": {
        "Http": {
            "Url": "http://0.0.0.0:8899"
        },
        "Https": {
            "Url": "https://0.0.0.0:18899",
            "Certificate": {
                "Subject": "Subject",
                "Store": "Store",
                "Location": "Location",
                "AllowInvalid": "true/false"
            }
        }
    }
}

Где:

  • Subject: Имя субъекта сертификата.

  • Store: Имя хранилища сертификата.

  • Location: Расположение хранилища сертификата. По умолчанию, CurrentUser.

  • AllowInvalid: Состояние политики использования недопустимых (например, самоподписанных) сертификатов. По умолчанию false.

Примечание

Изменение HTTPS-порта осуществляется аналогично протоколу HTTP, но для соответствующей секции.

Для включения принудительного перенаправления всех обращений к cервису на защищённое соединение необходимо найти и изменить значение с false на true для следующей строки:

"AlwaysRedirectToHttps": false,

Примечание

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

Также можно перезапустить службу через терминал, используя следующую команду:

sudo systemctl restart macroscoparchiveepisodes

Предупреждение

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

Связанные ссылки