forum.bitel.ru
http://forum.bitel.ru/

BGDialup+FreeBSD
http://forum.bitel.ru/viewtopic.php?f=5&t=6035
Страница 1 из 1

Автор:  grizzly [ 25 окт 2011, 18:30 ]
Заголовок сообщения:  BGDialup+FreeBSD

Добрый день!

В виду крайне стихийно сложившихся обстоятельств была проведена попытка установки модуля Dialup на FreeBSD 8.2 (биллинг на отдельном сервере).

Dialup запускается и тут же падает. Единственная информация только в server.out (извинясь, что картинкой):

Изображение

Настройки скрипта запуска модуля и rc.conf сделаны по образцу статьи из wiki (http://wiki.bgbilling.ru/index.php/Установка_на_FreeBSD).

Конфиги могу выложить, но не в текущий момент.

Куда копать?

Автор:  skyb [ 25 окт 2011, 20:26 ]
Заголовок сообщения:  Re: BGDialup+FreeBSD

яву новей поставить

Автор:  Amir [ 25 окт 2011, 21:46 ]
Заголовок сообщения:  Re: BGDialup+FreeBSD

Версия какая? Для 5.2 вместо
Код:
CLASSPATH=${bgserver_chdir}:${bgserver_chdir}/lib/*
нужно будет
Код:
CLASSPATH=${bgserver_chdir}:${bgserver_chdir}/lib/ext/bgcommon-boot.jar

bgserver_chdir правильный?

Автор:  snark [ 26 окт 2011, 00:24 ]
Заголовок сообщения:  Re: BGDialup+FreeBSD

Код:
# uname -rsm
FreeBSD 8.2-STABLE amd64


Код:
# java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Server VM (build 19.1-b02, mixed mode)


Код:
# ./radius.sh status | grep version
version 5.0 build 298 from 09.12.2010 18:59:44


Код:
# cat radius.sh
#!/bin/sh

JAVA_HOME='/usr/local/jdk/jre'

cd ${0%${0##*/}}.

if [ -z "$JAVA_HOME" ]; then
    echo "The JAVA_HOME environment variable is not defined"
    echo "This environment variable is needed to run this program"
    exit 1
fi

BGRAD_HOME_DIALUP=.

CLASSPATH=$BGRAD_HOME_DIALUP:$BGRAD_HOME_DIALUP/lib/*

if [ "$1" = "start" ]; then
    nohup ${JAVA_HOME}/bin/java \
        -Dapp.name=BGRadiusDialup \
        -Xmx1g \
        -Dlog4j.configuration=log4j-radius.xml \
        -Dlog.dir.path=log/ \
        -Dfile.encoding=UTF8 \
        -Djava.net.preferIPv4Stack=true \
        -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
        -cp $CLASSPATH bitel.billing.server.radius.Radius $1 $2 $3 $4 $5 $6 > ./log/radius.out 2>&1 &
else
    ${JAVA_HOME}/bin/java \
        -Xmx1g \
        -Dfile.encoding=UTF8 \
        -Djava.net.preferIPv4Stack=true \
        -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
        -cp $CLASSPATH bitel.billing.server.radius.Radius $1 $2 $3 $4 $5 $6
fi

Автор:  grizzly [ 26 окт 2011, 15:25 ]
Заголовок сообщения:  Re: BGDialup+FreeBSD

Завелось со скриптом snark'a :wink:

Теперь сыпет ошибку
Код:
ERROR [radiusListener-p-3-t-2] RadiusListenerWorker - javax/xml/bind/DataBindingException
java.lang.NoClassDefFoundError: javax/xml/bind/DataBindingException

Скачал jaxb, как сказано в wiki, распокавал, уже в какую папку не копирую - результата нет. :-? Качал версию 2.4

Автор:  grizzly [ 26 окт 2011, 16:26 ]
Заголовок сообщения:  Re: BGDialup+FreeBSD

Код:
# uname -rsm
FreeBSD 8.2-RELEASE amd64
Код:
# java -version
java version "1.6.0_03-p4"
Java(TM) SE Runtime Environment (build 1.6.0_03-p4-root_25_oct_2011_02_05-b00)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_03-p4-root_25_oct_2011_02_05-b00, mixed mode)
Код:
# ./radius.sh status | grep version
version 5.1 build 294 from 20.10.2011 15:35:40


Яву ставил из портов jdk16

Автор:  grizzly [ 26 окт 2011, 19:33 ]
Заголовок сообщения:  Re: BGDialup+FreeBSD

Завелось!

Файлы jaxb надо копировать в ../lib/endorsed

Автор:  snark [ 26 окт 2011, 20:25 ]
Заголовок сообщения:  Re: BGDialup+FreeBSD

Поставьте линуховую яву (она поставит эмулятор линуха) и добавьте к скрипту выше это:
Код:
# cat radius.properties | grep buffer
netflow.receive.socket.buffer.size=150000

После этого у Вас будет БГБ работающий на фряхе с линуховой явой и Вы вообще никаких проблем с либами знать не будете.

P.S. Скрипт запуска (с учетом того что мускул стоит на машине с радиусом!):
Код:
# cat /usr/local/etc/rc.d/bg_radius.sh
#!/bin/sh

app_name='BGRadiusDialup'
app_cmd='radius.sh'
base_dir='/mnt/data/billing/radius'


jps_cmd='/usr/local/bin/jps'

case "$1" in
    start)
        while [ ! -S /tmp/mysql.sock ]; do
            sleep 1
        done

        if [ -z "`$jps_cmd -v | grep -iv jps | grep $app_name`" ]; then
            $base_dir/$app_cmd $1
            echo "$app_name"
        fi
    ;;
    stop)
        if [ -n "`$jps_cmd -v | grep -iv jps | grep $app_name`" ]; then
            $base_dir/$app_cmd $1
            echo "$app_name"
        fi
    ;;
    restart)
        $0 stop
        sleep 1
        $0 start
    ;;
    status)
        if [ -n "`$jps_cmd -v | grep -iv jps | grep $app_name`" ]; then
            $base_dir/$app_cmd $1
        fi
    ;;
    flush_script_cache)
        if [ -n "`$jps_cmd -v | grep -iv jps | grep $app_name`" ]; then
            $base_dir/$app_cmd $1
        fi
    ;;
    *)
        echo "Usage: `basename $0` (start|stop|restart|status|flush_script_cache)" >&2
        exit 64
    ;;
esac
exit 0

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/