Установка SAMS на OpenSuse 10.3
- Автор: snace
- Редактор: PavelVinogradov
Данная статья является отредактированной копией темы пользователя snace на форуме SAMS .
Установка
Возможно, кому-то эти сведения пригодятся при установке самса.
Буду описывать по ходу возникших трудностей.
Конфигурация системы:
- ОС OpenSuSe 10.3
- Squid 2.6 Stable
- MySQL 5.0.45
- Sams 1.0.1
Итак, грабли первые
При компиляции дистриба потребовалась библиотека gc, скачана с репозитария openSuse.
Грабли вторые
База логов сквида в упор не хотела создаваться, пока я руками не подправил файлик /etc/sams.conf, где прописал явно пароли на MySQL бызы.
Грабли третьи
Дальше было веселее: решил выбрать тип авторизации ncsa. Думал все будет ок, ага щаззз - в openSuse НЕТУ ФАЙЛА htpasswd, который отвечает за генерацию файла /etc/squid/ncsa.sams. Проблема решилась путем создания симлинка с файла /usr/bin/htpasswd2 на каталоги /usr/bin/htpasswd, /usr/sbin/htpasswd и /etc/squid/htpasswd. Кстати, на этом этапе не забудьте прописать в конфиге сквида следующие строки:
auth_param basic program /usr/sbin/ncsa_auth /etc/squid/ncsa.sams #(обязательно иначе не заработает авторизация) auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 minutes #(поставил такое значение, так как думал, что здесь возникают следующие грабли) auth_param basic casesensitive off
Грабли следующие
Все заработало, но не считает статистику. Здесь мне помог участник форума nix_kot (большое ему спасибо). Нужно было раскоментить строчки в сквиде /var/log/squid/access.log (Sams создаст pipe access.log и начнет считать трафик).
Грабли последние и самые коварные
Перезапустил систему и о чудо, Сквид перестал авторизовать пользователей - мучался часа четыре, выпил 2 литра пива... НАШЕЛ, ЭВРИКА. Кто-нибудь заглядывал в Сусе в /etc/rc.d после установки SAMS'a? Так вот, господа, от нашего самца там обязательно должно быть три процесса: samsf, samsdaemon и samsd, в последнем нужно руками закоментить вот эту строчку
#. /etc/init.d/functions
# и переправить вот этот кусок (привожу уже исправленный вариант)
start()
{
echo -n "Starting samsd: "
startproc "$EXE"
RETVAL=$?
[ $RETVAL -eq 0 ] && touch "$LOCKFILE"
echo
}
потом сделать следующие команды, для того, чтобы ваша суся подцепила эти три процесса в автозагрузку:
insserv samsd insserv samsdaemon insserv samsf
После перезапуска у меня все заработало. Удачи всем, надеюсь этот пост будет полезен.
