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


Recommended Posts

TorrentMonitor это система слежения за трекерами, которая автоматизирует процесс скачивания торрент-файлов.

 

Это значит что TorrentMonitor позволит загружать Ваши любимые сериалы на NAS автоматически, без особых усилий и сразу в момент их публикации. Принцип Один раз настроил и забыл. Аналог CouchPotato для русских трекеров.

 

Публикации:

http://habrahabr.ru/post/210548/

http://habrahabr.ru/post/157319/

Сайт http://blog.korphome.ru/torrentmonitor/

 

Версии софта: DSM 5.2-5592 Update 4. ; TorrentMonitor v. 1.2.8 . Дело было в декабре 2015.

Дисклаймер: [spoiler=]существует множество способов установки TorrentMonitor на DSM. Этот мануал не претендует на оригинальность, исчерпывающее объяснения и даже на работоспособность :smile:. Основная идея это сделать все по максимуму из графической оболочки DSM.

 

0. Устанавливаем пакеты phpMyAdmin, PHP PEAR, MariaDB.

1. С помощью Панели управления включаем Web Station и личные веб-сайты.

3390_900.png

2. Для проверки можем перейти в браузере http://IP_ВАШЕГО_SYNOLOGY/ и любуемся на заглушку. Теперь лезем в папку \web где лежит заглушка от Synology index.html, добавляем её название BAK, что бы она нам не мешала.

926_900.png

3. Скачиваем актуальную версию TorrentMonitor ( http://korphome.ru/torrent_monitor/tm-latest.zip ). Для этого можем использовать Download Station в самой Synology.

1029_900.png

4. Распаковываем и копируем содержимое \tm-latest.zip\TorrentMonitor-master на Synology в \web (этот каталог DSM должен был создать автоматом). Это можно сделать с помощью File Station сначала извлечь tm-latest.zip, а потом переместить в его содержание в папку \web .

1407_900.png

1760_900.png

5. Теперь займемся базой данных. Мы переместили ее исходник на Synology в каталог \web\db_schema . Нам нужно переименовать файл sqlite.sql в tm.sqlite .

Это можно сделать из File Station самой Synology.

 

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

 

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

 

 

2034_900.png

6. Аналогично переименовываем config.php.example в config.php . Исходник этого файла лежит на Synology \web\config.php.example .

2155_900.png

7. Нам нужно внести изменения в свеже переименнованый config.php . Открываем его в Текстовом редакторе Synology. Там мы раскомментируем строки для SQLite и правим путь к базе данных. Для этого убираем решетки # с начала двух строк.

Теперь нам нужно указать абсолютный путь до базы данных. Его можно посмотреть в свойствах tm.sqlite .

2527_900.png

2597_900.png

2884_900.png

8. Момент истины переходим в браузере http://IP_ВАШЕГО_SYNOLOGY/

3075_900.png

Если что-то не взлетело сразу, то перезагружаем Synology и чистим кэш браузера.

 

9. Радуемся и идем настраивать расписание запуска.

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

 

5593_900.png

 

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

 

Если что-то не взлетело сразу, то перезагружаем Synology и чистим кэш браузера.

 

10. Устанавливаем с помощью Центра пакетов transmission . В стандартном репозитарии его нет поэтому подключаем репозитарий сообщества synocommunity http://packages.synocommunity.com/ . Нужно разрешить установку пакетов выпущенных Любым разработчиком. Внутренний параноик говорит, что возможно хватит доверенных разработчиков и по завершению установки эту настройку нужно вернуть.

 

4432_900.png

4709_900.png

5988_800.png

 

11. В принципе можно использовать публичные прокси. Список можно посмотреть https://hideme.ru/proxy-list/ . Однако если на Synology у вас есть Docker и 35 мегабайт памяти... Устанавливаем Docker. Ищем в реестре toronsyno, качаем и устанавливаем. В общем единственная настройка проброс порта 9150.

6233_800.png

3755_800.png

3905_600.png

 

 

12. Тонкая настройка.

Если у вас 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

радуемся синеньким окошкам :smile:

Выбираем файл php.ini (правая кнопка мыши) и правим его Edit (внизу окна мышкой тыкаем в Edit)

Находим строчку max_execution_time = и акккуратно меняем значение на 300.

внизу окна мышкой тыкаем в Save и потом в Quit

Перезагружаем NAS, радуемся.

 

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 за мануалы.

P.S.: отписывайтесь плиз завелось или нет.

Edited by Guest
Link to post
Share on other sites

Лучше использовать mysql, c sqlite возникнут проблемы при обновлении, я за 2 года использования обновлял его кучу раз.

Link to post
Share on other sites

Я еще DSM не обновлял поэтому прибываю в блаженном неведении. Я честно говоря даже до конца не определился буду ли я XPEnology вообще обновлять... sqlite показалось просто проще настроить для TM. Пробовал делать пользователя torrentmonitor с личным сайтом /synoIP/~torrentmonitor там пришлось mysql и вообще брать бубен побольше. Как именно ломалось при обновлении с sqlite?

Link to post
Share on other sites

Я имел в виду обновление самого TorrentMonitor, обновления и дополнения выходят довольно часто. Как будет происходить обновление базы данных?

Link to post
Share on other sites

Давайте попробуем разобраться. Я так понимаю что на 8 пункте застряли? IP адрес у Synology постоянный? Заглушка Synology работала? (2 пункт). Перезагружать Synology и заходить с др. браузера пробовали? Как браузер ругается при попытки открыть? По поводу https у меня заходит и так и так, но система сильно юзанная и может из коробки это не норма. Пример для адреса Synology http://192.168.1.3 или https://192.168.1.3 . При https ругается на сертификат, но под принуждением заходит.

Link to post
Share on other sites
Лучше использовать mysql, c sqlite возникнут проблемы при обновлении, я за 2 года использования обновлял его кучу раз.

 

а почему не postgresql который уже есть в DSM? у меня взлетело легко.

 

ps: спрашиваю т.к. не знаю, а не чтобы поспорить.

Link to post
Share on other sites
Лучше использовать mysql, c sqlite возникнут проблемы при обновлении, я за 2 года использования обновлял его кучу раз.

 

а почему не postgresql который уже есть в DSM? у меня взлетело легко.

 

ps: спрашиваю т.к. не знаю, а не чтобы поспорить.

 

Расшифруйте плиз. У вас по этому мануалами с картинками завелось? Базу данных какую использовали?

Link to post
Share on other sites

Отпишитесь пожалуйста если у кого нибудь взлетит (?взлетело) по инструкции с картинками. Если не взлетело тем более отпишитесь. А то есть товарищи у которых не работает, мне понять это проблема в инструкции или косяки DSM у отдельных товарищей.

Link to post
Share on other sites

c SQLLite не влетело. Забыл какая ошибка, но у вас на форуме она обсуждалась - не создавалась база.

 

с Postgres, после распаковки в /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

 

все взлетело.

Link to post
Share on other sites

По поводу того что не влетело...

Айпи у дсм статика. Заглушка работала, проверил. После всего выше описанного перезагружался. Как результат: Просто не пустая страница. Захожу по айпи как 192.168.1.5 а в ответ тишина. И хттп в начале адреса прописывал, тишина. С другого браузера то же самое, с планшета и телефона тоже. Такое ощущение что косяк с правами на файлы.

Кстати, пробовал в адресе прописывать адрес на конкретные пхп файлы, но реакция нулевая. С работы приеду, буду еще копать, вещь хорошая, надеюсь что все заработает)

P.S. базу на чем запускали и как? Или не надо ничего помимо инструкции? Скачивать и настраивать для бд надо что?

Link to post
Share on other sites

базу на чем запускали и как? Или не надо ничего помимо инструкции? Скачивать и настраивать для бд надо что?

 

У меня система сильно юзанная. Проблема в том что TM у меня стоял. Я его для проверки мануала аккуратно сбекапил, перед публикацией на форуме по инструкции чистенький ТorrentMonitor для проверки поставил. Но поддержка БД и все права на папку WEB у меня уже могли быть из предыдущих опытов с XPEnology.

 

Однако специально для SQLite вроде нечего не ставил.

 

У кого с БД проблемы так обычно ругань типа:

Fatal error: Call to a member function bindParam() on a non-object in /volume1/web/class/Database.class.php on line 86

или вариации не на Synology:

Fatal error: Call to a member function prepare() on a non-object in /var/www/html/torrentmonitor/class/Database.class.php on line 67

Edited by Guest
Link to post
Share on other sites

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

Единственное я делал отдельную папку в web для torrentmonitor. А базу использовал mysql, для удобства есть phpMyAdmin

Edited by Guest
Link to post
Share on other sites

Делал по инструкции, вылезает такая ошибка :

Fatal error: Call to a member function bindParam() on a non-object in /volume1/web/class/Database.class.php on line 86

Подозреваю, что sqllite нужно как то ставить дополнительно, но в центре пакетов нужного не нашел, мб плохо искал...

Link to post
Share on other sites
У меня TorrentMonitor стоит очень давно, но я точно помню, что при установке приходилось менять права вручную. Как только появится возможность залогиниться в веб интерфейс, там есть функция теста, результаты подскажут на какие файлы права не правильно установлены.

Единственное я делал отдельную папку в web для torrentmonitor. А базу использовал mysql, для удобства есть phpMyAdmin

 

У меня даже морды логина нету. Просто чистая белая страница

Link to post
Share on other sites
Делал по инструкции, вылезает такая ошибка :

Fatal error: Call to a member function bindParam() on a non-object in /volume1/web/class/Database.class.php on line 86

Подозреваю, что sqllite нужно как то ставить дополнительно, но в центре пакетов нужного не нашел, мб плохо искал...

 

Хм... Должен признаться, что я не волшебник, я просто палочку с гуглом нашел. Поэтому грамотного и точного ответа я дать немогу.

У меня просьба. Давайте, перед тем как попробовать другую базу данных попробуем проверить права доступа на tm.sqlite . Я как ненастоящий Линуксоид прошу показать скриншот прав на файл базы web/db_schema/tm.sqlite.

7010_900.png

Link to post
Share on other sites

Что касается файла tm.sqlite

6f65033b5c7fba9bded9a767a6b20657.png

 

А точно нужно включать "Личный сайт"? а то там в описании про папку www говорится...

 

Бред какой-то. Все удалил, выключил web, перезагрузился. Включил, скопировал все по новой, переименовал бд, поправил конфиг. Ноль реакции! Просто белая страничка и ничего, даже ошибки нет

Edited by Guest
Link to post
Share on other sites
Что касается файла tm.sqlite

6f65033b5c7fba9bded9a767a6b20657.png

 

А точно нужно включать "Личный сайт"? а то там в описании про папку www говорится...

 

Работать должно без "Личного сайта". Хотя вреда от него не будет. Не вижу где советуют его включить.

Если я правильно понимаю, то у вас по скриншоту получается что группа http отвечающая за web службы в Synology писать в Базу данных не может. А надо что бы могла...

Link to post
Share on other sites
Что касается файла tm.sqlite

6f65033b5c7fba9bded9a767a6b20657.png

 

А точно нужно включать "Личный сайт"? а то там в описании про папку www говорится...

 

Работать должно без "Личного сайта". Хотя вреда от него не будет. Не вижу где советуют его включить.

Если я правильно понимаю, то у вас по скриншоту получается что группа http отвечающая за web службы в Synology писать в Базу данных не может. А надо что бы могла...

 

Есть там про личный сайт, но не отмечено на скрине

Сейчас без него пробовал и ничего. Что касательно прав к дб: тогда бы морда появилась бы, а дальше ошибки связанные с бд были. У меня же вообще ничего

 

UPD: поправил права, выставил доступ к бд, реакция та же: пустая страница. На заглушку выходит без проблем, а вот просто на synology_ip пустая страница

Link to post
Share on other sites
а PHP включен?

и проверь PHP extension

 

Сейчас поковырялся, не знаю почему, но: удалил все файлы, разархивировал в /web/tm и после этого появилась ошибка: Error!: open_basedir prohibits opening /volume1/homes/ххх/www/tm/db_schema/tm.sqlite

 

Понимаю что надо в сторону пхп писать, но не могу понять куда? в extensions что нужно убрать/добавить?

Link to post
Share on other sites