FreeBSD: сборка Openfire 3.7.0
В FreeBSD на самом деле проще самому собрать Openfire, чем использовать сборку из портов.
Устанавливаем JDK согласно данному топику.
Скачиваем архив с исходниками openfire_src_3_7_0 отсюда.
Распаковываем. Переходим в директорию build. Выполняем:
Все будет собрано в директории target. Переносим ее сдержимое, например, в /opt/openfire.
Создаем скрипт для запуска /etc/rc.d/openfire (выставляем правильные права, прописываем openfire_enable=«YES» в /etc/rc.conf):
Создаем пользователя openfire входящего в группу openfire:
Выставляем права:
Потом можно расставить права более утонченно.
Устанавливаем JDK согласно данному топику.
Скачиваем архив с исходниками openfire_src_3_7_0 отсюда.
Распаковываем. Переходим в директорию build. Выполняем:
ant openfire
ant plugins
Все будет собрано в директории target. Переносим ее сдержимое, например, в /opt/openfire.
Создаем скрипт для запуска /etc/rc.d/openfire (выставляем правильные права, прописываем openfire_enable=«YES» в /etc/rc.conf):
#!/bin/sh
# PROVIDE: openfire
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# openfire_enable (bool): Set to NO by default.
# Set it to YES to enable openfire.
# openfire_user (username): Set to openfire by default.
# Set it to required username.
# openfire_group (group): Set to openfire by default.
# Set it to required group.
# openfire_libdir (path): Set to /usr/local/share/java/classes by default.
# Set it to java classes directory.
# openfire_home (path): Set to /usr/local/share/java/openfire by default.
# Set it to java home directory.
# openfire_javargs (args): Set to -Xmx256M by default.
# See java -h for available arguments.
. /etc/rc.subr
name="openfire"
rcvar=${name}_enable
load_rc_config $name
# Set defaults
: ${openfire_enable:=NO}
: ${openfire_user:=openfire}
: ${openfire_group:=openfire}
: ${openfire_libdir:=/opt/openfire/lib}
: ${openfire_home:=/opt/openfire}
: ${openfire_javargs:='-Xmx256M'}
pidfile=/opt/openfire/openfire.pid
required_files="/opt/openfire/conf/openfire.xml"
java_options=" -server -jar ${openfire_javargs} \
-Dopenfire.lib.dir=${openfire_libdir} \
-DopenfireHome=${openfire_home}"
java_command=" /usr/local/bin/java ${java_options} \
/opt/openfire/lib/startup.jar"
# Subvert the check_pid_file procname check.
if [ -f $pidfile ]; then
read rc_pid junk < $pidfile
if [ ! -z "$rc_pid" ]; then
procname=`ps -o command= $rc_pid | awk '{print $1 }'`
fi
fi
command="/usr/sbin/daemon"
command_args="-f -p ${pidfile} ${java_command}"
start_precmd="openfire_precmd"
status_cmd="openfire_status"
stop_cmd="openfire_stop"
openfire_precmd() {
touch ${pidfile}
chown ${openfire_user}:${openfire_group} ${pidfile}
}
openfire_status() {
rc_pid=$(check_pidfile $pidfile *$procname*)
if [ -z "$rc_pid" ]; then
[ -n "$rc_fast" ] && return 0
if [ -n "$pidfile" ]; then
echo "${name} not running? (check $pidfile)."
else
echo "${name} not running?"
fi
return 1
fi
echo "$name is running as pid ${rc_pid}"
}
openfire_stop() {
rc_pid=$(check_pidfile $pidfile *$procname*)
if [ -z "$rc_pid" ]; then
[ -n "$rc_fast" ] && return 0
if [ -n "$pidfile" ]; then
echo "${name} not running? (check $pidfile)."
else
echo "${name} not running?"
fi
return 1
fi
echo "Stopping ${name}."
kill ${rc_pid}
wait_for_pids ${rc_pid}
rm ${pidfile}
}
run_rc_command "$1"
Создаем пользователя openfire входящего в группу openfire:
pw groupadd openfire
pw useradd openfire -d /opt/openfire -s /usr/sbin/nologin -G openfire
Выставляем права:
chown -R openfire : openfire /opt/openfire/
Потом можно расставить права более утонченно.
Комментарии (2)
RSS свернуть / развернутьyababay
Sergei_T
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.