Тема: Проблема с автозапуском программы

Уважаемые господа,

Пишу сюда от безисходности, обрыл весь гугл и буду рыть далее, но очень надеюсь на Вашу помощь.

Имеется у меня FreeBSD 7.4 с установленным на ней Asterisk-ом. Устанавливал прогу не из портов, а имел архивчик. Юзер я далеко не обытный, но стремлюсь к совершенство. Так вот, установился мой Asterisk в директорию /usr/etc/asterisk , а не в /usr/local/etc/ХХХ как ставятся проги из портов. Прога работает отлично и запускается с любого каталога командой asterisk start  (строчка asterisk_enable="YES" в rc.conf ясное дело имеется). А вот хочется мне, чтоб запускалась она автоматом, вместе с системой. Есть у меня и скриптик, который поместил в /usr/local/etc/rc.d и указал в нем запуск с директории /usr/etc/asterisk. Поставил ему, и всему пути /usr/etc/asterisk командочкой chmode права доступа 755 и все это дело проверил командочкой ls -l. Но когда пытаюсь запустить скрипт - ругается:

Main Server# /usr/local/etc/rc.d/asterisk.sh start
Starting asterisk.
eval: /usr/etc/asterisk: Permission denied

Но при этом, если программка уже запущена, то при выполнении скрипта:
Main Server# /usr/local/etc/rc.d/asterisk.sh start
asterisk already running? (pid=1546).

Как все это побороть? Или может при установки Asterisk, можно изменить путь установки?

2

Re: Проблема с автозапуском программы

а чем вам не нравится установка из портов?
И можно увидеть скрипт запуска?

3

Re: Проблема с автозапуском программы

из портов он ставит самую последнюю версию астериска. А у меня стоит задача, установить кодек G729 для звонков наружу и с наружи. А бесплатных кодеков под новую версию пока нету.
А скрипт:
#!/bin/sh
#
# $FreeBSD: ports/net/asterisk/files/asterisk.sh.in,v 1.11 2011/01/04 14:17:02 flo Exp $
#

# PROVIDE: asterisk
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable asterisk:
#
# asterisk_enable="YES"
#

. /etc/rc.subr

name=asterisk
rcvar=`set_rcvar`

extra_commands="reload"

stop_cmd="asterisk_stop"
reload_cmd="asterisk_reload"

command="/usr/etc/asterisk"
command_args="-n -U %%ASTERISK_USER%%"
pidfile=${asterisk_pidfile:-"/var/run/asterisk/asterisk.pid"}

asterisk_stop() {
  echo 'Stopping asterisk'
  $command -nqrx 'core stop now'
}

asterisk_reload() {
  echo 'Reloading asterisk'
  $command -nqrx 'reload'
}

load_rc_config $name

asterisk_enable=${asterisk_enable:-"NO"}
run_rc_command "$1"

4

Re: Проблема с автозапуском программы

%%ASTERISK_USER%%

уверены что так пользователя надо задавать?

5

Re: Проблема с автозапуском программы

crash, большое спасибо за старание. Проблему решил. А так же научился изменять каталог установки программ:
1. В файлике makeops можно подправить путь (в моем случае достаточно было сменить prefix).
2. Но и без переустановки программы разобрался со скриптом. Строку с %%ASTERISK_USER%% просто закрыл, а ошибка была в указании адреса. command="/usr/etc/asterisk" заменил на command="/usr/sbin/asterisk" и все заработало.

6

Re: Проблема с автозапуском программы

о, я кстати что-то пропустил, что etc папка, там же конфиги)).