Skip to content
This repository has been archived by the owner on Feb 9, 2021. It is now read-only.

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

azhurb edited this page Jul 3, 2012 · 57 revisions

Актуальная версия доступна на официальной wiki

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

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

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

1. apache2
2. nginx
3. memcached (если необходимы временные ссылки для http тв каналов)
4. mysqld >= 5
5. php5 >= 5.3.0
6. php-soap *
7. php5-intl *
8. php-gettext *
9. php5-memcache *
10. php-pear
11. phing (для версии >= 4.8.0)
12. node.js >= v0.4.8 (для управления PVR)
13. upstart (для stalkerd - управление PVR)
14. apache2-rewrite (для REST API)
15. php5-curl *
16. php5-mysql *
17. php5-tidy *
18. php5-imagick *

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

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

1. apache2
2. php5 >= 5.3.0
3. php5-soap
4. python-argparse (для записей ТВ)
5. nginx (для ТВ архива, записей или VOD по HTTP)

Установка phing

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

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

  1. Распаковать архив с версией в корень веб сервера (/var/www/). Файлы проекта должны быть доступны по URL http://../stalker_portal/.

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

GRANT ALL PRIVILEGES ON stalker_db.* TO stalker@localhost IDENTIFIED BY '1' WITH GRANT OPTION;
  1. Если настройки отличаются от тех что по умолчанию - необходимо создать конфигурационный файл /var/www/stalker_portal/server/custom.ini и добавить в него отличающиеся от config.ini пункты настройки.

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

sudo phing
  1. На хранилищах для записи ТВ архива необходимо зайти в /var/www/stalker_portal/storage/ и выполнить
sudo ./install.sh
  1. Админ интерфейс будет доступен по url http://<portal_ip>/stalker_portal/. Доступ по умолчанию:
    логин: admin
    пароль: 1
    При необходимости пароль можно изменить в MySQL:
update administrators set pass=MD5('новый пароль') where login='admin';

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

  1. Создать новую папку /var/www/stalker_portal/ предварительно переименовав папку с предыдущей версией, например, в stalker_portal-old. Распаковать в созданную папку архив с новой версией.

  2. Скопировать файл custom.ini с предыдущей версии в новую.

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

sudo phing

Настройка MySQL

Установить в /etc/mysql/my.cnf

max_allowed_packet = 16M

Настройка PHP

Установить в /etc/php5/apache2/php.ini

short_open_tag = On

Настройка Node.js

Необходимо убедиться что в config.ini и custom.ini установлены правильные значения daemon_api_url и stalker_api_url

Настройка Apache

Включить mod_rewrite

sudo a2enmod rewrite

Установить в конфиге хоста, отвечающего за портал

Options -Indexes -MultiViews
AllowOverride All

Настройка Apache для хранилища

В /etc/apache2/ports.conf установить:

NameVirtualHost *:88
Listen 88

В /etc/apache2/sites-enabled/default.conf исправить <VirtualHost *:80> на <VirtualHost *:88>

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

Настройка Nginx для хранилища

Пример конфигурации:

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 ~* \.(ts|mpg|mpeg|avi|mkv|mp4)$ {
        send_timeout 6h;
        root /var/www/;
    }
}

Конфигурирование хранилища

Распаковать архив с версией портала. Скопировать папку /stalker_portal/storage/ в /var/www/stalker_portal/. Отредактировать файл /var/www/stalker_portal/storage/config.php и привести к виду:

define('VIDEO_STORAGE_DIR', '/media/storage/');
define('NFS_HOME_PATH', '/media/mac/');

Создать папки /media/storage/ и /media/mac/ и установить на них все права (0777).

Создать папку /var/www/media/.

Создать символьную ссылку на домашние директории приставок:

ln -s /media/mac/ /var/www/media/<имя хранилища>

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

Перед тем, как включать опцию "Вести ТВ архив" на тв канале надо сначала настроить хранилище.

В админ интерфейсе в разделе "Хранилища" нужно выбрать нужный сервер и установить на нем опцию "Запись ТВ". Затем на самом хранилище в /var/www/stalker_portal/storage/config.php необходимо правильно установить RECORDS_DIR, TASKS_API_URL и STORAGE_NAME.

  • RECORDS_DIR - папка с правами на запись 0777, в ней создастся каталог archive, в котором и будут создаваться файлы записи.

  • TASKS_API_URL - URI, по которому будет общаться процесс, записывающий канал, с middleware. Обычно это http://<путь к middleware>/api/tv_archive/. Т.е. если портал находится на http://192.168.1.1/stalker_portal/, то TASKS_API_URL будет http://192.168.1.1/stalker_portal/api/tv_archive/. Для проверки можно открыть в браузере этот URI, должно отобразиться:

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

Если отображается ошибка 404 Not Found, то возможно неправильно сконфигурирован apache и mod_rewrite.

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

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