SQUID+SAMS
Need help!
Устанавливаю связку SQUID+SAMS+NCSA-auth+MYSQL+APACHE2+PHP
Все устанавлиается по мануалам на ура. Однако, samsd нет в портах, устаналиваю из исходников sams-20051107.tar.gz (пробовал последнюю версию SAMS, толку ноль):
# ./configure --with-httpd-locations=/var/www/localhost/htdocs/
Компилируется и устанавливается нормально. БД создает нормально, управлять дает через web, все вроде ок.
При настройке на NCSA аутентификацию есть такие строки:
auth_param basic program /usr/libexec/squid/ncsa_auth /etc/squid/ncsa.sams
Файл /etc/squid/ncsa.sams создает SAMS, при старте, беря пользователей из БД, однако не могу стартануть самс из скриптов и squid отваливается.
Есть два косяка, как исправить пока не могу понять:
1. Если стартуешь скрипт samsd, то он ругается:
# ./samsd start
./samsd: line 7: /etc/init.d/functions: No such file or directory
Лезем в скрипт, в init.d лежит не functions, а functions.sh.
Правим, выдает следующее:
init.d# ./samsd start
Starting samsd: ./samsd: line 17: daemon: command not found
init.d#./samsd stop
Shutting down samsd: ./samsd: line 26: killproc: command not found
Естествено daemon и killproc нет таких комманд.
Пробовал добавить строку
. /etc/init.d/runscript.sh
После этого ругается совсем на другое:
init.d # ./samsd start
* Caching service dependencies ... [ ok ]
/lib/rcscripts/sh/rc-daemon.sh: line 424: `start-stop-daemon': not a valid identifier
В этом файле на 424 строке символ "{"
Скрипт стандартный, видимо у меня чего-то просто не хватает, но понять не могу чего?
#!/bin/sh
#
# chkconfig: 345 87 08
# description: Squid Account Management System (SAMS)
#
# Source function library.
. /etc/init.d/functions.sh
. /etc/init.d/runscript.sh
SAMSPATH=`cat /etc/sams.conf | grep SAMSPATH | tr "SAMSPATH=" "\0"`
EXE=$SAMSPATH/bin/samsdaemon
LOCKFILE=/var/lock/samsd
RETVAL=0
start()
{
echo -n "Starting samsd: "
daemon "$EXE" &
RETVAL=$?
[ $RETVAL -eq 0 ] && touch "$LOCKFILE"
echo
}
stop()
{
echo -n "Shutting down samsd: "
killproc "$EXE"
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f "$LOCKFILE"
echo
}
restart()
{
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status "$EXE"
;;
*)
echo "Usage: ${0##*/} {start|stop|restart}"
RETVAL=1
esac
exit $RETVAL
Проблема вторая:
Все можно стартануть руками:
# /usr/local/bin/samsdaemon &
Либо поправить скрипт чтоб стартовал именно сам демон напрямую.
Однако не работает редиректор samsredir, который запускает samsdaemon, если в опциях указан "Редиректор SAMS". Демон его не стартует в фоне, хотя в опциях четко говорит, что
Read SAMS properties...
User autentification... NCSA
Sleep time of samsdaemon... 10 second
Redirector... SAMS
SQUID log parser... diskret
User traffic cleaner... YES
User name recode... NO
Delay pools... ON
Domain separators... '0'
Log level... '0'
Ok
Редиректор SQUID работает, в принципе достаточно, однако хотелось бы просто понять в чем ошибка, может кто сталкивался?
- Для комментирования войдите или зарегистрируйтесь
Забыл написать
Забыл написать, что
Gentoo 2006.1
stage3
ядро 2.6.19-gentoo-r5
portage последние, 30.04.07г.
Вам придётся
Вам придётся переписать инит скрипт. В gentoo используется специальный скрпит-надстройка, который нужно указывать вместо шелла. В вашем случае скрипт должен выглядеть примерно так
Получилось?
Получилось? Бьюсь вторую неделю - не могу настроить :(