Установка xbt tracker на centos 6.x

baltun

Администратор
Сообщения
10.908
Реакции
2.597
Баллы
2.003
Ретрекер (retracker, также встречается термин псевдотрекер) — bittorrent трекер, как правило, анонимный, работающий внутри адресного пространства локальной сети интернет провайдера. Использование ретрекера позволяет пирам обмениваться трафиком на повышенной скорости, используя внутреннюю адресацию локальной сети провайдера, так как доступ к локальной сети у многих российских интернет провайдеров разрешен на более высокой скорости, нежели доступ в интернет. Кроме того, использование ретрекера снижает нагрузку на магистральные каналы связи за счет того, что абонентам не нужно скачивать по отдельности одни и те же данные.

Устанавливаем необходимые пакеты:
Код:
yum install boost-devel gcc-c++ mysql-devel subversion

Выкачиваем исходники из 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

Правим конфиг:
Код:
# 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

Проверяем работу пройдя по ссылке
Если всё нормально, продолжаем.

P.S.: На этом этапе у вас должна быть настроена запись 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
Проверяем как клиенты подхватывают ретрекер.
 
Последнее редактирование:
Назад
Верх Низ