С недавнего времени в сетях провайдеров стали появляться так называемые ретрекеры. Что это такое, можете узнать в тут. По сути действия он является обычным анонимным трекером. Так что данная статья описывает как всё это дело установить, настроить и запустить на CentOS 5.4 (но и на других версиях должно быть аналогично).
Устанавливаем необходимые пакеты:
В качестве трекера используем хорошо зарекомендовавший себя XBT Tracker.
Выкачиваем исходники из svn и собираем их:
Если собралось нормально, то копируем бинарник и конфиг в нужные папки:
Создаём пользователя в mysql и базу для него:
Заливаем дамп базы данных:
Начальный этап пройден, теперь можно перейти к настройке.
Правим конфиг:
Создаём стартовый скрипт:
Сделаем его исполняемым и поставим в автозапуск:
Запускаем:
Проверяем работу пройдя по ссылке 127.0.0.1:2710/st
В принципе, на данном этапе можно и остановиться, но сделаем адрес трекера более красивым.
На этом этапе у вас должна быть настроена запись retracker.local (адрес ретрекера по-умолчанию, хотя можно использовать и другие адреса. а для анонимного и подавно) на ДНС сервере и правильно сконфигурированный веб-сервер. Т.к. на этой сервере уже стоял Apache 2, то будем настраивать его. Хотя Вы можете использовать любой другой.
В папке виртуального хоста правим .htaccess:
P.S.: Атрибут P — проксирует запросы. retracker.local можно/нужно заменить на 127.0.0.1
Сейчас проверяем работу пройдя по ссылке retracker.local/st и о чудо! Должно работать.
Осталось проверить как клиенты подхватывают трекер и всё!
Часть 0. Подготовка
Устанавливаем необходимые пакеты:
yum install boost-devel gcc-c++ mysql-devel subversion
Часть1. Установка
В качестве трекера используем хорошо зарекомендовавший себя XBT Tracker.
Выкачиваем исходники из svn и собираем их:
svn co https://xbtt.svn.sourceforge.net/svnroot/xbtt/trunk/xbt/misc xbt/misc
svn co https://xbtt.svn.sourceforge.net/svnroot/xbtt/trunk/xbt/Tracker xbt/Tracker
cd xbt/Tracker
./make.sh
Если собралось нормально, то копируем бинарник и конфиг в нужные папки:
# cp xbt/Tracker/xbt_tracker /usr/local/sbin/xbt_tracker
# cp xbt/Tracker/xbt_tracker.conf.default /etc/xbt_tracker.conf
Создаём пользователя в mysql и базу для него:
# mysql -u root -p
>CREATE USER 'xbt'@'localhost' IDENTIFIED BY 'YOU_PASSWORD';
>GRANT USAGE ON *.* TO 'xbt'@'localhost' IDENTIFIED BY 'YOU_PASSWORD';
>CREATE DATABASE IF NOT EXISTS `xbt`;
>GRANT ALL PRIVILEGES ON `xbt`.* TO 'xbt'@'localhost';
>exit;
Заливаем дамп базы данных:
mysql -u xbt -p xbt < xbt_tracker.sql
Начальный этап пройден, теперь можно перейти к настройке.
Часть 2: Настройка
Правим конфиг:
# nano /etc/xbt_tracker.conf
mysql_host = 127.0.0.1
mysql_user = xbt
mysql_password = YOU_PASSWORD
mysql_database = xbt
pid_file = /var/run/xbt_tracker.pid
announce_interval = 1800
anonymous_connect = 1
anonymous_announce = 1
anonymous_scrape = 1
auto_register = 1
full_scrape = 0
gzip_debug = 1
gzip_scrape = 1
Создаём стартовый скрипт:
# nano /etc/init.d/xbt
#!/bin/sh
#
# xbt Start/Stop the xbt daemon.
#
# chkconfig: 2345 99 01
# description: XBT Tracker
# processname: xbt_tracker
# pidfile: /var/run/xbt_tracker.pid
# Source function library.
. /etc/init.d/functions
options='--conf_file /etc/xbt_tracker.conf'
processname='/usr/local/sbin/xbt_tracker'
pidfile='/var/run/xbt_tracker.pid'
user='root'
home=`/bin/grep -E "^$user:" /etc/passwd | /bin/cut -d : -f 6`
start() {
export HOME=$home
echo -n $"Starting $processname: "
if [ -e $pidfile ] && [ -e /proc/`cat $pidfile` ]; then
echo -n $"cannot start $processname: $processname is already running."
failure $"cannot start $processname: $processname already running."
echo
return 1
fi
daemon $processname $options
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && ps ax | grep -w $processname | grep -v grep | awk '{print($1)}' > $pidfile
return $RETVAL
}
stop() {
export HOME=$home
echo -n $"Stopping $processname: "
killproc $processname
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $pidfile
return $RETVAL
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $processname
;;
*)
echo "Usage: $0 start|stop|restart|status"
;;
esac
Сделаем его исполняемым и поставим в автозапуск:
# chmod +x /etc/init.d/xbt
# chkconfig xbt on
Запускаем:
# /etc/init.d/xbt start
Проверяем работу пройдя по ссылке 127.0.0.1:2710/st
В принципе, на данном этапе можно и остановиться, но сделаем адрес трекера более красивым.
Часть 3. Настройка редиректов
На этом этапе у вас должна быть настроена запись retracker.local (адрес ретрекера по-умолчанию, хотя можно использовать и другие адреса. а для анонимного и подавно) на ДНС сервере и правильно сконфигурированный веб-сервер. Т.к. на этой сервере уже стоял Apache 2, то будем настраивать его. Хотя Вы можете использовать любой другой.
В папке виртуального хоста правим .htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^st/?$ http://retracker.local:2710/st [P]
RewriteRule ^announce/?$ http://retracker.local:2710/announce [P]
RewriteRule ^scrape/?$ http://retracker.local:2710/scrape [P]
P.S.: Атрибут P — проксирует запросы. retracker.local можно/нужно заменить на 127.0.0.1
Сейчас проверяем работу пройдя по ссылке retracker.local/st и о чудо! Должно работать.
Осталось проверить как клиенты подхватывают трекер и всё!