Установка на FreeBSD
Материал из BiTel WiKi
Stark (Обсуждение | вклад) (Новая: Пока есть такой ресурс : http://behterev.su/index.php?pa=articles) |
Varney (Обсуждение | вклад) (→Установка activemq) |
||
(10 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория:Установка]] | ||
+ | [[Категория:FreeBSD]] | ||
Пока есть такой ресурс : | Пока есть такой ресурс : | ||
http://behterev.su/index.php?pa=articles | http://behterev.su/index.php?pa=articles | ||
+ | |||
+ | == Установка openjdk == | ||
+ | Первоначально необходимо установить openjdk. | ||
+ | <pre> | ||
+ | # cd /usr/ports/java/openjdk[x] | ||
+ | # make config && make install clean && rehash | ||
+ | </pre> | ||
+ | |||
+ | == Установка activemq == | ||
+ | Устанавливаем activemq. | ||
+ | <pre> | ||
+ | # cd /usr/ports/net/activemq | ||
+ | # make config && make install clean && rehash | ||
+ | </pre> | ||
+ | |||
+ | Конфигурация activemq по-умолчанию находится в /usr/local/etc/activemq/activemq.xml. | ||
+ | <pre> | ||
+ | <plugins> | ||
+ | <!-- drop messages that have been sent to the DLQ --> | ||
+ | <discardingDLQBrokerPlugin dropAll="true"/> | ||
+ | </plugins> | ||
+ | <systemUsage> | ||
+ | <systemUsage> | ||
+ | <memoryUsage> | ||
+ | <memoryUsage limit="128 mb"/> | ||
+ | </memoryUsage> | ||
+ | <storeUsage> | ||
+ | <storeUsage limit="10000 gb"/> | ||
+ | </storeUsage> | ||
+ | <tempUsage> | ||
+ | <tempUsage limit="1 gb"/> | ||
+ | </tempUsage> | ||
+ | </systemUsage> | ||
+ | </systemUsage> | ||
+ | |||
+ | <transportConnectors> | ||
+ | <transportConnector name="nio" uri="nio://127.0.0.1:61616"/> | ||
+ | </transportConnectors> | ||
+ | <!-- Web Console --> | ||
+ | <!-- | ||
+ | <import resource="jetty.xml"/> | ||
+ | --> | ||
+ | </pre> | ||
+ | |||
+ | Добавить в /etc/rc.conf: | ||
+ | <pre> | ||
+ | activemq_enable="YES" | ||
+ | activemq_javargs="-Xmx512M \ | ||
+ | -Djava.net.preferIPv4Stack=true \ | ||
+ | -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \ | ||
+ | -Dorg.apache.activemq.UseDedicatedTaskRunner=true \ | ||
+ | -Djava.util.logging.config.file=logging.properties \ | ||
+ | -Dcom.sun.management.jmxremote" | ||
+ | </pre> | ||
+ | |||
+ | Запуск activemq: | ||
+ | <pre> | ||
+ | # /usr/local/etc/rc.d/activemq start | ||
+ | </pre> | ||
+ | |||
+ | Если все правильно, то activemq станет слушать порт, указанный в <transportConnectors>: | ||
+ | <pre> | ||
+ | # netstat -an | grep 61616 | ||
+ | tcp4 0 0 127.0.0.1.61616 *.* LISTEN | ||
+ | </pre> | ||
+ | |||
+ | и при раскоменченном веб консоли в конфиге | ||
+ | <pre> | ||
+ | # netstat -an | grep 8161 | ||
+ | tcp4 0 0 *.8161 *.* LISTEN | ||
+ | </pre> | ||
+ | |||
+ | http://localhost:8161/admin | ||
+ | |||
+ | == Второй вариант rc скриптов == | ||
+ | |||
+ | В этом варианте весь bgbilling находится в /usr/local/bgbilling и BGBillingServer в /usr/local/bgbilling/server. Заведен пользователь bg с home директорией /usr/local/bgbilling и соответсвенно все части bgbilling запускаются от этого пользователя. rc скрипты кидаем в /usr/local/etc/rc.d/ и ставим атрибут исполнения. в /etc/rc.conf добавляем: | ||
+ | |||
+ | === bgserver === | ||
+ | |||
+ | <pre> | ||
+ | bgserver_enable="YES" | ||
+ | ipv6_enable="YES" | ||
+ | ipv6_ipv4mapping="YES" | ||
+ | </pre> | ||
+ | |||
+ | [[IPv6]] и '''ipv6_ipv4mapping''' требуются для того, чтобы java смогла слушать на 127.0.0.1, по-умолчанию даже при выключенном IPv6 будет слушать только на '''::1'''. | ||
+ | |||
+ | дополнительно можно указать: | ||
+ | |||
+ | <pre> | ||
+ | bgserver_java="<путь до нужной java машины>" | ||
+ | bgserver_pid="<путь и имя pid фала>" | ||
+ | bgserver_chdir="<путь home BGBillingServer>" | ||
+ | bgserver_users="<имя пользователя от которого будет запускатся BGBillingServer>" | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # PROVIDE: bgserver | ||
+ | # REQUIRE: DAEMON mysql | ||
+ | # KEYWORD: shutdown | ||
+ | # | ||
+ | # Add the following line to /etc/rc.conf to enable trac: | ||
+ | # bgserver_enable="YES" | ||
+ | # | ||
+ | |||
+ | . "/etc/rc.subr" | ||
+ | |||
+ | |||
+ | bgserver_enable=${bgserver_enable:-"NO"} | ||
+ | bgserver_java=${bgserver_java:-"/usr/local/openjdk6"} | ||
+ | bgserver_pid=${bgserver_pid:-"/var/run/bgbilling/bgserver.pid"} | ||
+ | bgserver_chdir=${bgbilling_chdir:-"/usr/local/bgbilling/server"} | ||
+ | bgserver_users=${bgserver_user:-"bg"} | ||
+ | CLASSPATH=${bgserver_chdir}:${bgserver_chdir}/lib/* | ||
+ | |||
+ | name=bgserver | ||
+ | rcvar=`set_rcvar` | ||
+ | |||
+ | foo="$bgserver_java/bin/java -Dapp.name=BGBillingServer -Dnetworkaddress.cache.ttl=3600 -Xmx512m -cp $CLASSPATH ru.bitel.common.bootstrap.Boot bitel.billing.server.Server start > ./log/server.out 2>&1" | ||
+ | boo="$bgserver_java/bin/java -Dnetworkaddress.cache.ttl=3600 -Djava.awt.headless=true -Xmx256m -cp $CLASSPATH bitel.billing.server.Server stop" | ||
+ | |||
+ | stop_cmd="bg_stop" | ||
+ | |||
+ | bg_stop() | ||
+ | { | ||
+ | rc_pid=$(check_pidfile $pidfile $procname) | ||
+ | if [ -z "$rc_pid" ]; then | ||
+ | [ -n "$rc_fast" ] && return 0 | ||
+ | _run_rc_notrunning | ||
+ | return 1 | ||
+ | fi | ||
+ | echo 'Stopping bgbilling.' | ||
+ | if $boo 2>/dev/null; then | ||
+ | wait_for_pids $rc_pid | ||
+ | else | ||
+ | echo -n 'bgbilling failed, trying kill: ' | ||
+ | kill -TERM $rc_pid | ||
+ | wait_for_pids $rc_pid | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | load_rc_config $name | ||
+ | |||
+ | pidfile=${bgserver_pid} | ||
+ | command=/usr/sbin/daemon | ||
+ | command_args="-p ${pidfile} -u ${bgserver_users} ${foo}" | ||
+ | procname=$bgserver_java/bin/java | ||
+ | |||
+ | run_rc_command "$1" | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | === bgdataloader === | ||
+ | |||
+ | настройки в rc.conf по аналогии с bgserver | ||
+ | |||
+ | <pre> | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # PROVIDE: bgdataloader | ||
+ | # REQUIRE: DAEMON mysql | ||
+ | # KEYWORD: shutdown | ||
+ | # | ||
+ | # Add the following line to /etc/rc.conf to enable trac: | ||
+ | # bgdataloader_enable="YES" | ||
+ | # | ||
+ | |||
+ | . "/etc/rc.subr" | ||
+ | |||
+ | |||
+ | bgdataloader_enable=${bgdataloader_enable:-"NO"} | ||
+ | bgdataloader_java=${bgdataloader_java:-"/usr/local/openjdk6"} | ||
+ | bgdataloader_pid=${bgdataloader_pid:-"/var/run/bgbilling/bgdataloader.pid"} | ||
+ | bgdataloader_chdir=${bgdataloader_chdir:-"/usr/local/bgbilling/server"} | ||
+ | bgdataloader_users=${bgdataloader_user:-"bg"} | ||
+ | CLASSPATH=${bgdataloader_chdir}:${bgdataloader_chdir}/lib/* | ||
+ | |||
+ | name=bgdataloader | ||
+ | rcvar=`set_rcvar` | ||
+ | |||
+ | foo="$bgdataloader_java/bin/java -Dapp.name=BGDataLoader -Dnetworkaddress.cache.ttl=3600 -Xmx256m -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.DataLoader -estart > ./log/dataloader.out 2>&1" | ||
+ | boo="$bgdataloader_java/bin/java -Dnetworkaddress.cache.ttl=3600 -Djava.awt.headless=true -Xmx256m -cp ${CLASSPATH} bitel.billing.server.DataLoader -estop" | ||
+ | |||
+ | stop_cmd="bg_stop" | ||
+ | |||
+ | bg_stop() | ||
+ | { | ||
+ | rc_pid=$(check_pidfile $pidfile $procname) | ||
+ | if [ -z "$rc_pid" ]; then | ||
+ | [ -n "$rc_fast" ] && return 0 | ||
+ | _run_rc_notrunning | ||
+ | return 1 | ||
+ | fi | ||
+ | echo 'Stopping bgbilling.' | ||
+ | if $boo 2>/dev/null; then | ||
+ | wait_for_pids $rc_pid | ||
+ | else | ||
+ | echo -n 'bgbilling failed, trying kill: ' | ||
+ | kill -TERM $rc_pid | ||
+ | wait_for_pids $rc_pid | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | load_rc_config $name | ||
+ | |||
+ | pidfile=${bgdataloader_pid} | ||
+ | command=/usr/sbin/daemon | ||
+ | command_args="-p ${pidfile} ${foo}" | ||
+ | procname=$bgdataloader_java/bin/java | ||
+ | |||
+ | run_rc_command "$1" | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | === bgscheduler === | ||
+ | |||
+ | настройки в rc.conf по аналогии с bgserver | ||
+ | |||
+ | <pre> | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # PROVIDE: bgscheduler | ||
+ | # REQUIRE: DAEMON mysql | ||
+ | # KEYWORD: shutdown | ||
+ | # | ||
+ | # Add the following line to /etc/rc.conf to enable trac: | ||
+ | # bgscheduler_enable="YES" | ||
+ | # | ||
+ | |||
+ | . "/etc/rc.subr" | ||
+ | |||
+ | |||
+ | bgscheduler_enable=${bgscheduler_enable:-"NO"} | ||
+ | bgscheduler_java=${bgscheduler_java:-"/usr/local/openjdk6"} | ||
+ | bgscheduler_pid=${bgscheduler_pid:-"/var/run/bgbilling/bgscheduler.pid"} | ||
+ | bgscheduler_chdir=${bgscheduler_chdir:-"/usr/local/bgbilling/server"} | ||
+ | bgscheduler_users=${bgscheduler_user:-"bg"} | ||
+ | CLASSPATH=${bgscheduler_chdir}:${bgscheduler_chdir}/lib/* | ||
+ | |||
+ | name=bgscheduler | ||
+ | rcvar=`set_rcvar` | ||
+ | |||
+ | foo="$bgscheduler_java/bin/java -Dapp.name=BGScheduler -Xmx256m -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.TaskExecuter -estart > ./log/scheduler.out 2>&1" | ||
+ | boo="$bgscheduler_java/bin/java -Dnetworkaddress.cache.ttl=3600 -Djava.awt.headless=true -Xmx256m -cp ${CLASSPATH} bitel.billing.server.TaskExecuter -estop" | ||
+ | |||
+ | stop_cmd="bg_stop" | ||
+ | |||
+ | bg_stop() | ||
+ | { | ||
+ | rc_pid=$(check_pidfile $pidfile $procname) | ||
+ | if [ -z "$rc_pid" ]; then | ||
+ | [ -n "$rc_fast" ] && return 0 | ||
+ | _run_rc_notrunning | ||
+ | return 1 | ||
+ | fi | ||
+ | echo 'Stopping bgbilling.' | ||
+ | if $boo 2>/dev/null; then | ||
+ | wait_for_pids $rc_pid | ||
+ | else | ||
+ | echo -n 'bgbilling failed, trying kill: ' | ||
+ | kill -TERM $rc_pid | ||
+ | wait_for_pids $rc_pid | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | load_rc_config $name | ||
+ | |||
+ | pidfile=${bgscheduler_pid} | ||
+ | command=/usr/sbin/daemon | ||
+ | command_args="-p ${pidfile} ${foo}" | ||
+ | procname=$bgscheduler_java/bin/java | ||
+ | |||
+ | run_rc_command "$1" | ||
+ | </pre> | ||
+ | |||
+ | == FAQ по FreeBSD == | ||
+ | * [[java.lang.NoClassDefFoundError: javax/xml/bind/DataBindingException]] |
Текущая версия на 00:14, 6 сентября 2016
Пока есть такой ресурс : http://behterev.su/index.php?pa=articles
Содержание |
Установка openjdk
Первоначально необходимо установить openjdk.
# cd /usr/ports/java/openjdk[x] # make config && make install clean && rehash
Установка activemq
Устанавливаем activemq.
# cd /usr/ports/net/activemq # make config && make install clean && rehash
Конфигурация activemq по-умолчанию находится в /usr/local/etc/activemq/activemq.xml.
<plugins> <!-- drop messages that have been sent to the DLQ --> <discardingDLQBrokerPlugin dropAll="true"/> </plugins> <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="128 mb"/> </memoryUsage> <storeUsage> <storeUsage limit="10000 gb"/> </storeUsage> <tempUsage> <tempUsage limit="1 gb"/> </tempUsage> </systemUsage> </systemUsage> <transportConnectors> <transportConnector name="nio" uri="nio://127.0.0.1:61616"/> </transportConnectors> <!-- Web Console --> <!-- <import resource="jetty.xml"/> -->
Добавить в /etc/rc.conf:
activemq_enable="YES" activemq_javargs="-Xmx512M \ -Djava.net.preferIPv4Stack=true \ -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider \ -Dorg.apache.activemq.UseDedicatedTaskRunner=true \ -Djava.util.logging.config.file=logging.properties \ -Dcom.sun.management.jmxremote"
Запуск activemq:
# /usr/local/etc/rc.d/activemq start
Если все правильно, то activemq станет слушать порт, указанный в <transportConnectors>:
# netstat -an | grep 61616 tcp4 0 0 127.0.0.1.61616 *.* LISTEN
и при раскоменченном веб консоли в конфиге
# netstat -an | grep 8161 tcp4 0 0 *.8161 *.* LISTEN
Второй вариант rc скриптов
В этом варианте весь bgbilling находится в /usr/local/bgbilling и BGBillingServer в /usr/local/bgbilling/server. Заведен пользователь bg с home директорией /usr/local/bgbilling и соответсвенно все части bgbilling запускаются от этого пользователя. rc скрипты кидаем в /usr/local/etc/rc.d/ и ставим атрибут исполнения. в /etc/rc.conf добавляем:
bgserver
bgserver_enable="YES" ipv6_enable="YES" ipv6_ipv4mapping="YES"
IPv6 и ipv6_ipv4mapping требуются для того, чтобы java смогла слушать на 127.0.0.1, по-умолчанию даже при выключенном IPv6 будет слушать только на ::1.
дополнительно можно указать:
bgserver_java="<путь до нужной java машины>" bgserver_pid="<путь и имя pid фала>" bgserver_chdir="<путь home BGBillingServer>" bgserver_users="<имя пользователя от которого будет запускатся BGBillingServer>"
#!/bin/sh # # PROVIDE: bgserver # REQUIRE: DAEMON mysql # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable trac: # bgserver_enable="YES" # . "/etc/rc.subr" bgserver_enable=${bgserver_enable:-"NO"} bgserver_java=${bgserver_java:-"/usr/local/openjdk6"} bgserver_pid=${bgserver_pid:-"/var/run/bgbilling/bgserver.pid"} bgserver_chdir=${bgbilling_chdir:-"/usr/local/bgbilling/server"} bgserver_users=${bgserver_user:-"bg"} CLASSPATH=${bgserver_chdir}:${bgserver_chdir}/lib/* name=bgserver rcvar=`set_rcvar` foo="$bgserver_java/bin/java -Dapp.name=BGBillingServer -Dnetworkaddress.cache.ttl=3600 -Xmx512m -cp $CLASSPATH ru.bitel.common.bootstrap.Boot bitel.billing.server.Server start > ./log/server.out 2>&1" boo="$bgserver_java/bin/java -Dnetworkaddress.cache.ttl=3600 -Djava.awt.headless=true -Xmx256m -cp $CLASSPATH bitel.billing.server.Server stop" stop_cmd="bg_stop" bg_stop() { rc_pid=$(check_pidfile $pidfile $procname) if [ -z "$rc_pid" ]; then [ -n "$rc_fast" ] && return 0 _run_rc_notrunning return 1 fi echo 'Stopping bgbilling.' if $boo 2>/dev/null; then wait_for_pids $rc_pid else echo -n 'bgbilling failed, trying kill: ' kill -TERM $rc_pid wait_for_pids $rc_pid fi } load_rc_config $name pidfile=${bgserver_pid} command=/usr/sbin/daemon command_args="-p ${pidfile} -u ${bgserver_users} ${foo}" procname=$bgserver_java/bin/java run_rc_command "$1"
bgdataloader
настройки в rc.conf по аналогии с bgserver
#!/bin/sh # # PROVIDE: bgdataloader # REQUIRE: DAEMON mysql # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable trac: # bgdataloader_enable="YES" # . "/etc/rc.subr" bgdataloader_enable=${bgdataloader_enable:-"NO"} bgdataloader_java=${bgdataloader_java:-"/usr/local/openjdk6"} bgdataloader_pid=${bgdataloader_pid:-"/var/run/bgbilling/bgdataloader.pid"} bgdataloader_chdir=${bgdataloader_chdir:-"/usr/local/bgbilling/server"} bgdataloader_users=${bgdataloader_user:-"bg"} CLASSPATH=${bgdataloader_chdir}:${bgdataloader_chdir}/lib/* name=bgdataloader rcvar=`set_rcvar` foo="$bgdataloader_java/bin/java -Dapp.name=BGDataLoader -Dnetworkaddress.cache.ttl=3600 -Xmx256m -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.DataLoader -estart > ./log/dataloader.out 2>&1" boo="$bgdataloader_java/bin/java -Dnetworkaddress.cache.ttl=3600 -Djava.awt.headless=true -Xmx256m -cp ${CLASSPATH} bitel.billing.server.DataLoader -estop" stop_cmd="bg_stop" bg_stop() { rc_pid=$(check_pidfile $pidfile $procname) if [ -z "$rc_pid" ]; then [ -n "$rc_fast" ] && return 0 _run_rc_notrunning return 1 fi echo 'Stopping bgbilling.' if $boo 2>/dev/null; then wait_for_pids $rc_pid else echo -n 'bgbilling failed, trying kill: ' kill -TERM $rc_pid wait_for_pids $rc_pid fi } load_rc_config $name pidfile=${bgdataloader_pid} command=/usr/sbin/daemon command_args="-p ${pidfile} ${foo}" procname=$bgdataloader_java/bin/java run_rc_command "$1"
bgscheduler
настройки в rc.conf по аналогии с bgserver
#!/bin/sh # # PROVIDE: bgscheduler # REQUIRE: DAEMON mysql # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable trac: # bgscheduler_enable="YES" # . "/etc/rc.subr" bgscheduler_enable=${bgscheduler_enable:-"NO"} bgscheduler_java=${bgscheduler_java:-"/usr/local/openjdk6"} bgscheduler_pid=${bgscheduler_pid:-"/var/run/bgbilling/bgscheduler.pid"} bgscheduler_chdir=${bgscheduler_chdir:-"/usr/local/bgbilling/server"} bgscheduler_users=${bgscheduler_user:-"bg"} CLASSPATH=${bgscheduler_chdir}:${bgscheduler_chdir}/lib/* name=bgscheduler rcvar=`set_rcvar` foo="$bgscheduler_java/bin/java -Dapp.name=BGScheduler -Xmx256m -cp ${CLASSPATH} ru.bitel.common.bootstrap.Boot bitel.billing.server.TaskExecuter -estart > ./log/scheduler.out 2>&1" boo="$bgscheduler_java/bin/java -Dnetworkaddress.cache.ttl=3600 -Djava.awt.headless=true -Xmx256m -cp ${CLASSPATH} bitel.billing.server.TaskExecuter -estop" stop_cmd="bg_stop" bg_stop() { rc_pid=$(check_pidfile $pidfile $procname) if [ -z "$rc_pid" ]; then [ -n "$rc_fast" ] && return 0 _run_rc_notrunning return 1 fi echo 'Stopping bgbilling.' if $boo 2>/dev/null; then wait_for_pids $rc_pid else echo -n 'bgbilling failed, trying kill: ' kill -TERM $rc_pid wait_for_pids $rc_pid fi } load_rc_config $name pidfile=${bgscheduler_pid} command=/usr/sbin/daemon command_args="-p ${pidfile} ${foo}" procname=$bgscheduler_java/bin/java run_rc_command "$1"