SAMS2 работоспособность

Здравствуйте!

Я несколько раз тестировал SAMS2, но все-таки не добился нормальной работы.
Устанавливал с svn http://svn.nixdev.net/svn/sams/trunk. ОС Ubuntu 8.04.
Хочу сделать связку SQUID+SAMS+OpenLDAP+SAMBA(PDC)+...
Список пользователей нормально импортируется с OpenLDAP сервера, но блокировки при превышения квоты не работают.
Пробовал также костыль от Mclight77 для первого САМСа – не получилось…

Возникают несколько вопросов:
Кто нибудь добился нормальной работы программы при такой схеме?
Какую ОС ставили (дистрибутив, релиз)?
Какую версию САМСа ставили?
Как настраивали SQUID?

RECODECOMMAND в sams2 не работает.
да, речь идет о русских урлах. кодировку я смотрел штирлицем. Правда, у меня возник вопрос - от чего эта кодировка зависит, не от клиента ли? тогда что с этим делать не совсем понятно.

Спасибо, читал до этого этот тикет.
Немного не понятно. Логи от скида пишутся в кодировке ANSI, так?

Системная локаль UTF-8, база тоже UTF-8, авторизация в AD, но русских логинов нет, остаются русские урлы. Вопрос: как мне определить кодировку файла access.log squid'а?

ps. А что делает в sams2.conf:
RECODECOMMAND=iconv -f 866 -t UTF-8 %finp > %fout

?

по поводу 1: http://sams.nixdev.net/ticket/396

При открытии списка сайтов по пользователю:

много строк такого:

Warning: Missing argument 2 for RTableCell(), called in /usr/local/share/sams2/src/userbuttom_4_site.php on line 124 and defined in /usr/local/share/sams2/tools.php on line 487

вообще userbuttom_4_site.php еще где то всплывала.

debian 2.6.26-2-686
#squid -v
Squid Cache: Version 2.7.STABLE3
sams2 (2.0.0 b1) + postgres

1. samsdaemon в логи пишет нечто такое
pgquery.cpp:237 [0x8d07f30->sendQuery] ERROR: неверная последовательность байт имя кодировки "UTF8": 0x9b
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
(конфиг sams и postgres по умолчанию, база utf-8, client_encoding ставил. не помогает ).

2. в вебе "Администрирование sams" в трафике такое:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: колонка "2010-05-06" не существует LINE 1: ...sum(s_size),sum(s_hit) FROM cachesum WHERE s_date="2010-05-0... ^ in /usr/local/share/sams2/dbclass.php on line 47

Warning: pg_fetch_array() expects parameter 1 to be resource, boolean given in /usr/local/share/sams2/dbclass.php on line 135
All traffic From cache Traffic
Warning: pg_query() [function.pg-query]: Query failed: ERROR: оператор не существует: boolean && date LINE 1: ...sum(s_hit) FROM cachesum WHERE s_date>='2010-05-1'&&s_date<=... ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. in /usr/local/share/sams2/dbclass.php on line 47

Warning: pg_fetch_array() expects parameter 1 to be resource, boolean given in /usr/local/share/sams2/dbclass.php on line 135

У меня тоже самое. Не могу пнять в чем тут причина.

____________
купить квартиру

>> Пример: имеем два шаблона Default и Users, Users последний в списке.
>> Если пользователя включить в шаблон Default то у него пропадает доступ в инет, т.е. он просто не авторизуется (авторизация ncsa)

Пофиксено, изменения в svn

Почему-то статистика по трафику и статистика по сайтам показывет разные значения, причем на величину исходящего трафика. Отправляли на FTP сервер с авторизацией. Кто-нибудь знает в чем причина или где поискать?
-----------------
Open SuSE 11.0
SAMS: 730:2.0.0-83.1
Авторизация: NCSA

Пример: имеем два шаблона Default и Users, Users последний в списке.
Если пользователя включить в шаблон Default то у него пропадает доступ в инет, т.е. он просто не авторизуется (авторизация ncsa)
---------------------
OpenSuSE 11.0
SAMS2 730:2.0.0-83.1 (установлен из пакета)

Прошу прощения за наезды :) по-поводу автоматического отключения. Пользователи блокируются, но не сразу. Первый раз пришлось ждать около 2х дней. Сейчас практически сразу но с небольшим превышением по трафику (патч не установлен).

все разобрался, надо указать свой ip в WEB интерфейсе настройки прокси - файл перенаправления запроса и путь к каталогу, где лежат файлы запрета запроса

при реконфигурировании SQUID вылазит ошибка:
aclParseIpData: Bad host/IP: 'your.ip.address'
aclParseAclLine: WARNING: empty ACL: acl SAms2Proxy dst your.ip.address
________________
CentOS 5.4
Squid 2.6
Sams2 Revision 798

Автоматическое отключение не работает, похоже, из-за демона, т.к. в таблице squiduser не меняется поле s_enabled c 1 на 0
Если вручную установить значение статуса "Отключен за превышение трафика" отключение происходит.

---------------------
OpenSuSE 11.0
SAMS2 730:2.0.0-83.1 (установлен из пакета)

автоизация вида ntlm_auth в squid.conf ручками прописана?

Установил Sams2 без особых проблем, но при настройке авторизации в домене AD столкнулся вот с такой проблемой -
Invalid Proxy Auth ACL 'acl Sams2Template2 proxy_auth admin' because no authentication schemes are fully configured. FATAL: Bungled squid.conf line 574: acl Sams2Template2 proxy_auth admin
____________________________________________________________
CentOS 5.4
Sams2 beta1
Squid 2.6

После превышения трафика пользователем не меняется его статус (остается активным), хотя иконка пользователя переключается на мигающую. И ещё, в списке статусов присутствует пустая строка.

PS: lang.UTF8
---------------------
OpenSuSE 11.0
SAMS2 730:2.0.0-83.1 (установлен из пакета)

Под Ubuntu рекомендую попробовать поставить sams из пакетов: http://www.nixdev.net/release/sams/devel/debian/

вместо "-l syslog" написать "-l file:/var/log/samsdaemon.log"
чтобы лог сохранялся в отдельном файле.

PS: я указал только окончание строки.

извините за глупый вопрос, но что писать в /etc/sysconfig/sams2 ? не нашел в документации, ткните пожалуйста.

./configure --help | grep prefix

Оффтоп вопрос. А как вы установили sams2 на убунту? У меня проблемы при установке. Ставил так.

svn co http://svn.nixdev.net/svn/sams/trunk

cd trunk
make -f Makefile.cvs
sh ./configure
make

Но всё ставится в /usr/local/
а должно в /etc/bin/ /etc

скрипт запуска править не нужно, вместо этого нужно исправить /etc/sysconfig/sams2

сегодня ошибок в логах samsdaemon не было учет трафика работает.
Кстати, поменял строку в скрипте запуска на OPTIONS=${OPTIONS:-"-l file:/var/log/samsdaemon.log"},
но логи всё равно пишет в messages, может где ошибка? Я не большой спец в bash. Запускать в консоли ещё не пробовал.

Запросы в скрипте setup.php на создание таблиц delaypool, d_linik_s, d_linik_t, d_linik_r есть, а самих таблиц не было.
Сейчас создал их вручную, посмотрю, что будет завтра.
------------------------------
SAMS 730:2.0.0-81.1 сборка для OpenSuSE 11.0

PS: исходники скачал, документацию нашел, спасибо.

PPS: по-поводу таблиц: наверно был мой косяк. не доглядел во время установки. На машине, где до этого не было другого SAMS все таблицы на месте.

сорри... тут был вопрос не по теме, и я его решил... как удалить коммент? :)

кстати, документация поставляется вместе с исходниками (директория doc). Она, конечно, не полная, но все-же лучше чем ничего.

тут явное несоответствие структуры базы данных с исходниками.
Поскольку я не знаю, какой версией создавалась структура, то покажу историю изменений. С какой позиции начинать - решать тебе.

CREATE TABLE `sysinfo` (
`s_proxy_id` INT NOT NULL ,
`s_name` VARCHAR( 50 ) NOT NULL ,
`s_version` VARCHAR( 10 ) NOT NULL ,
`s_author` VARCHAR( 30 ) NULL DEFAULT 'anonymous',
`s_info` VARCHAR( 1024 ) NOT NULL DEFAULT 'not available',
`s_date` DATETIME NOT NULL ,
`s_status` INT NOT NULL
);
ALTER TABLE `redirect` ADD `s_dest` VARCHAR( 128 ) NULL ;
ALTER TABLE `shablon` ADD `s_shablon_id2` BIGINT( 20 ) UNSIGNED NULL ;
CREATE TABLE auth_param (
s_auth varchar(4) default '',
s_param varchar(50) default '',
s_value varchar(50) default ''
);
INSERT INTO auth_param VALUES('ntlm', 'enabled', '0');
INSERT INTO auth_param VALUES('ldap', 'enabled', '0');
INSERT INTO auth_param VALUES('adld', 'enabled', '0');
INSERT INTO auth_param VALUES('ncsa', 'enabled', '0');
INSERT INTO auth_param VALUES('ip', 'enabled', '1');
TRUNCATE TABLE sysinfo;
ALTER TABLE sysinfo ADD s_row_id SERIAL PRIMARY KEY FIRST;
CREATE TABLE delaypool (
s_pool_id SERIAL PRIMARY KEY,
s_name varchar(50),
s_class int NOT NULL,
s_agg1 int NOT NULL default '-1',
s_agg2 int NOT NULL default '-1',
s_net1 int NOT NULL default '-1',
s_net2 int NOT NULL default '-1',
s_ind1 int NOT NULL default '-1',
s_ind2 int NOT NULL default '-1'
);
CREATE TABLE d_link_s (
s_pool_id int NOT NULL,
s_shablon_id int NOT NULL,
s_negative int
);
CREATE TABLE d_link_t (
s_pool_id int NOT NULL,
s_trange_id int NOT NULL,
s_negative int
);
CREATE TABLE d_link_r (
s_pool_id int NOT NULL,
s_redirect_id int NOT NULL,
s_negative int
);

Скорей всего, не все ошибки исчезнут, однако, с оставшимися будет легче разбираться.

поскольку занимаюсь SAMS2 урывками и совсем недавно, до логов руки не дошли. как их настроить? где посмотреть? короче надо искать-читать. А работал SAMS до этого 1 день, даже не сутки. Сегодня, кстати, повторилась та же история. Поискал на сайте подробную документацию, нашел только на SAMS 1.

логи нашел. Вот кусочек:

Feb 24 09:45:37 stp samsdaemon[7531]: Reading config file /etc/sams2.conf
Feb 24 09:45:37 stp samsdaemon[7531]: samsconfig.cpp:141 [readFile] using MySQL engine.
Feb 24 09:45:37 stp samsdaemon[7531]: samsconfig.cpp:178 [readDB]
Feb 24 09:45:37 stp samsdaemon[7531]: mysqlconn.cpp:46 [0xaafa598->connect] Connecting to sams2@localhost as sams
Feb 24 09:45:37 stp samsdaemon[7531]: timerangelist.cpp:41 [reload]
Feb 24 09:45:37 stp samsdaemon[7531]: templatelist.cpp:53 [reload]
Feb 24 09:45:37 stp samsdaemon[7531]: ***ERROR: proxy.cpp:479 Unable to create query.
Feb 24 09:45:37 stp samsdaemon[7531]: samsuserlist.cpp:71 [reload]
Feb 24 09:45:37 stp samsdaemon[7531]: ***ERROR: mysqlquery.cpp:78 [0xaafb0b0->sendQueryDirect] Table 'sams2.delaypool' doesn't exist

таблицы delaypool в базе действительно нет.
.....
Нашел границу:
Feb 24 11:47:58 stp samsdaemon[7531]: ***ERROR: delaypoollist.cpp:79 Unable to create query.
Feb 24 11:47:58 stp samsdaemon[7531]: ***ERROR: delaypoollist.cpp:79 Unable to create query.
Feb 24 11:47:58 stp samsdaemon[7531]: ***ERROR: delaypoollist.cpp:79 Unable to create query.
Feb 24 11:47:58 stp samsdaemon[7531]: ***ERROR: logger.cpp:276 Unable to create query.
Feb 24 11:47:58 stp samsdaemon[7531]: ***ERROR: logger.cpp:276 Unable to create query.
---------------------------------------------------
Feb 25 00:00:00 stp samsdaemon[12499]: ***ERROR: mysqlquery.cpp:78 [0x813bd68->sendQueryDirect] MySQL server has gone away
Feb 25 00:00:00 stp samsdaemon[12499]: ***ERROR: mysqlquery.cpp:78 [0x813bd68->sendQueryDirect] Table 'sams2.delaypool' doesn't exist

24го в 11-48 я перезапустил демона и ошибки пропали. Дальше (с полуночи) все опять в ошибках.

Полагаю, что логов демона нет? Если так, то могу только фантазировать. Например, демон почему-то потерял связь с БД. Правда, в этом случае его пришлось бы останавливать через kill -9. Как долго работал демон до этого?

Сегодня обнаружил, что SAMS перестал считать трафик. Последняя запись датировалась 18-тым числом. Сервис работал, и только после перезапуска всё встало на место, появились строки, включая текущую дату.
С чем такое поведение можно связать?
================
SAMS 730:2.0.0-81.1 сборка для OpenSuSE
SQUID 2.6.STABLE20
OpenSuSE 10.3
Авторизация: NCSA

даже тикет такой заведен, осталось только мне им заняться ))

из одной строчки сделал 3, тогда заработало
было:
http_access allow Sams2Template2 Sams2Template2time Sams2Allow2

стало:
http_access allow Sams2Template2
http_access allow Sams2Template2time
http_access allow Sams2Allow2

иначе отказано в доступе.

Беда в том, что SAMS после реконфигурации все ставит как было.

Метод предложенный здесь http://www.permlug.org/node/5512
не работает

После танца с бубном :) получилось следующее:
http_access allow Sams2LocalAddr
http_access allow Sams2Template2 Sams2Allow2
http_access allow Sams2Template2 Sams2Time2

так SQUID понимает.

SQUID 2.6.STABLE20
OpenSuSE 10.3
Авторизация: NCSA

редиректор от sams2 используется? если да, то строки http_access добавляться не должны.

может, логи помогут выяснить проблему?

в /etc/sysconfig/sams2
-l syslog
заменить на
-l file:/var/log/samsdaemon.log

а если используется встроенный редиректор, то в squid.conf, в строке redirector_program добавить -l file:/var/log/squid/samsredir.log
перестартовать squid и sams2, предварительно не забыв увеличить уровень детализации логов в веб интерфейсе. (в настройках прокси)

ну и как обычно, если самостоятельно в логах ничего не обнаружишь, то можно выслать их мне. я предпочитаю полные логи (с уровнем 9)

Проблему решил добовлением в squid.conf следующие строчки:
...
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b ou=Users,dc=domain,dc=local -h ldap://127.0.0.1:389
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
...
acl Sams2Template2 proxy_auth user_name # Это SAMS2 сам добовляет
...
http_access allow Sams2Template2 # Это я добавил, хотя это должен делать SAMS2

После реконфигурирование, почему-то, последняя строчка удаляется.
Пробовал ставить # в конец строчки, как написано в доках не помогает...

В чем проблема?

Странно....
Может что то не так со сквидом? или у меня руки кривые...

root@pdc:~# squid -v
Squid Cache: Version 2.6.STABLE18
configure options: '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--libexecdir=/usr/lib/squid' '--sysconfdir=/etc/squid' '--localstatedir=/var/spool/squid' '--datadir=/usr/share/squid' '--enable-async-io' '--with-pthreads' '--enable-storeio=ufs,aufs,coss,diskd,null' '--enable-linux-netfilter' '--enable-arp-acl' '--enable-epoll' '--enable-removal-policies=lru,heap' '--enable-snmp' '--enable-delay-pools' '--enable-htcp' '--enable-cache-digests' '--enable-underscores' '--enable-referer-log' '--enable-useragent-log' '--enable-auth=basic,digest,ntlm' '--enable-carp' '--enable-follow-x-forwarded-for' '--with-large-files' '--with-maxfd=65536' 'i386-debian-linux' 'build_alias=i386-debian-linux' 'host_alias=i386-debian-linux' 'target_alias=i386-debian-linux' 'CFLAGS=-Wall -g -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS='

YED аватар

Работает нормально и без проблем на втором канале.
squid3.1.0.15+sams2+rejik+ip
Fedora 12

да, у меня работает без нареканий.
squid2.6+sams2+FDS (Fedora Directory Server) + samba(PDC)
на CentOS 5.2

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".