Предыстория: Подрабатываю на одной конторе, напрягли в свое время поставить медиа-портал нового поколения, тьфу на него, гавно редкостное, купили на свою голову, чтобы не нарываться ни на кого не буду указывать пальцем 😉 В общем портал поставил, а оказывается для него еще необходимо установить XBT Tracker, ну надо значит надо подумал я, и взялся устанавливать сие чудо.
В общем начал с того что зашел на офф сайт и почитал что он из себя вообще представляет, ничего необычного, и принялся за установку.
Для его работы и установки были необходимы две приблуды, это subversion и boost.
Итак начнем с установки именно этих вещей :):
make -C /usr/ports/devel/subversion install clean
make -C /usr/ports/devel/boost install clean
Установка проходит обычно без сучка и задоринки.
Скажем теперь фряхе что мы поставили новое ПО, пусть посмотрит на него:
rehash
Собственно качаем исходники трекера:
cd /usr/local/ && 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 && chmod +x make.sh && ./make.sh
Создаем базу даных, пользователя и заливаем дамп базы:
заходим под рутом в мускул
mysql -uroot -p
создаем пользователя и БД
>CREATE USER 'xbtt'@'localhost' IDENTIFIED BY 'super_passwd';
>GRANT USAGE ON *.* TO 'xbtt'@'localhost' IDENTIFIED BY 'super_passwd';
>CREATE DATABASE IF NOT EXISTS `xbtt`;
>GRANT ALL PRIVILEGES ON `xbtt`.* TO 'xbtt'@'localhost';
>exit;
super_passwd — меняем на свой пас для пользователя БД трекера
Заливаем дамп БД:
mysql -uxbtt -p xbtt < xbt_tracker.sql
спросит пароль на пользователя БД, у меня это super_passwd, его я и ввел 🙂
Копируем дефолтный файл настроек и правим его под себя
cp xbt_tracker.conf.default xbt_tracker.conf && ee xbt_tracker.conf
Я состряпал такой файл:
mysql_host = localhost
mysql_user = xbtt
mysql_password = super_passwd
mysql_database = xbtt
pid_file = /var/run/xbt_tracker.pid
announce_interval = 1800
anonymous_connect = 0
anonymous_announce = 0
anonymous_scrape = 0
auto_register = 0
clean_up_interval = 180
daemon = 1
debug = 0
full_scrape = 1
gzip_debug = 1
gzip_scrape = 1
listen_ipa = АЙПИ сервера
listen_port = 2710
log_access = 0
log_announce = 0
log_scrape = 0
read_config_interval = 30
read_db_interval = 30
scrape_interval = 30
table_announce_log = xbt_announce_log
table_files = xbt_files
table_files_users = xbt_files_users
table_scrape_log = xbt_scrape_log
table_users = xbt_users
write_db_interval = 15
Теперь создадим файл для запуска этой приблуды:
ee /usr/local/etc/rc.d/xbt.sh
Вставляем в него вот это:
#!/bin/sh
. /etc/rc.subr
name="xbt_tracker"
rcvar=`set_rcvar xbt_tracker`
load_rc_config ${name}
: ${xbt_tracker_enable="NO"}
: ${xbt_tracker_flags="--conf_file /usr/local/xbt/Tracker/xbt_tracker.conf"}
pidfile="/var/run/${name}.pid"
command="/usr/local/xbt/Tracker/${name}"
required_files="/usr/local/xbt/Tracker/${name}.conf"
case "${xbt_tracker_flags}" in
*-p *)
echo "ERROR: $xbt_flags includes -p option."
"PID file is already set to $pidfile."
exit 1
;;
*)
command_args="-p ${pidfile} ${xbt_tracker_flags}"
;;
esac
run_rc_command "$1"
Делаем его исполняемым
chmod +x /usr/local/etc/rc.d/xbt.sh
Добавляем соответсвующие директивы в /etc/rc.conf для старта трекера при запуске системы, да и вообще 🙂
echo xbt_tracker_enable="YES" >> /etc/rc.conf
echo xbt_tracker_flags="--conf_file /usr/local/scripts/xbt/Tracker/xbt_tracker.conf" >> /etc/rc.conf
И пробуем запустить:
/usr/local/etc/rc.d/xbt.sh start
Проверяем запустился или нет:
ps -ax | grep xbt
У меня успешно стартанул, и я увидел следующее:
12678 ?? Ss 0:00,12 /usr/local/xbt/Tracker/xbt_tracker --conf_file /usr/local/xbt/Tracker/xbt_tracker.conf -p /var/run/xbt_tracker.pid --conf_file /usr/local/xb
24911 0 S+ 0:00,00 grep xbt
В принципе ничего сложного, удачи.
2 комментария. Оставить новый
отличное замечание, хотя у меня поднимался без проблем, добавлю в статью, благодарю
после #!/bin/sh желательно добавить:
# PROVIDE: xbt_tracker
# REQUIRE: NETWORKING DAEMON mysql LOGIN
у меня на FreeBSD 8.2-Release-p3 без этого трекер не стартовал автоматически (так как на момент запуска не был запущен mysql, а так мы заставляем ждать запуска mysql)