Установка TorrentMonitor на Synology DSM 5.2

Аддоны и прочие интересные вещи
PRIMAS4UNO
Сообщения: 54
Зарегистрирован: 05 дек 2015, 10:47

Установка TorrentMonitor на Synology DSM 5.2

Сообщение PRIMAS4UNO » 05 дек 2015, 13:47

Версии софта: DSM 5.2-5592 Update 4. ; TorrentMonitor v. 1.2.8 . Дело было в декабре 2015.
Дисклаймер:
существует множество способов установки TorrentMonitor на DSM. Этот мануал не претендует на оригинальность, исчерпывающее объяснения и даже на работоспособность :). Основная идея это сделать все по максимуму из графической оболочки DSM.
0. Устанавливаем пакеты phpMyAdmin, PHP PEAR, MariaDB.
1. С помощью Панели управления включаем Web Station и личные веб-сайты.
Изображение
2. Для проверки можем перейти в браузере http://IP_ВАШЕГО_SYNOLOGY/ и любуемся на заглушку. Теперь лезем в папку \web где лежит заглушка от Synology index.html, добавляем её название BAK, что бы она нам не мешала.
Изображение
3. Скачиваем актуальную версию TorrentMonitor ( http://korphome.ru/torrent_monitor/tm-latest.zip ). Для этого можем использовать Download Station в самой Synology.
Изображение
4. Распаковываем и копируем содержимое \tm-latest.zip\TorrentMonitor-master на Synology в \web (этот каталог DSM должен был создать автоматом). Это можно сделать с помощью File Station сначала извлечь tm-latest.zip, а потом переместить в его содержание в папку \web .
Изображение
Изображение
5. Теперь займемся базой данных. Мы переместили ее исходник на Synology в каталог \web\db_schema . Нам нужно переименовать файл sqlite.sql в tm.sqlite .
Это можно сделать из File Station самой Synology.
Изображение
6. Аналогично переименовываем config.php.example в config.php . Исходник этого файла лежит на Synology \web\config.php.example .
Изображение
7. Нам нужно внести изменения в свеже переименнованый config.php . Открываем его в Текстовом редакторе Synology. Там мы раскомментируем строки для SQLite и правим путь к базе данных. Для этого убираем решетки # с начала двух строк.
Теперь нам нужно указать абсолютный путь до базы данных. Его можно посмотреть в свойствах tm.sqlite .
Изображение
Изображение
Изображение
8. Момент истины переходим в браузере http://IP_ВАШЕГО_SYNOLOGY/
Изображение
Если что-то не взлетело сразу, то перезагружаем Synology и чистим кэш браузера.

9. Радуемся и идем настраивать расписание запуска.
Скрипт запуска с логгирование ошибок /usr/bin/php -q /volume1/web/engine.php >> /volume1/web/torrent_monitor_error.log 2>&1 . Скормить его cron можно через Панель управления, Планировщик задач. Нужно создать новую задачу и настроить в ней скрипт и расписание.

10.Тонкая настройка.
Если у вас 5 раздач и все работает, как часы, не спешите радоваться, как слоны и добавлять 30+ раздач и радоваться заворачивая их в toronsyno, а лезьтек в консоль править в файле php.ini параметр max_execution_time. Мы должны привести его к такому виду max_execution_time = 300.
Это можно сделать разными способами (перед всеми лучше сделать бекап файла, но мы это опустим). В частности из под Win с помошью WinSCP, из консоли с помощью MC, через консоль командами. Файл должен быть в etc/php/php.ini или в /usr/syno/etc/php.ini
Учитывая что встроенный редактор vi, а не nano. То мне проще поставить из репозитария сообщества MC.
Рассмотрим из консоли MC:
NAS> cd /etc/php
NAS> mc
радуемся синеньким окошкам :)
Выбираем файл php.ini (правая кнопка мыши) и правим его Edit (внизу окна мышкой тыкаем в Edit)
Находим строчку max_execution_time = и акккуратно меняем значение на 300.
внизу окна мышкой тыкаем в Save и потом в Quit
Перезагружаем NAS, радуемся.


Если TorrentMonitor встал, то переходим к установке Transmission и прокси.

P.S.: Работать в браузере и использовать DSM не обязательно. Все можно сделать из под Windows, если у вас настроена Samba на Synology. Под Windows может пригодится putty http://www.chiark.greenend.org.uk/~sgta ... nload.html и Notepad++ https://notepad-plus-plus.org/), а может и не пригодится. Если проводник Windows настроен так, что при изменении имени не дает менять расширение, то можно открыть файл в Notepad ++ и оттуда Сохранить как под новым именем. Править файлы рекомендую в Notepad++ .

Attention! В зависимости от структуры и настроек вашей сети и DSM, есть вариант, что сервис будет торчать в Интернет. Сами решайте плюс это или минус.


Спасибо ElizarovEugene (KorP) и др. создателям TorrentMonitor за софт, и leshkakrash, 2gusia за мануалы.
Последний раз редактировалось PRIMAS4UNO 29 янв 2016, 13:05, всего редактировалось 2 раза.

PRIMAS4UNO
Сообщения: 54
Зарегистрирован: 05 дек 2015, 10:47

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение PRIMAS4UNO » 17 дек 2015, 21:01

Мануал дополнен. Альтернативный путь с MySQL и с Postgres пока без картинок. У многих Синоводов не работает . Если не сработало:

1. Проверьте права. Группа http должна иметь права читать и писать везде в каталоге web


2. Поменяйте базу данных SQLite tm.sqlite на другую. Соотвественно закомментировать/раскомментировать в config.php. Два рабочих рецепта от пользователей.

2.1.1 с MySQL через PHPMyAdmin от Sepro
Зашел в PHPMyAdmin (root пароль по умолчанию пустой) и создал пустую бд.
потом сделал импорт. в конфиге раскомментил строки для mysql, порт не менял, поменял только название бд, логин и пароль.

2.1.2 с MySQL через PHPMyAdmin от kms
Устанавливаем пакет phpMyadmin, запускаем. По умолчанию логин root, пароль пустой.
Выбираем сверху "Пользователи" потом "Добавить пользователя".
Имя пользователя - torrentmonitor
Хост - Локальный
Пароль - torrentmonitor
Подтверждение - torrentmonitor
Ставим галочку на - Создать базу данных с таким же именем и предоставить на неё все привилегии.
Ставим галочку на - Глобальные привилегии Отметить все
Жмем кнопку Вперед
Для проверки что все нормально выходим из phpMyadmin и логинимся уже под пользователем torrentmonitor
Если все нормально то выбираем слева созданную базу torrentmonitor, жмем "Импорт", выбираем базу mysql.sql, жмем Вперед....
И в принципе все.
PS: Возможно и не нужно выставлять все привилегии а выбрать только те что нужны, но я в этом не разбираюсь и выбрал все.
Без этого доступа к базе не было. Так что если кто прояснит этот пункт буду благодарен.


2.2 с Postgres от tsygam, через консоль(SSH). В последней команде конечно нужно путь до базы свой указать.
Пример после распаковки в /volume2/Web/TorrentMonitor
DS> /usr/syno/pgsql/bin/createuser -P torrentmonitor -U postgres
DS> /usr/syno/pgsql/bin/createdb -O torrentmonitor torrentmonitor -h localhost -U postgres
DS> cat /volume2/Web/TorrentMonitor/db_schema/postgresql.sql | psql -h localhost torrentmonitor torrentmonitor
Последний раз редактировалось PRIMAS4UNO 20 дек 2015, 10:20, всего редактировалось 2 раза.

KorP
Администратор
Сообщения: 1302
Зарегистрирован: 26 фев 2015, 11:34

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение KorP » 18 дек 2015, 10:35

По поводу http://www.synology-forum.ru/index.php? ... st&p=58431
Если я правильно понимаю вот тут
http://www.synology-forum.ru/index.php? ... st&p=58453 надо поставить галочку pdo_*
это поддержка PDO через которую реализована работа ТМ с базами

PRIMAS4UNO
Сообщения: 54
Зарегистрирован: 05 дек 2015, 10:47

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение PRIMAS4UNO » 18 дек 2015, 12:48

Там основная проблема в том что я всех с инструкцией на БД SQLite загоняю. Судя по отписавшимся этот вариант редко работает. Я его предложил т.к. он весь из вебморды Synology и требовал меньше движений при установки.
KorP писал(а):поставить галочку pdo_*
Мы синоводы линуксоиды пока ненастоящие :oops: . У меня с SQLite без этой галки работает. Но у меня много что правлено вручную из консоли входе разных экспериментов (да и вообще XPEnology), так что эталонной систему нельзя назвать .
P.S.: огромное спасибо за TorrentMonitor.

KorP
Администратор
Сообщения: 1302
Зарегистрирован: 26 фев 2015, 11:34

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение KorP » 18 дек 2015, 12:54

Я просто не знаю как это на синолоджи реализовано. На самом деле ТМ работает во всеми БД через PDO, что с sqlite, что с mysql, что с postgres.
у себя посмотреть не могу, у меня нет на нём ни одного доступного для системы раздела, все отданы под iSCSI и в натсройки PHP не пускает

kms
Сообщения: 67
Зарегистрирован: 17 дек 2015, 18:07

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение kms » 18 дек 2015, 13:10

KorP писал(а):По поводу http://www.synology-forum.ru/index.php? ... st&p=58431
Если я правильно понимаю вот тут
http://www.synology-forum.ru/index.php? ... st&p=58453 надо поставить галочку pdo_*
это поддержка PDO через которую реализована работа ТМ с базами
Нет, Не помогло, Все равно та же ошибка.
На счет PDO, я в этом не разбираюсь, но как только ошибка вылезла искал в инете именно по синолоджи.
В общем нашел подобную проблему только с другим софтом, там нужно было что то править в файлх как раз на счет этого PDO.
Но мне тоже не помогло. Да и ладно, работает через Postgres и хорошо :)

Imperator
Сообщения: 161
Зарегистрирован: 23 янв 2016, 15:25

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение Imperator » 24 янв 2016, 19:08

В инструкции задание из планировщика запускается из под рута. Если в engine.php будет вредноносный код, то он из под рута и сработает. Пробовал из под обычного пользователя - задание не выполняется. Какие будут соображения?

Imperator
Сообщения: 161
Зарегистрирован: 23 янв 2016, 15:25

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение Imperator » 24 янв 2016, 19:43

Создал пользователя torrentmonitor, добавил в группу http, запустил задание из под него. Лог создаётся и в нём невозможность записать время laststart.txt. Похоже из-за того, что когда tm запускается из веб сервера, то файл создаётся пользователем http с правами записи только для пользователя, а не для группы. Аналогично и другие файлы - торренты. Я не такой гуру в юниксах, но мне видится что если бы tm создавал файлы с правами на запись не только для пользователя, но и для группы, то проблема была бы решена. Или вообще без прав (000). Добавить задание в планировщик синолоджи от имени пользователя http нельзя - он скрытый.

Imperator
Сообщения: 161
Зарегистрирован: 23 янв 2016, 15:25

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение Imperator » 24 янв 2016, 21:02

Вроде решил. В /etc/passwd смотрим идентификатор пользователя http - у меня 1023. В /usr/syno/etc/scheduled_tasks ищем наше задание и меняем owner=0 на owner=1023. Рестарт накопителя и готово - планировщик запускает скрипт от пользователя http.

PRIMAS4UNO
Сообщения: 54
Зарегистрирован: 05 дек 2015, 10:47

Re: Установка TorrentMonitor на Synology DSM 5.2

Сообщение PRIMAS4UNO » 24 янв 2016, 22:24

За решение по запуску не из под root спасибо. Для острых параноиков есть вариант ставить в личную папку пользователя. Я пробовал. Только там сложнее настройки. Зато из коробки и путь ~/torrentmonitor .

Ответить