IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Установка РеТрекера XBTT в FreeBSD 8.0 + jail
ISQman
сообщение 18.5.2010, 10:59
Сообщение #1


Активный участник
***

Группа: Пользователи
Сообщений: 30
Регистрация: 6.10.2009
Пользователь №: 2 900



Код
# uname -prs
FreeBSD 8.0-RELEASE i386

Создаём клетки. Для этого есть 2 способа:
1. прописываем руками:
Код
# setenv D /here/is/the/jail
# mkdir -p $D
# cd /usr/src
# make buildworld
# make installworld DESTDIR=$D
# make distribution DESTDIR=$D
# mount -t devfs devfs $D/dev

такой образ действий не всем будет понятен и красив, поэтому нашёл вот такой скриптик (2.)
Код
#cat /home/ISQman/jail_create.sh
#!/bin/sh

# скрипт создания клеток

case "$2" in
        create)
                # стругаем клетку
                jail_dir="$1"
                mkdir -p ${jail_dir}
                cd /usr/src
                mkdir -p ${jail_dir}
                make world DESTDIR=${jail_dir}
                cd /usr/src/etc
                make distribution DESTDIR=${jail_dir}
                mount_devfs devfs ${jail_dir}/dev

               ;;
        *)
                echo ""
                echo "Usage: `basename $0` { /path/to/jail/directory create }"
                echo ""
                exit 64
               ;;
esac

достаточно создать его в нужном месте и и чмоднуть на 755 (chmod +x /путь/к/скрипту)
далее запуск самого скрипта:
Код
#./jail_create.sh /usr/local/jails/retracker create

открываем новую консоль и приступаем к предварительной настройке сервера под клетку.
Код
# cat /etc/rc.conf | grep ifconfig
ifconfig_rl0="inet 192.168.0.200 netmask 255.255.255.0"
ifconfig_rl0_alias0="inet 192.168.0.201 netmask 255.255.255.0"

Заставляем работать sshd на одном (основном) адресе:
Код
#cat /etc/ssh/sshd_config | grep ListenAddress
ListenAddress 192.168.0.200
#ListenAddress ::

Вешаем syslogd на тот же адрес:
Код
#cat /etc/rc.conf | grep syslo
syslogd_flags="-b 192.168.0.200"

уходим поесть, по пить чай или даже поспать часа на 2 точно (у меня собиралось на тестовом железе 3.5 часа)
далее после сборки мира ребутим машину, проверяем и настраиваем клетку:
было до настроек и ребута:
Код
#sockstat | grep "*."
root     inetd      494   5  tcp4   *:21                  *:*
root     sendmail   451   3  tcp4   127.0.0.1:25          *:*
root     sshd       445   3  tcp4   *:22                  *:*
root     syslogd    325   6  udp4   *:514                 *:*

стало:
Код
#sockstat | grep "*."
root     inetd      462   5  tcp4   192.168.0.200:21      *:*
root     sendmail   417   3  tcp4   127.0.0.1:25          *:*
root     sshd       411   3  tcp4   192.168.0.200:22      *:*
root     syslogd    291   6  udp4   192.168.0.200:514     *:*

проверяем алиасы:
Код
#ifconfig
net0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.200 netmask 0xffffff00 broadcast 192.168.0.255
        inet 192.168.0.201 netmask 0xffffff00 broadcast 192.168.0.255
        ether 00:a5:b5:c5:d5:e5

Создаём в клетке пусой файл /etc/fstab
Код
#touch /usr/local/jails/retracker/etc/fstab

содаём резолв (какбы нужен всё-таки адрес днс)
Код
#echo "nameserver 192.168.0.3" /usr/local/jails/retracker/etc/resolv.conf

Добавляем в файл /usr/local/jails/jail_test/etc/rc.conf такие строки (если там нужны эти демоны):
Код
sshd_enable="YES"
inetd_enable="YES"
mysql_enable="YES"
xbt_tracker_enable="YES"

Затем на родительской машине добавляем такие строки в /etc/rc.conf
Код
jail_enable="YES"
jail_list="retracker"
jail_retracker_rootdir="/usr/local/jails/retracker"           # jail's root directory
jail_retracker_hostname="retracker.local"                     # jail's hostname
jail_retracker_ip="192.168.0.201"                                 # jail's IP address
jail_retracker_devfs_enable="YES"                                # mount devfs in the jail
jail_retracker_procfs_enable="YES"
jail_retracker_flags="-l -U root"

Затем заводим пользователя и даём руту в клетке пароль, для этого входим в клетку:
Код
#jail /usr/local/jails/retracker/ retracker 192.168.0.201 /bin/tcsh

И заводим пользователя командой adduser. Не забываем задать пароль для рута. Выходим из клетки командой exit, и можно запускать:
Код
#/etc/rc.d/jail start
Configuring jails:.
Starting jails: retracker.local.

далее либо вышеизложенным способом либо по ссхе заходим в клетку и ставим ретрекер:
так как система у нас пустая, например мне не очень хотелось её сильно отстраивать, и поэтому древо портов я не ставил. симлинки не катят.
для начала:
Код
retracker# pkg_add -r mc

почему я сначала ставлю мс - элементарно, очень много полезных зависимостей тянет за собой + лучший консольный фм
Код
retracker# pkg_add -r mysql50-server

Код
retracker# pkg_add -r mysql50-scripts

Код
retracker# chown -R mysql /var/db/mysql

Код
retracker# mysql_install_db

Код
retracker# pkg_add -r subversion

Код
retracker# pkg_add -r boost-all

Код
retracker# rehash

Код
retracker# 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

Код
retracker# cd /usr/local/xbt/Tracker && chmod +x make.sh && mcedit ./make.bsd.sh

изменяем первую строку файла.
было:
Код
g++ $@ -DNDEBUG -I ../misc -I . -O3 -o xbt_tracker \

стало:
Код
g++ $@ -DNDEBUG -I ../misc -I . -O3 -o xbt_tracker -I /usr/local/include \

сохраняем и запускаем... не пугаемся что процесс повис! он не повис, он просто не выдаёт никаких сообщений. ждём пару минут.
пробуем конфигурить мускуль:
Код
retracker# /usr/local/etc/rc.d/mysql-server start

Код
retracker# mysql -u root

Код
>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;

Код
retracker# mysql -u xbt -p xbt < xbt_tracker.sql

Код
retracker# cp xbt_tracker.conf.default xbt_tracker.conf && mcedit xbt_tracker.conf

мой конфиг:
Код
mysql_host = localhost
mysql_user = xbt
mysql_password = my_m3g@_p@ssw0rd
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
clean_up_interval = 180
daemon = 1
debug = 0
full_scrape = 1

gzip_debug = 1
gzip_scrape = 1
listen_ipa = 192.168.0.201
listen_port = 80

log_access = 0
log_announce = 0
log_scrape = 0

read_config_interval = 30
read_db_interval = 30
#redirect_url = http://re-tracker.ru
scrape_interval = 30

able_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

для запуска:
Код
retracker# 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"

чмоднем его:
Код
retracker# chmod +x /usr/local/etc/rc.d/xbt.sh

для запуска:
Код
retracker# /usr/local/etc/rc.d/xbt.sh start

проверяем:
Код
retracker# ps ax | grep xbt
81365  ??  SsJ    0:00.13 /usr/local/xbt/Tracker/xbt_tracker --conf_file /usr/local/xbt/Tracker/xbt_tracker.conf -p /var/run/xbt_tracker.pid

вроде ничего не пропустил...
по созданию этого мана отдельное спасибо kolobok3D lissyara и hizel за ссылку на http://www.freebsd.org/doc/en_US.ISO8859-1...ails-build.html
Перейти в начало страницы
 
+Цитировать сообщение
kmb
сообщение 31.8.2010, 16:08
Сообщение #2


Участник
**

Группа: Пользователи
Сообщений: 26
Регистрация: 30.8.2010
Пользователь №: 6 161



У кого-нибудь осталась старая ревизия? В новой нету файла make.bsd.sh, соответственно под фрей ни черта не соберется :-/
Перейти в начало страницы
 
+Цитировать сообщение
kmb
сообщение 31.8.2010, 17:42
Сообщение #3


Участник
**

Группа: Пользователи
Сообщений: 26
Регистрация: 30.8.2010
Пользователь №: 6 161



Собирается smile.gif
Код
cd /usr/ports/devel/boost-all && make install clean
cd /usr/ports/devel/subversion && make install clean
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 /usr/local/xbt/Tracker
ee make.sh

заменяем строчку
Код
g++ $@ -DNDEBUG -I ../misc -I . -O3 -o xbt_tracker \

на
Код
g++ $@ -DNDEBUG -I ../misc -I . -O3 -o xbt_tracker -I /usr/local/include \

и собираем
Код
sh make.sh
Перейти в начало страницы
 
+Цитировать сообщение
kmb
сообщение 31.8.2010, 18:04
Сообщение #4


Участник
**

Группа: Пользователи
Сообщений: 26
Регистрация: 30.8.2010
Пользователь №: 6 161



В конфиге опечатка:
able_announce_log = xbt_announce_log
на
table_announce_log = xbt_announce_log
Перейти в начало страницы
 
+Цитировать сообщение
ISQman
сообщение 31.8.2010, 22:38
Сообщение #5


Активный участник
***

Группа: Пользователи
Сообщений: 30
Регистрация: 6.10.2009
Пользователь №: 2 900



Цитата(kmb @ 31.8.2010, 18:04) *
В конфиге опечатка:
able_announce_log = xbt_announce_log
на
table_announce_log = xbt_announce_log

может быть, спешил, когда писал.
по поводу файлов - буду с понедельника, если повезёт - смогу достать с серверов.
пишите на мэйл или в аську 424174772
Перейти в начало страницы
 
+Цитировать сообщение
FreeM@N
сообщение 31.8.2010, 22:41
Сообщение #6


Активный участник
***

Группа: Админы
Сообщений: 660
Регистрация: 15.12.2008
Из: Москва
Пользователь №: 15



Так это - там же SVN - можно любую ревизию вытащить...


--------------------
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия службы мониторинга серверов Сейчас: 19.11.2017, 20:47
Rambler's Top100