BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 24 июн 2025, 03:27

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 23 ] 
Автор Сообщение
СообщениеДобавлено: 23 сен 2011, 15:38 
Не в сети

Зарегистрирован: 22 сен 2011, 20:56
Сообщения: 5
Карма: 0
Добрый день всем!

Пробую запустить bgbilling 5.1 на freebsd 7.2.

Поставила следующее ПО:

java: diablo-jre-freebsd7.i386.1.6.0.07.02.tbz (http://www.freebsdfoundation.org/downloads/java.shtml)

activemq: activemq-5.5.0.tbz, который потребовал diablo-jdk-freebsd7.i386.1.6.0.07.02.tbz.

mysql: mysql-server-5.1.58.tbz

Скрипты запуска отсюда http://wiki.bgbilling.ru/index.php/%D0% ... B0_FreeBSD

Сервер bgbilling вроде запускается:

fbsd# /usr/local/etc/rc.d/bgserver status
bgserver is running as pid 1001.
fbsd#

Но тут и начинаются проблемы:

1. подключиться клиентом к нему не получается, сервер не доступе...

в sockstat вижу:

fbsd# sockstat -l
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root sendmail 1030 4 tcp4 127.0.0.1:25 *:*
root sshd 1024 3 tcp6 *:22 *:*
root sshd 1024 4 tcp4 *:22 *:*
root java 1011 69 tcp4 *:9033 *:*
root java 1006 79 tcp4 *:9066 *:*
bg java 1001 79 stream (not connected)
mysql mysqld 935 10 tcp4 *:3306 *:*
mysql mysqld 935 12 stream /tmp/mysql.sock
activemq java 759 8 tcp4 *:56220 *:*
root syslogd 693 4 dgram /var/run/log
root syslogd 693 5 dgram /var/run/logpriv
root syslogd 693 6 udp6 *:514 *:*
root syslogd 693 7 udp4 *:514 *:*
root devd 636 5 stream /var/run/devd.pipe
fbsd#

Т.е. порт 8080, через который клиент подключается к серверу не открыт

2. Еще мне не нравиться строка activemq (выделена). activemq слушает 56220 порт, хотя должен 61616. В activemq.xml добавлено, как написано в мануале

<transportConnectors>
<transportConnector name="nio" uri="nio://127.0.0.1:61616"/>
</transportConnectors>

И порт меняется при каждой перезагрузке freebsd.

3. Перезапуск сервера bgbilling не работает. Происходит следующее:

fbsd# /usr/local/etc/rc.d/bgserver restart
Stopping bgbilling.
Waiting for PIDS: 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001

Так до бесконечности.

4. При попытке остановить сервер bgbilling скриптом server_stop.sh, высыпались ошибки по java:

fbsd# ./server_stop.sh
java.net.SocketTimeoutException: Receive timed out
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
at java.net.DatagramSocket.receive(DatagramSocket.java:712)
at bitel.billing.server.Server.executeCommand(Server.java:296)
at bitel.billing.server.Server.main(Server.java:248)
fbsd#

На форуме читала, что bgbilling 5.1 с freebsd в принципе работает нормально.
Самой не получается разобраться, что я делаю не так. Если у кого есть предложения, пожалуйста пишиет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 15:42 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
на diablo не работает

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 15:47 
Не в сети

Зарегистрирован: 22 сен 2011, 20:56
Сообщения: 5
Карма: 0
Какую java посоветуете тогда?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 15:58 
Не в сети
Клиент

Зарегистрирован: 11 апр 2011, 11:07
Сообщения: 142
Карма: 5
vgik писал(а):
Какую java посоветуете тогда?

Linux посоветую, мой выбор - Debian


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 16:17 
Не в сети

Зарегистрирован: 22 сен 2011, 20:56
Сообщения: 5
Карма: 0
bgbilling надо поднять именно на freebsd


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 16:52 
Не в сети
Клиент

Зарегистрирован: 04 июн 2009, 15:33
Сообщения: 268
Откуда: Москва
Карма: 8
http://forums.freebsd.org/showthread.php?t=20494

_________________
Клиент: вер. 7.1.102 / 20.04.2018 19:02:09
os: Windows 8.1; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_172
Сервер: вер. 7.1.970 / 20.04.2018 19:04:17
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_162


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 17:03 
Не в сети
Клиент

Зарегистрирован: 12 фев 2007, 18:49
Сообщения: 335
Карма: 15
Странный выбор. Вы уже поимели и еще в дальнейшем поимеете много проблем из-за freebsd. Кому это "надо"? Официально данная ОС не поддерживается, ни разработчиком биллинга, ни компанией oracle (sun). Все, что есть, это заплесневелый релиз позапрошлогодней давности. Если все же "надо", сомневаюсь, что здесь вы найдете решение своих проблем, а на freebsd они возникают весьма спонтанно и в самых неожиданных местах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 17:09 
Не в сети
Клиент

Зарегистрирован: 04 июн 2009, 15:33
Сообщения: 268
Откуда: Москва
Карма: 8
Немного не по теме, но лично я устанавливал на FreeBSD только потому, что весь парк серверов стоял именно на фре. Поэтому подымать что-то другое не на фре было бы не рационально... Ведь это допиливание системы мониторинга, сислог сервера да и просто вникание в другую ОС (обновление, настройка системы безопасности и пр...).
С другой стороны, лично я поставил биллинг на CentOS, потому как фря ?немного? сдала свои позиции и пришлось переводить почти целый зоопарк серверов хостинга на CentOS, по причине прекращения поддержки производителями некоторого софта на фряхе.

_________________
Клиент: вер. 7.1.102 / 20.04.2018 19:02:09
os: Windows 8.1; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_172
Сервер: вер. 7.1.970 / 20.04.2018 19:04:17
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_162


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 сен 2011, 12:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Народ ставьте линуксовую яву во фряху и будет вам счастье, в чем проблема то?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 сен 2011, 16:02 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
vgik писал(а):
Waiting for PIDS: 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001
Так до бесконечности.

Второй человек после Чака Норриса который досчитал до бесконечности :D

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 сен 2011, 19:31 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
vgik, Вы личку не читаете? Я вам все написал же. Напишу то же самое здесь, м.б. тут прочтете.

snark писал(а):
У меня щас 5.0, стоит на:
Код:
# uname -rsm
FreeBSD 8.2-STABLE amd64

установлен следующий софт:
Код:
# pkg_info | grep -E 'linux(-sun|_base)' | awk '{print $1}'
linux-sun-jdk-1.6.0.24
linux_base-f10-10_4

в результате чего имеем:
Код:
# 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)


Вот скрипты запуска с рабочего сервера:

Код:
# cat billing/server/server.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

BGBILLING_SERVER_DIR=.
CLASSPATH=${BGBILLING_SERVER_DIR}:${BGBILLING_SERVER_DIR}/lib/*

if [ ! -d "${BGBILLING_SERVER_DIR}/.run" ] ; then
    mkdir ${BGBILLING_SERVER_DIR}/.run
fi

if [ "$1" = "start" ]; then
    # starting
    #nohup ${JAVA_HOME}/bin/java -Dapp.name=BGBillingServer -Dnetworkaddress.cache.ttl=3600 -Xmx256m -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.Server $1 $2 $3 > ./log/server.out 2>&1 & echo $! > .run/bgbilling.pid &
    nohup ${JAVA_HOME}/bin/java \
        -Dapp.name=BGBillingServer \
        -Xmx256m \
        -Dnetworkaddress.cache.ttl=3600 \
        -Dfile.encoding=UTF8 \
        -Djava.net.preferIPv4Stack=true \
        -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
        -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.Server $1 $2 $3 > ./log/server.out 2>&1 & echo $! > .run/bgbilling.pid &
else
    if [ "$1" = "debug" ]; then
        # starting in debug mode
        #nohup ${JAVA_HOME}/bin/java -enableassertions -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=5589,server=y,suspend=n -Dapp.name=BGBillingServer -Dnetworkaddress.cache.ttl=3600 -Xmx256m -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.Server start $2 $3 > ./log/server.out 2>&1 & echo $! > .run/bgbilling.pid &
        nohup ${JAVA_HOME}/bin/java \
            -Dapp.name=BGBillingServer \
            -Xmx256m \
            -Dnetworkaddress.cache.ttl=3600 \
            -enableassertions \
            -Xdebug \
            -Xnoagent \
            -Xrunjdwp:transport=dt_socket,address=5589,server=y,suspend=n \
            -Dfile.encoding=UTF8 \
            -Djava.net.preferIPv4Stack=true \
            -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
            -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.Server start $2 $3 > ./log/server.out 2>&1 & echo $! > .run/bgbilling.pid &
    else
        # execute command
        #${JAVA_HOME}/bin/java -Dnetworkaddress.cache.ttl=3600 -Xmx256m -Djava.awt.headless=true -cp ${CLASSPATH} bitel.billing.server.Server $1 $2 $3
        ${JAVA_HOME}/bin/java \
            -Xmx256m \
            -Dnetworkaddress.cache.ttl=3600 \
            -Djava.awt.headless=true \
            -Dfile.encoding=UTF8 \
            -Djava.net.preferIPv4Stack=true \
            -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
            -cp ${CLASSPATH} bitel.billing.server.Server $1 $2 $3
    fi
fi


Код:
# cat billing/server/scheduler.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

BGBILLING_SERVER_DIR=.
CLASSPATH=${BGBILLING_SERVER_DIR}:${BGBILLING_SERVER_DIR}/lib/*

if [ ! -d "${BGBILLING_SERVER_DIR}/.run" ] ; then
    mkdir ${BGBILLING_SERVER_DIR}/.run
fi

if [ "$1" = "-estart" ]; then
    # starting
    #nohup ${JAVA_HOME}/bin/java -Dapp.name=BGScheduler -Xmx256m -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.TaskExecuter $1 $2 $3 > ./log/scheduler.out 2>&1 & echo $! > .run/bgscheduler.pid &
    nohup ${JAVA_HOME}/bin/java \
        -Dapp.name=BGScheduler \
        -Xmx256m \
        -Dfile.encoding=UTF8 \
        -Djava.net.preferIPv4Stack=true \
        -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
        -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.TaskExecuter $1 $2 $3 > ./log/scheduler.out 2>&1 & echo $! > .run/bgscheduler.pid &
else
    if [ "$1" = "debug" ]; then
        # starting in debug mode
        #nohup ${JAVA_HOME}/bin/java -enableassertions -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=5589,server=y,suspend=n -Dapp.name=BGScheduler -Xmx256m -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.TaskExecuter -estart $2 $3 > ./log/scheduler.out 2>&1 & echo $! > .run/bgscheduler.pid &
        nohup ${JAVA_HOME}/bin/java \
            -Dapp.name=BGScheduler \
            -Xmx256m \
            -enableassertions \
            -Xdebug \
            -Xnoagent \
            -Xrunjdwp:transport=dt_socket,address=5589,server=y,suspend=n \
            -Dfile.encoding=UTF8 \
            -Djava.net.preferIPv4Stack=true \
            -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
            -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.TaskExecuter -estart $2 $3 > ./log/scheduler.out 2>&1 & echo $! > .run/bgscheduler.pid &
    else
        # execute command
        #${JAVA_HOME}/bin/java -cp ${CLASSPATH}: bitel.billing.server.TaskExecuter $1 $2 $3
        ${JAVA_HOME}/bin/java \
            -Dfile.encoding=UTF8 \
            -Djava.net.preferIPv4Stack=true \
            -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
            -cp ${CLASSPATH}: bitel.billing.server.TaskExecuter $1 $2 $3
    fi
fi


Код:
# cat billing/radius/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 -Xmx256m -Dlog4j.configuration=log4j-radius.xml -Dlog.dir.path=log/ -cp $CLASSPATH bitel.billing.server.radius.Radius $1 $2 $3 $4 $5 $6 > ./log/radius.out 2>&1 &
    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 -Xmx256m -cp $CLASSPATH bitel.billing.server.radius.Radius $1 $2 $3 $4 $5 $6
    ${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


Код:
# cat billing/netflow/netflow.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

BGIPN_NETFLOW_HOME=.
CLASSPATH=${BGIPN_NETFLOW_HOME}:${BGIPN_NETFLOW_HOME}/lib/*

if [ "$1" = "start" ]; then
    #nohup ${JAVA_HOME}/bin/java -Dapp.name=BGIPNNetflowCollector -Dlog4j.configuration=log4j-collector.xml -Dlog.dir.path=log/ -Dnetworkaddress.cache.ttl=3600 -Xmx256m -Djava.awt.headless=true -cp ${CLASSPATH}  bitel.billing.server.netflow.ipn.Collector $1 $2 $3   > ./log/netflow.out 2>&1 &
    nohup ${JAVA_HOME}/bin/java \
        -Dapp.name=BGIPNNetflowCollector \
        -Xmx256m \
        -Dlog4j.configuration=log4j-collector.xml \
        -Dlog.dir.path=log/ \
        -Dnetworkaddress.cache.ttl=3600 \
        -Djava.awt.headless=true \
        -Dfile.encoding=UTF8 \
        -Djava.net.preferIPv4Stack=true \
        -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
        -cp ${CLASSPATH}  bitel.billing.server.netflow.ipn.Collector $1 $2 $3   > ./log/netflow.out 2>&1 &
else
    #${JAVA_HOME}/bin/java -Dnetworkaddress.cache.ttl=3600 -Xmx256m -Djava.awt.headless=true -cp ${CLASSPATH}  bitel.billing.server.netflow.ipn.Collector $1 $2 $3 $4 $5
    ${JAVA_HOME}/bin/java \
        -Xmx256m \
        -Dnetworkaddress.cache.ttl=3600 \
        -Djava.awt.headless=true \
        -Dfile.encoding=UTF8 \
        -Djava.net.preferIPv4Stack=true \
        -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \
        -cp ${CLASSPATH}  bitel.billing.server.netflow.ipn.Collector $1 $2 $3 $4 $5
fi


В скриптах
Код:
JAVA_HOME='/usr/local/jdk/jre'

потому что /usr/local/jdk/jre - это симлинк на установленную яву:
Код:
# ls -l /usr/local | grep jdk
lrwxr-xr-x   1 root  wheel    29 Jul 21 19:24 jdk -> /usr/local/linux-sun-jdk1.6.0
drwxr-xr-x  10 root  wheel   512 Jul 12 17:16 linux-sun-jdk1.6.0

так я могу использовать и родную и линуховую яву одновременно, просто "говоря" приложению какую яву надо юзать :)

Для того чтобы на фре с линуховой явой нормально работало - в настройки добавлено (подробности тут):
Код:
# cat billing/radius/radius.properties | grep socket.buffer.size
netflow.receive.socket.buffer.size=150000

Код:
# cat billing/netflow/netflow_ipn.properties | grep socket.buffer.size
netflow.receive.socket.buffer.size=150000


Скрипты запуска выглядят следующим образом:
Код:
# cat /usr/local/etc/rc.d/bg_server.sh
#!/bin/sh

app_name='BGBillingServer'
app_cmd='server.sh'
base_dir='/mnt/data/billing/server'


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
    ;;
    *)
        echo "Usage: `basename $0` (start|stop|restart|status)" >&2
        exit 64
    ;;
esac
exit 0


Код:
# cat /usr/local/etc/rc.d/bg_scheduler.sh
#!/bin/sh

app_name='BGScheduler'
app_cmd='scheduler.sh'
base_dir='/mnt/data/billing/server'


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


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


Код:
# cat /usr/local/etc/rc.d/bg_netflow.sh
#!/bin/sh

app_name='BGIPNNetflowCollector'
app_cmd='netflow.sh'
base_dir='/mnt/data/billing/netflow'


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
    ;;
    *)
        echo "Usage: `basename $0` (start|stop|restart|status)" >&2
        exit 64
    ;;
esac
exit 0


Да, это не rc.ng, но это работает, а когда будут время и желание - переведу на rc.ng, чтоб хоть показать было не стыдно.

Тестил 5.1, как только БП в тестовом компе починят - посмотрю что там с activemq. Я его, кстати, ставил из портов, а не брал с сайта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2011, 13:24 
Не в сети

Зарегистрирован: 22 сен 2011, 20:56
Сообщения: 5
Карма: 0
Спасибо, snark. Видела и в личке и здесь, пробую...
Заранее прошу прощение за глупые вопросы (freebsd знаю плохо), но не получается поставить линуксовую java.

fbsd# pkg_info | grep -E 'linux(-sun|_base)' | awk '{print $1}'
linux_base-fc-4_16
fbsd#

Ставлю jdk-6u27-linux-i586.bin (дистрибутив в директории /usr/ports/distfiles):

fbsd# cd /usr/ports/java/linux-sun-jdk16/
fbsd# make install clean
======================================================================
Warning: This JDK may be unstable. You are advised to use the native
FreeBSD 1.6 JDK, in ports/java/jdk16.

This Java VM will attempt to obtain some system information by
accessing files in linux's procfs. You must install the Linux
emulation procfs filesystem for this to work correctly. The JVM
will exhibit various problems otherwise. This can be accomplished
by adding the following line to your /etc/fstab file:

linprocfs /compat/linux/proc linprocfs rw 0 0

and then, as root, executing the commands:

kldload linprocfs
mount /compat/linux/proc

======================================================================
===> Vulnerability check disabled, database not found
===> Extracting for linux-sun-jdk-1.6.0.27
=> MD5 Checksum mismatch for jdk-6u27-linux-i586.bin.
=> SHA256 Checksum mismatch for jdk-6u27-linux-i586.bin.
===> Refetch for 1 more times files: jdk-6u27-linux-i586.bin jdk-6u27-linux-i586.bin
======================================================================
Warning: This JDK may be unstable. You are advised to use the native
FreeBSD 1.6 JDK, in ports/java/jdk16.

This Java VM will attempt to obtain some system information by
accessing files in linux's procfs. You must install the Linux
emulation procfs filesystem for this to work correctly. The JVM
will exhibit various problems otherwise. This can be accomplished
by adding the following line to your /etc/fstab file:

linprocfs /compat/linux/proc linprocfs rw 0 0

and then, as root, executing the commands:

kldload linprocfs
mount /compat/linux/proc

======================================================================
===> Vulnerability check disabled, database not found
=> jdk-6u27-linux-i586.bin doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports ... x-i586.bin: No address record
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/java/linux-sun-jdk16.
*** Error code 1

Stop in /usr/ports/java/linux-sun-jdk16.
fbsd#


Что не так???


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2011, 19:46 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
vgik писал(а):
Что не так???

Сначала делаем так:
vgik писал(а):
This Java VM will attempt to obtain some system information by
accessing files in linux's procfs. You must install the Linux
emulation procfs filesystem for this to work correctly. The JVM
will exhibit various problems otherwise. This can be accomplished
by adding the following line to your /etc/fstab file:

linprocfs /compat/linux/proc linprocfs rw 0 0

and then, as root, executing the commands:

kldload linprocfs
mount /compat/linux/proc

Т.е.
  1. описываем procfs в /etc/fstab
  2. загружаем модуль ядра который отвечает за поддержку совместимости с linux
  3. монтируем procfs
И только потом уже делаем так:
vgik писал(а):
fbsd# cd /usr/ports/java/linux-sun-jdk16/
fbsd# make install clean


Установка линуксулятора (эмулятора линуха) подробно описана в хендбуке, BTW

Кстати, сейчас дефолтным пакетом эмуляции является linux_base-f10, ЕМНИМС.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2011, 16:24 
Не в сети

Зарегистрирован: 22 сен 2011, 20:56
Сообщения: 5
Карма: 0
Сервер запущен. Спасибо всем за помощь. После установки линуксовой java все заработало.
Но...
После установки первого модуля IPN на сервере в клиенте Модуль -> Редактор модулей и услуг в поле Базовый модуль вместо "Выделенные каналы" вижу "?????????? ??????". И "?" появляются вместо всех русских символов вводимых в клиенте. Это ошибка на сервера или клиента, подскажите пожалуйста?

И еще. При создании договора с шаблоном по умолчанию появляется ошибка "Faild 'closesumma' doesn't have default value". Как с этим бороться?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2011, 16:26 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
http://wiki.bgbilling.ru/index.php/%D0% ... 0%BA%D0%B2
Может в подпись какую добавить?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2011, 18:38 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
vgik писал(а):
появляется ошибка "Faild 'closesumma' doesn't have default value". Как с этим бороться?

Так?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 янв 2012, 20:54 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
У кого BGBilling на FreeBSD, подскажите:
Код:
# uname -rsm
FreeBSD 8.2-RELEASE-p4 i386


Код:
# pkg_info | grep -E 'linux(-sun|_base)' | awk '{print $1}'
linux-sun-jdk-1.6.0.24
linux_base-f10-10_4


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


ActiveMQ взят с ftp разработчиков BGBilling, запускаю его от с правами root, при этом activemq хоть как-то запускается только через jdk-diablo, при запуске через linux-sun забивает свой лог
Код:
INFO   | jvm 1    | 2012/01/11 20:39:05 | ERROR | Could not accept connection : java.io.IOException: Function not implemented
INFO   | jvm 1    | 2012/01/11 20:39:05 | ERROR | Could not accept connection : java.io.IOException: Function not implemented
INFO   | jvm 1    | 2012/01/11 20:39:05 | ERROR | Could not accept connection : java.io.IOException: Function not implemented
INFO   | jvm 1    | 2012/01/11 20:39:05 | ERROR | Could not accept connection : java.io.IOException: Function not implemented
INFO   | jvm 1    | 2012/01/11 20:39:05 | ERROR | Could not accept connection : java.io.IOException: Function not implemented
INFO   | jvm 1    | 2012/01/11 20:39:05 | ERROR | Could not accept connection : java.io.IOException: Function not implemented

почти сразу ошибка уже меняется на
Код:
INFO   | jvm 1    | 2012/01/11 20:39:09 | ERROR | Could not accept connection : java.io.IOException: Too many open files
INFO   | jvm 1    | 2012/01/11 20:39:09 | ERROR | Could not accept connection : java.io.IOException: Too many open files
INFO   | jvm 1    | 2012/01/11 20:39:09 | ERROR | Could not accept connection : java.io.IOException: Too many open files
INFO   | jvm 1    | 2012/01/11 20:39:09 | ERROR | Could not accept connection : java.io.IOException: Too many open files
INFO   | jvm 1    | 2012/01/11 20:39:09 | ERROR | Could not accept connection : java.io.IOException: Too many open files
INFO   | jvm 1    | 2012/01/11 20:39:09 | ERROR | Could not accept connection : java.io.IOException: Too many open files
INFO   | jvm 1    | 2012/01/11 20:39:09 | ERROR | Could not accept connection : java.io.IOException: Too many open files


Что-нибудь можно сделать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 янв 2012, 21:10 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
В /etc/rc.conf пишем:
Код:
activemq_enable="YES"
activemq_javargs="-Djava.net.preferIPv4Stack=true -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider -Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties -Dcom.sun.management.jmxremote"

т.е. фактически пишем:
Код:
-Djava.net.preferIPv4Stack=true -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider

и потом к этому дописываем:
Код:
-Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties -Dcom.sun.management.jmxremote

являющийся копипстом activemq_javargs из /usr/local/etc/rc.d/activemq


IMHO, для activemq можно использовать и родную яву, но если уж очень хочется линуховой - придется немножко пописать ;)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 янв 2012, 22:16 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
так и есть:

Код:
cat /etc/rc.conf | grep activemq
activemq_enable="YES"
activemq_javargs="-Djava.net.preferIPv4Stack=true -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider -Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties -Dcom.sun.management.jmxremote"


activemq_javargs - это одна строка.

Может я просто неправильно activemq запускаю?
Код:
# cd /usr/local/activemq/bin/linux
# ./activemq start


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 янв 2012, 23:16 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Код:
/usr/local/etc/rc.d/activemq start|stop|restart|ХЗ

А то что Вы делаете - это просто запуск бинарика (не скрипта!), разумеется без параметров.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 08:49 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
/usr/local/activemq/bin/linux/activemq как раз и есть скрипт запуска.

Код:
# cat /usr/local/activemq/bin/linux/activemq
!#/bin/sh
............ вырезано ..........................
case "$1" in

    'console')
        checkUser $1 touchlock
        console
        ;;

    'start')
        checkUser $1 touchlock
        start
        ;;

    'stop')
        checkUser $1
        stopit
        ;;

    'restart')
        checkUser $1 touchlock
        stopit
        start
        ;;

    'status')
        checkUser $1
        status
        ;;

    'dump')
        checkUser $1
        dump
        ;;

    *)
        echo "Usage: $0 { console | start | stop | restart | status | dump }"
        exit 1
        ;;
esac

exit 0


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 15:42 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Это может и скрипт запуска, но этот скрипт НИЧЕГО НЕ ЗНАЕТ о том что Вы написали в rc.conf, а если Вы линуховой яве на фре не передадите это:
Код:
-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider

то будете по прежнему постить тут ошибки на предмет IO (гуглить на предмет kqueue/poll/epoll).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 16:59 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
Снес ActiveMQ, который скачивал с FTP разработчиков, установил стандартный 5.5.0 из портов. В activemq.xml поменял только <transportConnectors> согласно документации, activemq_javargs в rc.conf уже была. Все запустилось, BGBilling работает. Даже не верится.
Спасибо, snark!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.062s | 62 Queries | GZIP : On ]