下文参照如下链接,只是记录了我的所有实际安装过程,仅供各位参考。
http://blog.csdn.net/liwf616/article/details/9245901
xbt项目主页
https://code.google.com/p/xbt/
xbtt是xbt-Tracker的简称,官方网站http://xbtt.sourceforge.net/
xbt是一款高效能,低开销的BitTorrent软件,用c++写成。这是个纯tracker,不提供前台,可以自己制作前台(比如php)。我们主要用它的Bt Tracker。以前可以用cvs从sourceforge.net上面下载,后来好像是sourceforge.net停止了服务。现在发现它已经搬到了google code上面,但是项目源码好久没有更新了。不过对于研究p2p的tracker实现还是极具价值的,因为这个大牛就是Bittorrent的发明者之一吧。
这套源码基于c++ boost相关库开发,但是网络这块没有使用著名的boost::asio,而只是做了简单实现,不过代码非常简练,思路非常清晰,值得大家学习和揣摩。
下面开始我们在Ubuntu 14.04 64bit上的编译安装。
1.安装相关依赖库,主要就是boost的各个模块库,这里为了简单,直接选择二进制包安装,而非源码安装
sudo apt-get install cmake g++ make subversion zlib1g-dev
sudo apt-get install libboost-date-time-dev libboost-dev libboost-filesystem-dev
sudo apt-get install libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libmysqlclient-dev
2.从google code官网svn上下载源码
svn co http://xbt.googlecode.com/svn/trunk/xbt/misc xbt/misc
svn co http://xbt.googlecode.com/svn/trunk/xbt/Tracker xbt/Tracker
注意Tracker需要这两部分的代码,如果你是单独下载的,一定要把这二个文件夹放在xbt目录下(也就是xbt目录下有misc和Tracker)
3.安装LNMP环境
参见我的博文
http://blog.csdn.net/tao_627/article/details/27089399
4.创建数据库xbt极其相关表格
5.编译xbt_Tracker
cd xbt/Tracker
./make.sh
cp xbt_tracker.conf.default xbt_tracker.conf
重新编辑这个配置文件:
vim xbt_tracker.conf
修改其内容为
mysql_host = “localhost” //数据库地址,默认即可
mysql_user = root //数据库用户名
mysql_password = root //数据库密码
mysql_database = xbt //数据库名
6.启动xbt_Tracker
启动xbt-tracker: ./xbt_tracker
关闭xbt-tracker : kill “cat xbt_tracker.pid" //相应的进程号
announce地址:http://localhost:2710/announce
将其命名为xbt,再将其复制到/etc/init.d/xbt,添加到可执行权限
http://blog.csdn.net/liwf616/article/details/9245901
xbt项目主页
https://code.google.com/p/xbt/
xbtt是xbt-Tracker的简称,官方网站http://xbtt.sourceforge.net/
xbt是一款高效能,低开销的BitTorrent软件,用c++写成。这是个纯tracker,不提供前台,可以自己制作前台(比如php)。我们主要用它的Bt Tracker。以前可以用cvs从sourceforge.net上面下载,后来好像是sourceforge.net停止了服务。现在发现它已经搬到了google code上面,但是项目源码好久没有更新了。不过对于研究p2p的tracker实现还是极具价值的,因为这个大牛就是Bittorrent的发明者之一吧。
这套源码基于c++ boost相关库开发,但是网络这块没有使用著名的boost::asio,而只是做了简单实现,不过代码非常简练,思路非常清晰,值得大家学习和揣摩。
下面开始我们在Ubuntu 14.04 64bit上的编译安装。
1.安装相关依赖库,主要就是boost的各个模块库,这里为了简单,直接选择二进制包安装,而非源码安装
sudo apt-get install cmake g++ make subversion zlib1g-dev
sudo apt-get install libboost-date-time-dev libboost-dev libboost-filesystem-dev
sudo apt-get install libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libmysqlclient-dev
2.从google code官网svn上下载源码
svn co http://xbt.googlecode.com/svn/trunk/xbt/misc xbt/misc
svn co http://xbt.googlecode.com/svn/trunk/xbt/Tracker xbt/Tracker
注意Tracker需要这两部分的代码,如果你是单独下载的,一定要把这二个文件夹放在xbt目录下(也就是xbt目录下有misc和Tracker)
3.安装LNMP环境
参见我的博文
http://blog.csdn.net/tao_627/article/details/27089399
4.创建数据库xbt极其相关表格
登陆数据库
mysql -h localhost -u root -p
按照提示输入root后进入mysql命令行模式,在命令行提示符mysql>下输入
show databases;
创建数据库
create database xbt;
use xbt;
show tables;
使用xbt/Tracker目录下的xbt_tracker.sql脚本自动生成相关数据表
source /home/taoyx/program/xbt/Tracker/xbt_tracker.sql;
exit
5.编译xbt_Tracker
cd xbt/Tracker
./make.sh
cp xbt_tracker.conf.default xbt_tracker.conf
重新编辑这个配置文件:
vim xbt_tracker.conf
修改其内容为
mysql_host = “localhost” //数据库地址,默认即可
mysql_user = root //数据库用户名
mysql_password = root //数据库密码
mysql_database = xbt //数据库名
6.启动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
7.创建系统启动脚本
下面是系统启动脚本xbt,内容如下,需要修改xbt_tracker所在的源码路径
#!/bin/sh
XBT_PATH="/home/taoyx/program/xbt/Tracker"
DAEMON="$XBT_PATH/xbt_tracker"
PIDFILE="/var/run/xbt_tracker.pid"
DESC="XBTT Tracker"
NAME="xbt"
test -x $DAEMON || exit 0
case "$1" in
restart)
echo "Restarting $DESC"
start-stop-daemon --stop --quiet --pidfile $PIDFILE
rm -f $PIDFILE
start-stop-daemon --start --quiet --exec $XBT_PATH/xbt_tracker -- --conf_file $XBT_PATH/xbt_tracker.conf
;;
start)
echo "Starting $DESC"
start-stop-daemon --start --quiet --exec $XBT_PATH/xbt_tracker -- --conf_file $XBT_PATH/xbt_tracker.conf
;;
stop)
echo "Stopping $DESC"
start-stop-daemon --stop --quiet --pidfile $PIDFILE
rm -f $PIDFILE
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart}" >&2
exit 1
esac
exit 0
将其命名为xbt,再将其复制到/etc/init.d/xbt,添加到可执行权限
cd /etc/init.d
chmod +x xbt
添加到系统服务中,如下
chkconfig --list
chkconfig --add xbt
chkconfig --list
启动命令
sudo /etc/init.d/xbt start
关闭命令
sudo /etc/init.d/xbt stop
重启命令
sudo /etc/init.d/xbt restart