Skip navigation

Сожалеем, в связи с изменением имени продукта Stalker Middleware на Ministra TV platform, в некоторых статьях вам еще будет встречаться название Stalker Middleware.

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

ОС

Ubuntu Server LTS 64 бита (рекомендуется)

Примерно на 1000 подписчиков

Middleware Server с порталом Ministra TV platform
ЦПУ Xeon E3 1220
ОЗУ 8 Гб
HDD 2xHDD HARDWARE RAID1

Примерно на 100 записей каналов, 100 одновременных просмотров

Хранилище медиа-контента
ЦПУ

2xXeon 2620

ОЗУ 32Гб
HDD Система - 2xHDD HARDWARE RAID1, Хранилище - 12xHDD HARDWARE RAID5

Выбор дистрибутива

Платформа может работать под любой *nix системой, однако настоятельно рекомендуем использовать последние стабильные 64 бит дистрибутивы Ubuntu 16.04 LTS или Ubuntu 14.04 LTS. Работа под другими дистрибутивами не гарантируется, либо часть функций middleware может быть не доступна.

Версия Ministra TV Platform Рекомендованная операционная система
5.5.0 и выше Ubuntu Server LTS 16.04
ниже 5.5.0 Ubuntu Server LTS 14.04


Установка Ministra TV Platform на Ubuntu 14.04 

Необходимые службы и пакеты

  1. apache2

  2. apache2-rewrite

  3. nginx

  4. memcached

  5. mysqld >= 5

  6. php 5 >= 5.3.0

  7. php5-mysql

  8. php-pear

  9. php-soap *

  10. php5-intl *

  11. php-gettext *

  12. php5-memcache *

  13. phing ** (для версии >= 4.8.0)

  14. nodejs>= v0.4.8

    (для управления PVR)

  15. upstart (для stalkerd - управление PVR)

  16. php5-curl *

  17. php5-tidy *

  18. php5-imagick *

  19. php5-geoip *

  20. php5-sqlite


* начиная с версии 4.8.35 ставятся автоматически при выполнении phing.

** - установка phing:

pear channel-discover pear.phing.info 
pear install phing/phing

Пример установки всех необходимых служб и пакетов одной командой для Ubuntu Server 14.04.3:

sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get install -y -u apache2 nginx memcached php5-memcache mysql-server php5 php5-mysql php-pear nodejs mcrypt php5-mcrypt npm php5-curl php5-imagick php5-sqlite upstart && sudo pear channel-discover pear.phing.info && sudo pear install -Z phing/phing

Порядок установки

При инсталляции Ministra TV Platform на Ubuntu 14.04 настоятельно рекомендуем повысить версию NPM до 2.15.11. В противном случае возможна некорректная установка списка пакетов приложений.

1. Установить необходимые пакеты и зависимости;
2. Распаковать архив с версией в корень веб сервера /var/www/ . Файлы проекта должны быть доступны по URL http://<you_ip_or_domain_name>/stalker_portal/ ;
3. Создать пользователя MySQL с доступом только в базу stalker_portal :
GRANT ALL PRIVILEGES ON stalker_db.* TO stalker@localhost IDENTIFIED BY '1' WITH GRANT OPTION;

4. Выполнить необходимые изменения в конфиге портала. Для изменения настроек/конфигурации, отличающихся от настроек по умолчанию - необходимо создать конфигурационный файл /var/www/stalker_portal/server/custom.ini и добавить в него отличающиеся от config.ini пункты настроек.

Не редактируйте файл config.ini! Если Вы хотите изменить некоторые настройки - создайте файл

custom.ini

и добавьте в него необходимую конфигурацию.
Не копируйте все содержимое файла config.ini в custom.ini. Добавляйте в custom.ini только те секции, которые необходимо изменить. Например, если вы хотите изменить настройки MySQL - создайте файл

custom.ini

со следующими строками:

[database] 
mysql_host = 10.128.1.3 
mysql_pass = superpass
5. Настроить MySQL, PHP, Node.js, Nginx;

6. Необходимо повысить версию NPM до 2.15.11.

sudo npm install -g npm@2.15.11 
sudo ln -s /usr/bin/nodejs /usr/bin/node 
sudo reboot

В случае, если при установке npm возникает ошибка Error: CERT_UNTRUSTED, воспользуйтесь командой:

npm config set strict-ssl false

7. Зайти в
/var/www/stalker_portal/deploy/ и выполнить:

sudo phing 

Обновление Ubuntu 14.04 до 16.04 c установленной Ministra TV Platform

Резервное копирование текущей системы Ministra

1. Создайте каталог для файлов резервных копий:

sudo mkdir /opt/backup

2. Выполните резервное копирование базы данных:

sudo mysqldump -u stalker -p1 stalker_db | gzip -9 > /opt/backup/database.sql.gz

где

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

3. Выполните резервное копирование каталога с порталом:
sudo cp -r /var/www/stalker_portal/ /opt/backup

Обновление портала Ministra

Для установки Ministra TV Platform на Ubuntu 16.04, необходимо использовать версию Ministra TV Platform 5.4.0 и выше.  Поэтому перед обновлением сервера необходимо обновить Ministra, если текущая используемая версия ниже, чем 5.4.0.

1. Обновите установленные пакеты:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

2. Выполните обновление версии.

Убедитесь, что у вас установлен пакет update-manager-core:

sudo apt-get install update-manager-core

Удалите пакеты, которые больше не требуются:

sudo apt-get autoremove

Выполните команду для обновления:

sudo do-release-upgrade

3. Нажмите y чтобы разрешить запуск дополнительного демона ssh на порту 1022. Он потребуется для доступа к системе в случае, если обновление не будет завершено.

Reading cache
 
Checking package manager
 
Continue running under SSH?
 
This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.
 
If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?
 
Continue [yN]

4. Далее вас проинформируют, что do-release-upgrade запустит новый процесс sshd на порту 1022:

Starting additional sshd 
 
To make recovery in case of failure easier, an additional sshd will 
be started on port '1022'. If anything goes wrong with the running 
ssh you can still connect to the additional one. 
If you run a firewall, you may need to temporarily open this port. As 
this is potentially dangerous it's not done automatically. You can 
open the port with e.g.: 
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'
 
To continue please press [ENTER]

Нажмите Enter.

5. Нажмите y чтобы подтвердить, что вы хотите начать обновление.

Do you want to start the upgrade?
 
 
6 installed packages are no longer supported by Canonical. You can
still get support from the community.
 
9 packages are going to be removed. 104 new packages are going to be
installed. 399 packages are going to be upgraded.
 
You have to download a total of 232 M. This download will take about
46 seconds with your connection.
 
Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.
 
Continue [yN]  Details [d]

6. Выберите <Yes> чтобы разрешить автоматический перезапуск служб, когда это необходимо.

Image Documentation

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

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

Например, вам будет предложено изменить конфигурацию по умолчанию для виртуального хоста Nginx. Нажмите N.
Configuration file '/etc/nginx/sites-available/default'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** default (Y/I/N/O/D/Z) [default=N]

8. Выберите опцию keep the local version currently installed для настройки unattended-upgrades.

Image Documentation

9. На новой системе без каких-либо изменений конфигурации вы можете ответить y, чтобы подтвердить удаление ненужных пакетов. На системе, которая была значительно модифицирована, вы можете ответить d и изучить предлагаемый для удаления список пакетов на случай, если в дальнейшем захотите переустановить некоторые из них.

Remove obsolete packages? 
 
74 packages are going to be removed. 
 
 Continue [yN]  Details [d]

10. После завершения обновления необходимо перезапустить сервер. Введите y для продолжения.

System upgrade is complete.
 
Restart required 
 
To finish the upgrade, a restart is required. 
If you select 'y' the system will be restarted. 
 
Continue [yN]

11. При использовании SSH отобразится сообщение следующего вида:

=== Command detached from window (Thu Oct  3 04:35:58 2019) ===
=== Command terminated normally (Thu Oct  3 04:36:08 2019) ===

12. Возможно, потребуется нажать любую клавишу для выхода, поскольку SSH сессия была прервана на стороне сервера. Подождите, пока система перезагрузится и войдите в неё снова.

13. Убедитесь, что система обновлена до Ubuntu 16.04. Для этого запустите следующую команду:

lsb_release -a

14. Установите необходимые пакеты.

sudo apt-get install php7.0-mcrypt php7.0-mbstring nginx memcached mysql-server php php-mysql php-pear nodejs libapache2-mod-php php-curl php-imagick php-sqlite3 && sudo pear channel-discover pear.phing.info && sudo pear install -Z phing/phing

15. Установите соответствующий sql_mode.

echo -e "[mysqld]\nsql_mode=\"\"" >> /etc/mysql/conf.d/strict_mode.cnf

16. Перезапустите MySQL сервер.

sudo service mysql restart

17. Включите короткие теги PHP.

sed -i 's/^short_open_tag = Off/short_open_tag = On/g' /etc/php/7.0/apache2/php.ini

18. Включите PHP mod_encrypt.

phpenmod mcrypt

19. При необходимости, установите версию NPM до 2.15.11.

sudo apt-get install npm; sudo npm install -g npm@2.15.11
sudo ln -s /usr/bin/nodejs /usr/bin/node

20. Удалите каталог PHP5.

sudo rm -rf /etc/php5/

21. Перейдите в  /var/www/stalker_portal/deploy/ и выполните:

sudo phing 


Установка Ministra TV Platform на Ubuntu 16.04

Порядок установки

Обратите внимание! Для установки Ministra TV Platform на Ubuntu 16.04, необходимо использовать версию Ministra TV Platform 5.4.0 и выше. Версии, которые ниже Ministra TV Platform 5.4.0, совместимы только с Ubuntu 14.04. При инсталляции Ministra TV Platform 5.4 на Ubuntu 16.04 настоятельно рекомендуем понизить версию NPM до 2.15.11. В противном случае возможна некорректная установка списка пакетов приложений.

1. Установить обновления системы:

sudo apt-get update
sudo apt-get upgrade

2. Установить и сконфигурировать apache:

sudo apt install apache2

Подробнее о том, как настроить Apache см. здесь.

sudo service apache2 restart

3. Установить оставшиеся пакеты одной командой:

sudo apt-get install php7.0-mcrypt php7.0-mbstring nginx memcached php-memcache mysql-server php php-mysql php-pear nodejs libapache2-mod-php php-curl php-imagick php-sqlite3 && sudo pear channel-discover pear.phing.info && sudo pear install -Z phing/phing-2.16.1

4. Распаковать архив с версией в корень веб-сервера /var/www/. Файлы проекта должны быть доступны по URL http://<you_ip_or_domain_name>/stalker_portal/;

5. Создать пользователя MySQL с доступом только в базу stalker_portal:

GRANT ALL PRIVILEGES ON stalker_db.* TO stalker@localhost IDENTIFIED BY '1' WITH GRANT OPTION;

6. Выполнить необходимые изменения в конфиге портала. Для изменения настроек/конфигурации, отличающихся от настроек по умолчанию - необходимо создать конфигурационный файл /var/www/stalker_portal/server/custom.ini и добавить в него отличающиеся от config.ini пункты настроек.

7. Настроить MySQL, PHP, Node.js, Nginx;

8. Необходимо понизить версию NPM до 2.15.11

sudo apt install npm
sudo npm install -g npm@2.15.11
sudo ln -s /usr/bin/nodejs /usr/bin/node

В случае, если при установке npm возникает ошибка Error: CERT_UNTRUSTED, воспользуйтесь командой:

npm config set strict-ssl false

9. Перейти в  /var/www/stalker_portal/deploy/

и выполнить:

sudo phing

Настройка MySQL, PHP, Node.js, Apache, Nginx

MySQL

Для Ubuntu 14.04:

echo "max_allowed_packet = 32M" >> /etc/mysql/my.cnf

Для Ubuntu 16.04:

echo "sql_mode=\"\"" >> /etc/mysql/mysql.conf.d/mysqld.cnf

После чего нужно перезапустить mysql server:

sudo service mysql restart

PHP

Для Ubuntu 14.04

Включите mod_mcrypt :

php5enmod mcrypt
echo "short_open_tag = On" >> /etc/php5/apache2/php.ini

Для Ubuntu 16.04

Включите mod_mcrypt :

phpenmod mcrypt
echo "short_open_tag = On" >> /etc/php/7.0/apache2/php.ini

Apache

  • Включить mod_rewrite :

a2enmod rewrite
  • Убедитесь, что пакет libapache2-mod-php5filter не установлен в системе. При необходимости, удалите его.
apt-get purge libapache2-mod-php5filter
  • Удалить содержимое /etc/apache2/sites-available/000-default.conf. Не забудьте сделать резервную копию.
cat /dev/null > /etc/apache2/sites-available/000-default.conf
  • Добавьте следующее содержимое в /etc/apache2/sites-available/000-default.conf
<VirtualHost *:88>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
        <Directory /var/www/stalker_portal/>
                Options -Indexes -MultiViews
                AllowOverride ALL
                Require all granted
        </Directory>
        <Directory /var/www/player>
                Options -Indexes -MultiViews
                AllowOverride ALL
                #Require all granted
                DirectoryIndex index.php index.html
        </Directory> 
		ErrorLog ${APACHE_LOG_DIR}/error.log
		CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • Установить в /etc/apache2/ports.conf :

Listen 88
  • Перезапустить apache :

service apache2 restart

Nginx

  • Пример конфигурации /etc/nginx/sites-available/default :
server { 
	listen 80; 
	server_name localhost; 

root /var/www;
    location ^~ /player {
        root /var/www/player;
        index index.php;
        rewrite ^/player/(.*) /player/$1 break;
        proxy_pass http://127.0.0.1:88/;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
    }

	location / { 
	proxy_pass http://127.0.0.1:88/; 
	proxy_set_header Host $host:$server_port; 
	proxy_set_header X-Real-IP $remote_addr; 
	} 

	location ~* \.(htm|html|jpeg|jpg|gif|png|css|js)$ { 
	root /var/www; 
	expires 30d; 
	} 
}
  • Перезапустить nginx
service nginx restart
  • Админ-интерфейс будет доступен по URL
http://<your_ip_or_domain_name>/stalker_portal/

.
Доступ в Админ-интерфейс по умолчанию:
логин: admin
пароль: 1.
Рекомендуемый браузер для админ-интерфейса: - Mozilla Firefox, Google Chrome.

При необходимости пароль можно изменить в MySQL:

update administrators set pass=MD5('новый пароль') where login='admin'
  • Клиентская часть будет доступна по URL
http://<your_ip_or_domain_name>/stalker_portal/c/index.html

.
В STB, URL клиентской часть портала устанавливается в - Системные настройки ⇒ Серверы ⇒ (Портал1 и/или Портал2). Переменные окружения - portal1, portal2.

Обновление версии

  1. Заполнить форму запроса на загрузку Ministra TV Platform на официальном сайте. Обратите внимание, при последующих обновлениях ссылка на скачивание будет отправляться на указанную при заполнении формы почту. Если ответ на запрос не пришел, обратитесь в техническую поддержку: support@infomir.eu;

  2. Переименовать каталог с предыдущей версией, например, в stalker_portal-old ;

  3. Скачать и распаковать архив с новой версией;
  4. Скопировать файл custom.ini из предыдущей версии в новую;

  5. Скопировать каталог /var/www/stalker_portal/screenshots/ из предыдущей версии в новую;

  6. Cкопировать все файлы каталогов stalker_portal/misc/logos/ (кроме dummy.png ) и stalker_portal/misc/audio_covers из предыдущей версии в соответствующие каталоги новой версии.

    Обратите внимание! Перед обновлением до новой версии, нужно установить рекомендуемую версию NPM 2.15.11.

  7. Зайти в /var/www/stalker_portal/deploy/ и выполнить:

sudo phing

После сброса пакетов приложений Smart Launcher в административной панели, все приложения должны работать корректно.

Локализация

Портал

Интерфейс Ministra TV platform может использовать следующие локали: русская (RU), английская (EN), украинская (UK), польская (PL), греческая (EL), итальянская (IT), немецкая (DE), словенская (SK), испанская (ES). По умолчанию Ministra вычитывает переменную текущей локализации из основного ПО и устанавливает локализацию интерфейса согласно этой переменной.

Для установки локализации портала Ministra по умолчанию необходимо:

  • создать файл custom.ini в каталоге .../stalker_portal/server/

  • скопировать в custom.ini секцию [Locales] из файла ...//stalker_portal/server/config.ini

  • отредактировать custom.ini

Примерное содержание custom.ini :

[locales] 
default_locale = ru_RU.utf8 
allowed_locales[Русский] = ru_RU.utf8 
allowed_locales[English] = en_GB.utf8 
allowed_locales[Українська] = uk_UA.utf8 
allowed_locales[Polski] = pl_PL.utf8 
allowed_locales[Ελληνικά] = el_GR.utf8 
allowed_locales[Nederlandse] = nl_NL.utf8 
allowed_locales[Italiano] = it_IT.utf8 
allowed_locales[Deutsch] = de_DE.utf8 
allowed_locales[Slovenský] = sk_SK.utf8 
allowed_locales[Español] = es_ES.utf8

Таким образом портал Ministra загрузится с английским интерфейсом независимо от локали внутреннего ПО.

Внимание! Название локалей используемых в Middleware и названия системных локалей на сервере - должны совпадать

Локализация интерфеса на других языках

Админ интерфейс

Для корректного переключение локализации в админ интерфейсе в системе должны быть установлены следующие локали: ru_RU.utf8 , en_GB.utf8 , uk_UA.utf8 , pl_PL.utf8 , el_GR.utf8 , nl_NL.utf8 , it_IT.utf8 , de_DE.utf8 , sk_SK.utf8 , es_ES.utf8 .

Установка • Конфигурирование хранилища (отдельный сервер)

Необходимые службы и пакеты

  1. apache2

  2. php5 >= 5.3.0

  3. php-soap

  4. libpython2.7-stdlib (для записей ТВ)

  5. nginx (для ТВ архива, записей или VOD по HTTP)

Порядок установки

1. Установить все необходимые службы и пакеты:

Ubuntu 16.04

sudo  apt-get install -y -u apache2 php php-soap python2.7 libapache2-mod-php realpath

Ubuntu 14.04

sudo  apt-get install -y -u apache2 php5 php-soap python2.7 realpath

2. Добавьте следующее содержимое в /etc/apache2/sites-available/000-default.conf

<VirtualHost *:88>
	TimeOut 1800
		ServerAdmin webmaster@localhost
		DocumentRoot /var/www
		<Directory /var/www/stalker_portal/>
			Options -Indexes -MultiViews
			AllowOverride ALL
			Require all granted
		</Directory>
		ErrorLog ${APACHE_LOG_DIR}/error.log
		CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3. Установить в /etc/apache2/ports.conf :

Listen 88

4. Убедиться что в системе не установлен пакет libapache2-mod-php5filter . При необходимости удалить его:

apt-get purge libapache2-mod-php5filter

5. Перезапустить apache :

sudo service apache2 restart

6. Установите Nginx:

sudo apt-get install -y -u nginx nginx-extras

Пример конфигурации в /etc/nginx/sites-available/default:

server {
    listen       80;
    server_name  example.com;
 
    location / {
        proxy_pass http://127.0.0.1:88/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
 
    location ~* \.(mpg|mpeg|avi|ts|mkv|mp4|mov|m2ts|flv|m4v|srt|sub|ass)$ {
 
        secure_link $arg_st,$arg_e;
        secure_link_md5 "supersecret$uri$remote_addr$arg_e"; # you can change secret "supersecret" in the portal config - nginx_secure_link_secret
 
        if ($secure_link = "") {
            return 403;
        }
 
        if ($secure_link = "0") {
            return 410;
        }
 
        send_timeout 6h;
        root /var/www/;
    }
}

7. Перезапустить Nginx:

sudo service nginx restart

8. Распаковать архив с версией портала. Скопировать содержимое каталога 
/stalker_portal/storage/ в /var/www/stalker_portal/storage ;

9. Создать каталоги /media/raid0/storage/ , /media/raid0/karaoke/ , /media/raid0/records/ , /media/raid0/mac/ и установить на них все права 0777 .

Создать в каталоге /var/www/media/ символьную ссылку на домашние директории приставок.

Создать каталог /media/raid0/records/archive/ . Cоздать символьную ссылку папки с архивом в корень web сервера.

Создать необходимые каталоги и символьные ссылки одной командой:

sudo mkdir -p -m 0777 /media/raid0/storage /media/raid0/karaoke /media/raid0/records /media/raid0/mac && sudo mkdir /var/www/media && sudo ln -s /media/raid0/mac/ /var/www/media/bb3 && mkdir -m 0777 /media/raid0/records/archive && sudo ln -s /media/raid0/records/archive/ /var/www

10. Отредактировать файл /var/www/stalker_portal/storage/config.php . В качестве примера будет использоваться следующий IP-адрес сервера с порталом: 192.168.1.71. Примерное содержание файла /var/www/stalker_portal/storage/config.php

define('VIDEO_STORAGE_DIR', '/media/raid0/storage/'); 
define('KARAOKE_STORAGE_DIR', '/media/raid0/karaoke/');
define('RECORDS_DIR', '/media/raid0/records/'); 
define('NFS_HOME_PATH', '/media/raid0/mac/'); 
//В качестве логина и пароля будут использоваться значения параметров api_auth_login и api_auth_password из файла server/custom.ini, который хранится на сервере с порталом.
define('API_URL', 'http://login:password@192.168.1.71/stalker_portal/api/'); 
define('PORTAL_URL', 'http://192.168.1.71/stalker_portal/'); 
define('STORAGE_NAME', 'bb3');
define('ASTRA_RECORDER', false);
define('DUMPSTREAM_BUFFERING', 1); // set -1 for system default

где:
VIDEO_STORAGE_DIR
- каталог хранения файлов Видеоклуба;
KARAOKE_STORAGE_DIR
- каталог хранения файлов Караоке;
RECORDS_DIR
каталог с правами на запись 0777 , в нем необходимо создать каталог archive , в котором и будут создаваться файлы ТВ-архива. См. Настройка ТВ Архива.
NFS_HOME_PATH
- домашняя директория приставок;
API_URL
- URL, по которому будут записываться каналы из middleware. Обычно это http://<middleware directory>/api/tv_archive/
PORTAL_URL
- адрес портала. К нему будет обращаться хранилище для проверки ключей доступа к архиву. Например, http://<portal ip or domain name>/stalker_portal/

STORAGE_NAME
имя хранилища, указанное в админ интерфейсе.

Для проверки можно открыть в браузере ваш

API_URL

для ТВ Архива

http://<you_ip_or_domain_name>/stalker_portal/api/tv_archive/

Должно отобразиться:

{“status”:“ERROR”,“results”:null,“error”:“Empty storage name”}

Если отображается ошибка

404 Not Found

, то, возможно, неправильно сконфигурирован 

apache

и 

mod_rewrite

. Внимание!

/tv_archive

- виртуальный каталог, создавать вручную его не нужно.

11. Для записи ТВ архива необходимо зайти в /var/www/stalker_portal/storage/ и выполнить:
chmod u+x install.sh tvarchive.sh
./install.sh


12. В админ интерфейсе портала, в разделе Хранилища выполнить необходимые настройки:

    • Имя - <имя хранилища>. Например: bb3 ;

    • IP - IP адрес хранилища, например 192.168.1.100.
    • Домашняя директория - <домашняя директория приставок>. Например: /media/raid0/mac/

      Подробнее о добавлении хранилища в административной панели смотрите здесь.

  • Настройка "ТВ Архива"

Перед тем, как включать опцию «Вести ТВ архив» на ТВ канале, необходимо сконфигурировать "хранилище". Внимание! Возможна запись только мультикаст потоков! Мультикаст потоки необходимых для записи каналов должны быть доступны на «Хранилище».

Проверить доступность мультикаст потоков необходимых каналов можно при помощи утилиты

dumprtp

. Утилита

dumprtp

входит в состав пакета

dvbstream

.

Пример:

dumprtp 239.1.1.1 1234 > dump239.1.1.1.ts

где:

  • 239.1.1.1 - IP адрес необходимого мультикаст потока;

  • 1234 - порт необходимого мультикаст потока;

  • dump239.1.1.1.ts - имя файла с дампом мультикаст потока.

Полученный файл проиграть любым доступным плеером (например: VLC).

1. Необходимо убедиться, что на сервере с порталом установлен и запущен memcached.
2. В админ интерфейсе в разделе Хранилища из выпадающего списка Разрешить запись ТВ нужно выбрать серверную программу, с помощью которой будет производиться запись на сервер хранилища.
3. После этого в админ интерфейсе при редактировании ТВ канала можно указывать опцию «Вести ТВ архив». Подробнее см. здесь.

Безопасность

Админ Интерфейс

Идентификация пользователя

В первую очередь необходимо включить модуль remoteip в apache. Это позволит видеть настоящий ip адрес пользователя при работе через nginx и использовать ограничение доступа по IP в конфигурационных файлах apache.

Включаем модуль remoteip :

 a2enmod remoteip

Если предварительно был включен модуль rpaf , отключаем его:

a2dismod rpaf

Создаем файл remoteip.conf по пути /etc/apache2/conf-available/ и добавляем в него следующее содержимое:

<ifmodule remoteip_module>   
	RemoteIPHeader X-Real-IP   
	RemoteIPInternalProxy 127.0.0.1 external_server_ip 
</ifmodule>

external_server_ip  - адрес вашего сервера.

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

a2enconf remoteip

В файле apache2.conf по пути /etc/apache2/ замените строку:

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

на следующее содержимое:

LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

После чего выполните перезапуск apache:

service apache2 restart


Ограничение доступа в админ интерфейс

Для более надежной защиты админ интерфейса портала настоятельно рекомендуется открывать к нему доступ только с определенных IP адресов. Это можно сделать в конфигурационном файле apache, в котором описывается хост портала. После изменений требуется перезапуск apache.

 <Directory /var/www/stalker_portal/server/adm/> 
	Order Deny,Allow 
	Deny from All 
	Allow from 192.168.1.0/24 
</Directory>

STB - Авторизация

Настоятельно рекомендуем для клиентского доступа к порталу использовать авторизацию пользователей по логину и паролю, метод - "Авторизация с ключом"

Ограничение доступа к порталу для всех новых приставок

Начиная с версии портала 4.8.63 в конфигурационном файле появилась опция  default_stb_status , которая позволяет закрыть доступ к порталу для всех новых приставок. Для того чтобы новые приставки по умолчанию были отключены, надо добавить в server/custom.ini :

default_stb_status = 0

Для старых версий в базе MySQL необходимо выполнить:

ALTER TABLE `users` MODIFY `status` tinyint DEFAULT 1;

При этом все приставки первый раз загрузившие портал будут в админ интерфейсе со статусом OFF.

Разграничение доступа на основе модели приставки

В Ministra присутствует возможность разграничивать доступ к порталу на основе модели приставки. Список всех моделей, которым разрешен доступ, описывается в параметре allowed_stb_types конфигурационного файла. Например, нужно добавить поддержку модели WR320, для этого нужно добавить в stalker_portal/server/custom.ini строку

allowed_stb_types = MAG200,MAG245,MAG250,MAG254,MAG255,MAG270,MAG275,AuraHD,WR320

Для приставок AuraHD существует возможность строгой проверки модели (параметр strict_stb_type_check ), в этом случае модель нужно указывать полностью. Например, доступ разрешен только для AuraHD International:

strict_stb_type_check = true allowed_stb_types = AuraHD9

Если модель поддерживает запись на локальные носители, то дополнительно можно добавить ее в соответствующий список

allowed_stb_types_for_local_recording = MAG245,MAG250,MAG255,MAG270,MAG275,AuraHD,WR320

Доступ STB в портал по логину и паролю

Простая авторизация

Организация доступа в портал для новых приставок по логину и паролю. Администратор портала создает логин/пароль и выдает пользователю. При первом запуске портала появится окно авторизации с полями для ввода логина и пароля. После успешной авторизации к логину в портале привязывается MAC адрес приставки. Последующие загрузки портала происходят без необходимости авторизации.

Для этого необходимо:

  1. В custom.ini добавить строку

    auth_url = http://localhost/stalker_portal/server/tools/auth_simple.php
  2. В админ интерфейсе в разделе Пользователи > Добавить - добавить пользователя, достаточно указать только логин (уникальный) и пароль. Поле MAC адреса заполнять не нужно.

Авторизация с ключом

Организация доступа в портал по логину и паролю. Администратор портала создает логин/пароль и выдает пользователю. При первом запуске портала появится окно авторизации с полями для ввода логина и пароля. После успешной авторизации на основании логина и пароля генерируется ключ доступа. Ключ хранится на STB. При последующих загрузках портала проверяется валидность ключа. При попытке подключить к порталу другую приставку используя этот же логин и пароль, пользователь так же увидит окно авторизации и при успешном вводе логина и пароля новое устройство получает ключ, предыдущее устройство автоматически разлогинивается.

Для этого необходимо:

  1. В custom.ini добавить строку

    auth_url = http://localhost/stalker_portal/server/tools/auth_every_load.php
  2. В админ интерфейсе в разделе Пользователи > Добавить необходимо добавить пользователя, достаточно указать только логин (уникальный) и пароль. Поле MAC адреса заполнять не нужно.

API

При включении/использовании API настоятельно рекомендуется уделять особое внимание БЕЗОПАСНОСТИ.

Рекомендуется использовать:

  • Аутентификацию (логин/пароль) для доступа к API Обязательно!.

  • Криптостойкие пароли.

  • Межсетевые экраны (firewall)

Биллинг

Если необходимо включение API для работы с внешними биллинговыми системами, то настоятельно рекомендуется использовать авторизацию. При этом в server/custom.ini необходимо указать логин и пароль

[server_api] 
; API required for tv archive, pvr and billing 
enable_api = true
api_auth_login = login ; указать логин 
api_auth_password = password ; указать пароль

Хранилища контента (VOD). ТВ Архив

На хранилищах, на которых ведется запись ТВ архива, в storage/config.php  в параметре API_URL нужно указать выбранные логин и пароль в формате:

define('API_URL', 'http://login:password@localhost/stalker_portal/api/');

Временные ссылки

Если используются временные ссылки Wowza для проигрывания тв каналов, то также нужно указать логин и пароль для работы с API в конфиге Wowza приложения. Для случая с nginx и VLC/udpxy ничего не требуется.

Настройка адреса API портала в конфигурационном файле приложения Wowza:

<Property> 
<Name>stalkerApiServer</Name> 
<Value>http://login:password@192.168.1.1/stalker_portal/api/</Value> 
</Property>

Мониторинг ТВ каналов

В скрипте check_channels.sh в API_URL необходимо указать URL с учетом авторизации:

API_URL=http://login:password@localhost/stalker_portal/api/monitoring_links/ 

Межсетевой экран

Рекомендуется на сервере с порталом открыть доступ к 88 порту (Apache) только для локального доступа и доступа с хранилищ, которые работают с использованием временных ссылок.


Need Help

Синди – эксперт по работе с Ministra TV platform и автор этой статьи.

Была ли полезна эта статья?

Да Нет

Сожалеем.
Как можно улучшить эту статью?

Мы используем cookie-файлы, чтобы оптимизировать работу сайта и предоставить вам лучший интерфейс; а также для продвижения нашей продукции. Ознакомьтесь с нашей политикой Cookie, чтобы узнать, как именно мы используем cookie-файлы, и как вы можете это контролировать.
Если вы продолжите пользоваться сайтом или закроете это сообщение — это значит, что вы согласны с нашей Политикой конфиденциальности и разрешаете использование cookie-файлов, как описано в политике Cookie.