Установка Ретрекера на DNS-323/343, FFP,Lighttpd,Mysql,PHP,PseudoTracker |
Здравствуйте, гость ( Вход | Регистрация )
Установка Ретрекера на DNS-323/343, FFP,Lighttpd,Mysql,PHP,PseudoTracker |
23.2.2009, 18:24
Сообщение
#1
|
|
Новичок Группа: Пользователи Сообщений: 9 Регистрация: 23.2.2009 Пользователь №: 576 |
Привет всем!
Опишу процесс установки PseudoTracker'a на NAS - Dlink DNS-323/343 ( http://wiki.dns323.info ). В тексте я буду учитывать, что не все пользователи имеющие у себя DNS-323 и желающие поставить у себя ретрекер владеют английским языком и основами linux. Не смотря на то, что все элементы довольно хорошо документированы, я попробую суммировать ссылки и методы установки ретрекера в одном тексте, вдруг кому пригодится ? В ПРОЦЕССЕ УСТАНОВКИ ИЗМЕНЯЮТСЯ ЗАВОДСКИЕ ПАРАМЕТРЫ УСТРОЙСТВА, ЕСЛИ ВЫ ДЕЛАЕТЕ ИЗМЕНЕНИЯ ПО ДАННОЙ ИНСТРУКЦИИ, ТО ВЫ ДЕЛАЕТЕ ЭТО НА СВОЙ СТРАХ И РИСК! УПРЕКИ И НАЕЗДЫ - НЕ ПРИНИМАЮТСЯ !!! Ну вот теперь, испугав самых пугливых начнем: Мною производилась установка на прошивке 1.06 с использованием: ffp (0.5) , Lighttpd (1.4.20), Mysql (14.12), PHP (2.2.0), PseudoTracker (патченый для совместимости с TorrentPatcher). Допущения: Вы устанавливаете ПсевдоТрекер на первый винчестер или рэйд массив, смонтированный, как /mnt/HD_a2 . В тексте упоминание 'DNS-323'='NAS '. Если некоторые пункты у вас уже сделаны переходите дальше. 1. Первое, что мы должны сделать, это установить fonz fun_plug (ffp), чтобы "превратить" наш NAS в ещё одну тачку - тихую, но малопроизводительную, работающую под обрезанным вариантом Linux'а в ARM архитектуре (Linux 2.6.12.6-arm1). А по сути получить доступ по telnet'у (можно и SSH но это другая песня). Описание процесса: http://wiki.dns323.info/howto:ffp и http://nas-tweaks.net/CH3SNAS:Tutorials/fun_plug По сути необходимо скачать два файла: http://www.inreto.de/dns323/fun-plug/0.5/fun_plug http://www.inreto.de/dns323/fun-plug/0.5/fun_plug.tgz и записать их в сетевой ресурс Volume_1 на вашем DNS-323 (например: \\192.168.0.4\Volume_1). Распаковывать fun_plug.tgz - не нужно! После этого необходимо перезагрузить DNS-323. После перезагрузки (более долгой чем обычно, поскольку происходит распаковка и установка необходимых компонентов) - telnetd установлен, вы можете воспользоваться shell'ом. Telnet <IP DNS-323> . Я все-же рекомендую использовать бесплатную программку putty. 2. Установка Web Server'a - Lighttpd Описание процесса: http://wiki.dns323.info/howto:ffp#lighttpd_web_server Скачиваем, устанавливаем и создаем директории: /mnt/HD_a2/www/pages - корень для страниц и /mnt/HD_a2/www/logs для журналов, устанавливаем автозапуск Web Server'a при перезагрузке: cd /mnt/HD_a2 wget http://www.inreto.de/dns323/fun-plug/0.5/p...pd-1.4.20-1.tgz funpkg -i lighttpd-1.4.20-1.tgz mkdir -p www/logs www/pages rm lighttpd-1.4.20-1.tgz chmod a+x /ffp/start/lighttpd.sh Об аспектах безопасности можно почитать здесь - http://forum.dsmg600.info/t793-Request-sec...o-lighttpd.html 3. Установка PHP: Описание процесса: http://wiki.dns323.info/howto:ffp#php Скачиваем, устанавливаем и копируем конфигурацию web сервера для php: cd /mnt/HD_a2 wget http://www.inreto.de/dns323/fun-plug/0.5/p...php-5.2.6-3.tgz funpkg -i php-5.2.6-3.tgz cd /ffp/etc cp examples/lighttpd.conf-with-php lighttpd.conf rm php-5.2.6-3.tgz 4. Установка MySQL сервера: Описание процесса: http://nas-tweaks.net/CH3SNAS:Tutorials/Mysql Скачиваем, устанавливаем и устанавливаем автозапуск MySQL сервера при перезагрузке: cd /mnt/HD_a2 wget http://www.inreto.de/dns323/fun-plug/0.5/p...ql-5.0.67-2.tgz funpkg -i mysql-5.0.67-2.tgz rm mysql-5.0.67-2.tgz chmod a+x /ffp/start/mysqld.sh Копируем облегченную конфигурацию и создаём директории: cp /ffp/etc/examples/mysql/my-small.cnf /ffp/etc/my.cnf mkdir /mnt/HD_a2/www/mysqldbs/ ln -s /mnt/HD_a2/www/mysqldbs/ /srv Создаем внутренние базы MySQL: cd /srv/ /ffp/bin/mysql_install_db Появятся 4-е строки предупреждений [Warning] - 'max_join_size', 'max_join_size', 'myisam_max_extra_sort_file_size', 'thread_stack' - просто игнорируем их. Запускаем Mysql: sh /ffp/start/mysqld.sh start И настраиваем параметры безопасности: /ffp/bin/mysql_secure_installation Отвечаем - Установить пароль для пользователя root - да, пишем пароль два раза, убираем анонимных пользователей, убираем возможность удаленного входа для польщователя root, стираем тестовые базы, и перезагружаем таблицы: --- Set root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y All done! --- Тестируем MySQL: mysql -p Выпадает приглашение MySQL> USE mysql; select the Host, User and Passwort from the Database: SELECT Host, User, Password FROM user; exit; должно появиться, что-то типа такого: +-----------+------+-------------------------------------------+ | Host | User | Password | +-----------+------+-------------------------------------------+ | localhost | root | *8D2414F01991E3B0B86E14D2469EACA0B6D78B99 | +-----------+------+-------------------------------------------+ 5. Редакторы : Для редактирования можно воспользоваться разными текстовыми редакторами: Все, что нам понадобится от текстовых редакторов, в упрощенном варианте, это возможность добавить симвомлы/строки, сохранение или не сохранение изменений в файле. а) Встроенный редактор 'vi', используется vi <путь/имя файла> , 'a' - начать редактирование, escape - закончить, ':wq' - сохранить, ':q!' - не сохранять (например при ошибке ввода). б) Редактор 'joe' более удобный, его можно установить так: cd /mnt/HD_a2 wget http://www.inreto.de/dns323/fun-plug/0.5/p...s/joe-3.5-1.tgz funpkg -i joe-3.5-1.tgz rm joe-3.5-1.tgz используется - joe -nobackups <путь/имя файла> , опция nobackups говорит о отказе от использования резервных файлов. Редактирование начинается сразу-же, сохранить - Cntrl-KX, не сохранять Cntrl-С . в) Можно также использовать редакторы под Windows, который может работать с переносами unix систем, например NotePad++ (она бесплатная) - http://notepad-plus.sourceforge.net/ru/site.htm, но не в коем случае не Блокнот (notepad) или Wordpad. 6. Настройка конфигураций (используя joe): joe -nobackups /ffp/etc/php.ini Ищем строки: extension=calendar.so ;extension=ctype.so ;extension=ftp.so ;extension=gd.so ;extension=mbstring.so Изменяем или добавляем: extension=mysql.so Ищем строку: extension_dir = Изменяем на : extension_dir = "/ffp/lib/php/extensions/no-debug-non-zts-20060613/" Сохраняем (Cntrl+KX) Запуск MySQL с привилегиями отличными от root (для увеличения уровня безопасности) sh /ffp/start/mysqld.sh stop useradd -U -s /bin/false mysql store-passwd.sh cd /srv chown -R mysql:mysql mysql cd /ffp/var/run/ chown mysql:mysql mysql joe -nobackups /ffp/start/mysqld.sh Ищем стороку: mysqld_flags="--user=root --skip-networking" Должно получиться: mysqld_flags="" Сохраняем файл. Добавляем в конец файла символическую ссылку для правильной работы MySQL после перезагрузки: joe -nobackups /ffp/etc/fun_plug.init В конец файла добавить: # create custom link to the server-folder ln -s /mnt/HD_a2/www/mysqldbs/ /srv Сохраняем файл. 7. Настройка ПсевдоТрекера: Скачиваем - http://pseudotracker.spb.ru/files/pseudotracker-1.1.2.zip и распаковываем архив в папку: \\<ВАШ NAS>\Volume_1\www\pages cd /mnt/HD_a2/www/pages wget http://pseudotracker.spb.ru/files/pseudotracker-1.1.2.zip unzip pseudotracker-1.1.2.zip cp -R pseudotracker-1.1.2/* . rm -rf pseudotracker-1.1.2 Проверим: ls должно появиться: >announce.php pseudotracker readme.txt Создаем пользователя для Ретрекера, таким образом. mysql -uroot -p (MySQL>) GRANT ALL PRIVILEGES ON *.* TO 'YOURUSERNAME'@'localhost' IDENTIFIED BY 'YOURPASSWORD' WITH GRANT OPTION; Где YOURUSERNAME надо заменить на пользователя под которым у нас с localhost Ретракер будет обращаться к базе. Например: tracker_user YOURPASSWORD на ваш пароль. Создаем таблицу для Ретрекера: (MySQL>) CREATE TABLE tracker; (MySQL>) USE tracker; (MySQL>) CODE CREATE TABLE `tracker` ( `info_hash` char(40) collate utf8_bin NOT NULL, `ip` char(8 ) collate utf8_bin NOT NULL, `port` int(11) NOT NULL, `update_time` int(11) NOT NULL, `descr` varchar(255) collate utf8_bin default NULL, `tracker` varchar(255) collate utf8_bin default NULL, `ip_real` varchar(32) collate utf8_bin default NULL, `publisherurl` varchar(255) collate utf8_bin default NULL, `pleft` bigint(16) default NULL, `downloaded` bigint(16) NOT NULL, `length` int(11) NOT NULL, `pisp` varchar(32) collate utf8_bin default NULL, `psize` bigint(16) NOT NULL, PRIMARY KEY (`info_hash`,`ip`,`port`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin; (MySQL>) COMMIT; (MySQL>) exit Поля `pisp` и `psize`введеный для совместимости с Торрент Патчером. Редактируем /mnt/HD_a2/www/pages/announce.php из виндом notepad++: \\<ВАШ NAS>\www\pages\announce.php , должно получиться так: $DBHost="localhost"; $DBUser="tracker_user"; $DBPass="<ВАШ ПАРОЛЬ>"; $DBName="tracker"; ^^^^ Для параметра DBUser и DBPass надо использовать реальные значения которые вы создали в пункте "Создаем пользователя для Ретрекера" Дальше ищем: $input_vars_str = array( 'info_hash', 'peer_id', 'event', 'descr', 'mt', 'pu', ); // Numeric $input_vars_num = array( 'port', 'uploaded', 'downloaded', 'left', 'numwant', 'compact', 'l', ); Меняем на: $input_vars_str = array( 'info_hash', 'peer_id', 'event', 'descr', 'mt', 'pu', 'name', 'comment', 'isp', ); // Numeric $input_vars_num = array( 'port', 'uploaded', 'downloaded', 'left', 'numwant', 'compact', 'l', 'size', ); Ищем: $descr = mysql_real_escape_string($descr); $pu = mysql_real_escape_string($pu); Меняем на: $descr = mysql_real_escape_string($name); $publisherurl = mysql_real_escape_string($comment); $main_tracker = mysql_real_escape_string($main_tracker); $isp = mysql_real_escape_string($isp); $pu = mysql_real_escape_string($pu); Ищем: mysql_query("INSERT INTO tracker (info_hash, ip, port, update_time, descr, tracker, ip_real, publisherurl, pleft, downloaded, length) VALUES ('$info_hash_sql', '$ip_sql', $port, ". time() .", '$descr', '$main_tracker', '$ip', '$pu', '$left', '$downloaded', '$l')") Меняем на: mysql_query("INSERT INTO tracker (info_hash, ip, port, update_time, descr, tracker, ip_real, psize, pisp, publisherurl, pleft, downloaded, length) VALUES ('$info_hash_sql', '$ip_sql', $port, ". time() .", '$descr', '$main_tracker', '$ip', '$size', '$isp', '$pu', '$left', '$downloaded', '$l')") Сохраняем файл. Редактируем /mnt/HD_a2/www/pages/pseudotracker/stats.php и /mnt/HD_a2/www/pages/pseudotracker/stats_mini.php, из виндов notepad++: \\<ВАШ NAS>\www\pages\pseudotracker\stats.php и \\<ВАШ NAS>\www\pages\pseudotracker\stats_mini.php, должно получиться так: $DBHost="localhost"; $DBUser="tracker_user"; $DBPass="<ВАШ ПАРОЛЬ>"; $DBName="tracker"; ^^^^ Для параметра DBUser и DBPass надо использовать реальные значения которые вы создали в пункте "Создаем пользователя для Ретрекера" Изменяем права на папку web документов: chmod -R 755 /mnt/HD_a2/www/pages Редактируем конфигурацию web сервера: joe -nobackups /ffp/etc/lighttpd.conf Ищим: server.port = Меняем на: server.port = 2710 Запускаем web сервер: sh /ffp/start/lighttpd.sh start 8. Проверка Ваш Ретрекер для анонса теперь доступен через http://192.168.x.x.x:2710/announce.php , статистика - http://192.168.x.x/pseudotracker/stats.php и мини статистика http://192.168.x.x/pseudotracker/stats_mini.php . Таким образом для проверки вам необходимо создать торрент файл с адресом аннонса на ваш адрес - http://192.168.x.x/announce.php и открыть его в любом торрент клиенте. Если вы все сделали правильно, то в статусе торрента появится надпись - работает (Working). Для использования Ретрекра в Локальных Провайдерских сетях все готово. Не забудьте сделать проброс портов вашего маршрутизатора на 2710 порт извне и попросите включить вас в списов ТоррентПатчера для своего провайдера. 9. Теперь вы сможете на своем DNS-323 так-же помогать людям раздавать с локальной скоростью торренты, при этом не включая компьютер! А так-же пропустить ваши раздаваемые торренты на DNS-323 через ваш Ретрекер! 10) Возможно есть опечатки и прошу прощения за столь длинный текст. Удачи! Jecksom. |
|
|
23.2.2009, 18:51
Сообщение
#2
|
|
Активный участник Группа: Пользователи Сообщений: 1 208 Регистрация: 14.12.2008 Пользователь №: 1 |
отличный мануал
-------------------- |
|
|
23.2.2009, 19:06
Сообщение
#3
|
|
Новичок Группа: Пользователи Сообщений: 9 Регистрация: 23.2.2009 Пользователь №: 576 |
Я старался
|
|
|
23.2.2009, 21:44
Сообщение
#4
|
|
Активный участник Группа: Модератор Сообщений: 480 Регистрация: 15.12.2008 Из: Москва, Орехово-Борисово Пользователь №: 8 |
Я старался Я извиняюсь)))) Но мне кажеться что такие как ты немного сумасшедшие, в хорошем смысле слова)))) Столько сделать, и тем более столько написать.... Молодца!!! -------------------- http://yodj.no-ip.org:2710/announce
http://yodj.no-ip.org:2710/statistic Район: Орехово-Борисово Префикс: orb Подсеть: 10.1.х.х, 10.167.х.х, 10.172.0-55.х Cвязанные районы: orb|zbl Подсеть Зябликово 10.252.0.1- 10.252.95.254 |
|
|
23.2.2009, 21:57
Сообщение
#5
|
|
Новичок Группа: Пользователи Сообщений: 9 Регистрация: 23.2.2009 Пользователь №: 576 |
Неа, просто у себя установил, промучился 7 часов пока пытался все состыковать и стало жалко информацию на "помойку" выбрасывать. Зто теперь Ретрекер работает 24/7/365 и компьютеры включать не надо
|
|
|
23.2.2009, 22:04
Сообщение
#6
|
|
Активный участник Группа: Модератор Сообщений: 480 Регистрация: 15.12.2008 Из: Москва, Орехово-Борисово Пользователь №: 8 |
Неа, просто у себя установил, промучился 7 часов пока пытался все состыковать и стало жалко информацию на "помойку" выбрасывать. Зто теперь Ретрекер работает 24/7/365 и компьютеры включать не надо А ты не в курсе, на мой Линксис WRT54GL такое можно? -------------------- http://yodj.no-ip.org:2710/announce
http://yodj.no-ip.org:2710/statistic Район: Орехово-Борисово Префикс: orb Подсеть: 10.1.х.х, 10.167.х.х, 10.172.0-55.х Cвязанные районы: orb|zbl Подсеть Зябликово 10.252.0.1- 10.252.95.254 |
|
|
23.2.2009, 22:32
Сообщение
#7
|
|
Новичок Группа: Пользователи Сообщений: 9 Регистрация: 23.2.2009 Пользователь №: 576 |
Если на прямую использовать инструкцию и модули, точно не пройдет.
Честно говоря я WRT54GL в руках сам не держал, но учитывая, что я прочитал бегло пробежавшись по поиску в интернете, народу толи уже удалось установить на WRT54GL - SQL сервер, PHP и web server, толи они близки к этой цели. А это уже путь к такому-же решению вопроса который выбрал и я. Но в 100% случаях ретрекер можно сделать имея в своём распоряжении только Perl. Правда данные придется хранить в файлах и процессор у WRT54GL не очень шустрый, но, как резервный ретрекер в сегменте вполне может пригодится. В общем на прямую нельзя |
|
|
Текстовая версия | Сейчас: 25.9.2024, 15:00 |