xbtt是xbt-Tracker的简称,官方网站http://xbtt.sourceforge.net/

 xbt是一款高效能,低开销的BitTorrent软件,用c++写成。这是个纯tracker,不提供前台,可以自己制作前台(比如php)。我们主要用它的Bt Tracker。以前可以用cvs从sourceforge.net上面下载,后来好像是sourceforge.net停止了服务。

 

好,现在我们开始安装(ubuntu 12.10)   //本人在ubuntu 12.10下亲测可行


一、下载源码

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    

下载xbt所有的源代码,我们需要misc和XBT Tracker这两个目录     

注意:如果你是单独下载的,一定要把这二个文件夹放在xbt目录下(也就是xbt目录下有misc和Tracker)

 

二、一些准备工作
(1)安装相应的库:

apt-get install cmake g++ libboost-date-time-dev libboost-dev \
libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \
libboost-serialization-dev libmysqlclient15-dev make subversion zlib1g-dev

注意:具体的库请查看官方网站http://xbtt.sourceforge.net/中的"Installing under Linux"说明

(2)安装mysql,并创建数据的账号和密码:

apt-get install mysql-server

(3)登陆数据库:

mysql -h localhost -u root -p

 (4)  创建数据库  "xbt"

create database xbt

 (5)  链接数据库

use xbt

 (6)  利用source命令,执行导入数据库的操作。创建脚本在xbt/Tracker目录下的 xbt_tracker.sql(这是生成表的脚本)

source /share/BiTorrent/xbt/Tracker

执行完上述步骤后,你的数据库已经安装完成,并完成了建Table等操作了。

三、编译xbt_Tracker
cd xbt/Tracker   //进入Tracker目录 
./make.sh        //执行make.sh脚本 
cp xbt_tracker.conf.default xbt_tracker.conf    //复制配置文件 正如上面所说,xbt是需要一个前台,需要数据库支持的
重新编辑这个配置文件:

vi xbt_tracker.conf


mysql_host = “localhost”  //数据库地址,默认即可 
mysql_user = root          //数据库用户名 
mysql_password = root       //数据库密码 
mysql_database = xbt       //数据库名

注意:mysql_database一项中,需要你事先准备好数据库,默认名字是"xbt",创建脚本在xbt/Tracker目录下的 xbt_tracker.sql(这是生成表的脚本)

最后执行./make.sh,

 

四、可有出现的问题
1、如果make.sh文件权限不足,用chmod修改:
chmod 755 make.sh  //将make.sh的权限设置为 -rwxr-xr-x  

2、如果遇到下面的情况
./make.sh    
在包含自 ../misc/sql/database.h:9 的文件中
从 server.h:10
从 connection.cpp:8:../misc/sql/sql_result.h:14:25: 错误:mysql/mysql.h:没有那个文件或目录
这表示找不到你自己安装的Mysql,需要定义下数据库的地址

cd ../misc        ln -s /usr/local/mysql/include/ mysql     //当然,mysql的地址要换成你自己的       
cd ../XBT/Tracker ./make.sh  
如果正常的话,这样就可以执行了。然后在Tracker目录下你会发现多出一个xbt_tracker的文件

3、./xbt_tracker   
如果出现了这个错误:
./xbt_tracker: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory    
还是mysql问题,建立连接,如下:

cd /usr/lib/     ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.15 libmysqlclient.so.15    //根据自己的数据库地址修改

五、使用

这个时候,可以说完成了,我们已经启动了xbt_tracker。可以使用了,祝贺!

启动xbt-tracker:    ./xbt_tracker

关闭xbt-tracker :    kill “cat xbt_tracker.pid"  //相应的进程号

announce地址:http://localhost:2710/announce

状态查看地址:http://localhost:2710/statistics或者是http://localhost:2710/statis

 

六、配置文件的修改:

mysql -h localhost -u root -p

create database xbt

use xbt
并插入下列代码: 
INSERT INTO xbt_config (name,value) VALUES ('announce_interval', '1800');
INSERT INTO xbt_config (name,value) VALUES ('anonymous_connect', '1');
INSERT INTO xbt_config (name,value) VALUES ('anonymous_announce', '1');
INSERT INTO xbt_config (name,value) VALUES ('anonymous_scrape', '1');
INSERT INTO xbt_config (name,value) VALUES ('auto_register', '1');
INSERT INTO xbt_config (name,value) VALUES ('clean_up_interval', '60');
INSERT INTO xbt_config (name,value) VALUES ('daemon', '1');
INSERT INTO xbt_config (name,value) VALUES ('debug', '0');
INSERT INTO xbt_config (name,value) VALUES ('gzip_debug', '1');
INSERT INTO xbt_config (name,value) VALUES ('gzip_scrape', '1');
INSERT INTO xbt_config (name,value) VALUES ('listen_ipa', '*');
INSERT INTO xbt_config (name,value) VALUES ('listen_port', '2710');
INSERT INTO xbt_config (name,value) VALUES ('log_access', '0');
INSERT INTO xbt_config (name,value) VALUES ('log_announce', '0');
INSERT INTO xbt_config (name,value) VALUES ('log_scrape', '0');
INSERT INTO xbt_config (name,value) VALUES ('pid_file', 'xbt_tracker.pid');
INSERT INTO xbt_config (name,value) VALUES ('read_config_interval', '300');
INSERT INTO xbt_config (name,value) VALUES ('read_db_interval', '60');
INSERT INTO xbt_config (name,value) VALUES ('redirect_url', '');
INSERT INTO xbt_config (name,value) VALUES ('scrape_interval', '0');
INSERT INTO xbt_config (name,value) VALUES ('table_announce_log', 'xbt_announce_log');
INSERT INTO xbt_config (name,value) VALUES ('table_files', 'xbt_files');
INSERT INTO xbt_config (name,value) VALUES ('table_files_users', 'xbt_files_users');
INSERT INTO xbt_config (name,value) VALUES ('table_scrape_log', 'xbt_scrape_log');
INSERT INTO xbt_config (name,value) VALUES ('table_users', 'xbt_users');
INSERT INTO xbt_config (name,value) VALUES ('write_db_interval', '60');

六、xbt_config表中配置字段的说明

下面你会发现所有可能的配置选项,并在该xbt_config表的默认值。 
名字:auto_register
描述:如果启用,它将使种子就跟踪自动注册。
默认值:0(禁用)


名字:anonymous_connect 
描述:如果启用,将允许任何人(匿名)来访问跟踪。
默认值:1(启用)


名字:anonymous_announce 
描述:如果启用,将允许任何人(匿名)公布的跟踪。
默认值:1(启用)


名字:anonymous_scrape 
描述:如果启用,将允许任何人(匿名),以刮的跟踪。
默认值:1(启用)


名字:守护进程 
描述:如果启用该服务器将作为守护进程运行(在后台)。
默认值:1(启用)


名字:调试 
描述:如果启用该服务器也将在调试模式下运行(去http://tracker:port/debug看到调试信息)。
默认值:0(禁用)


名字:full_scrape 
描述:如果启用该服务器将成为全刮到客户端。
默认值:0(禁用)


名字:gzip_debug 
描述:如果启用该服务器将gzip压缩(压缩)的调试页面。
默认值:1(启用)


名字:gzip_scrape 
描述:如果启用该服务器将gzip压缩(压缩)刮页。
默认值:1(启用)


名字:log_access 
描述:如果启用该服务器将创建一个与所有访问到服务器的文件。该文件将被命名为(xbt_tracker_raw.log)
默认值:0(禁用)


名字:log_announce 
描述:如果启用该服务器将记录所有进入宣布宣布表(xbt_announce_log)。
默认值:0(禁用)


名字:log_scrape 
描述:如果启用该服务器将记录所有进入刮表公布(xbt_scrape_log)。
默认值:0(禁用)


名字:announce_interval 
描述:默认宣布间隔(以秒为单位),将里面的torrent文件。
默认值:1800(30分钟)


名字:clean_up_interval 
描述:(以秒),默认的间隔清理那些标记删除种子。
默认值:60(1分钟)


名字:read_config_interval 
描述:(以秒计),其中的XBT二进制默认间隔将重新读取它的配置(从xbt_tracker.conf文件)。
默认值:60(1分钟)


名字:read_db_interval 
描述:(以秒计),其中的XBT二进制默认间隔将重新读取它的配置(从xbt_config表)。
默认值:60(1分钟)


名字:scrape_interval 
描述:(以秒),默认的间隔中,一个新的刮是允许的。
默认值:0(擦伤之间没有新的最短时间)


名字:write_db_interval 
描述:(以秒计),其中的XBT二进制将更新其数据库的默认值。
默认值: 15


名字:column_files_completed 
描述:在xbt_files_users表的'完成'字段的默认值。
默认值:完成


名字:column_files_fid 
描述:在xbt_files_users表中的'国际数字'字段的默认值。
默认值:国际数字


名字:column_files_leechers 
描述:在xbt_files_users表的'leechers'字段的默认值。
默认值:leechers


名字:column_files_seeders 
描述:在xbt_files_users表的'播种机'字段的默认值。
默认值:播种机


名字:column_users_uid 
描述:在xbt_files_users和xbt_users表中'的UID'字段的默认值。
默认值:的UID


名字:offline_message 
描述:脱机信息将出现在客户端程序。
默认值:空。如果指定的信息跟踪系统将offine。


名字:pid_file 
描述:文件中的跟踪器将存储在PID(进程ID)。
默认值:空


名字:query_log 
描述:其中的XBT二进制日志所有查询文件名的。
默认值:空


名字:redirect_url 
描述:该网址在客户端重定向,如果他/她试图访问浏览器通过一个正常的跟踪网址。
默认值:


名字:table_announce_log 
描述:为announce_log表的默认值
默认值:xbt_table_prefix(在xbt_tracker.conf)+ announce_log


名字:table_deny_from_hosts 
描述:为deny_from_hosts表的默认值。
默认值:xbt_table_prefix(在xbt_tracker.conf)+ deny_from_hosts


名字:table_files 
描述:这些文件的表的默认值。
默认值:xbt_table_prefix(在xbt_tracker.conf)+文件


名字:table_files_users 
描述:为files_users表的默认值。
默认值:xbt_table_prefix(在xbt_tracker.conf)+ files_users


名字:table_scrape_log 
描述:为scrape_log表的默认值。
默认值:xbt_table_prefix(在xbt_tracker.conf)+ scrape_log


名字:table_users 
描述:为用户表的默认值。
默认值:xbt_table_prefix(在xbt_tracker.conf)+用户


名字:torrent_pass_private_key 
描述:默认torrent通过私钥。
默认值:一个27字符的随机字符串


名字:listen_ipa 
描述:为的XBT跟踪IP地址。
默认值:空。它将运行在所有可用的IP的。


名字:listen_port 
描述:端口,其中XBT跟踪运行。
默认值:2710(TCP和UDP)

参考资料:http://www.linuxpk.com/81158.html

                  http://xbtt.sourceforge.net/

Logo

更多推荐