STAcc/Работа над ошибками
Общие советы
Если при установке или настройке STAcc возникли трудности, то прежде всего стоит посмотреть, что написано в системных журналах, которые находятся в каталоге /var/log.
Вот несклько общих советов:
- Проверить настройки в конфигурационных файлах: stac.cfg и config.php
- Посмотреть журналы Squid и STAcc
- При проблемах с веб интерфейсом смотреть журналы Apache
- Включить журналирование сообщений редиректора: раскомментировать в stCheck.pl строки с функцией logMessages(). Перезагрузить squid
Отдельные ошибки
- При запуске скрипта stAdmin.pl:
Can't locate /etc/squid/stCommon.pl in @INC
Решение: Исправить путь к stCommon.pl в файле stAdmin.pl а заодно и в stCheck.pl. Строка выглядит так:
require ("/etc/squid3/stCommon.pl");
Нужно также исправить путь к конфигурационному файлу в stCommon.pl:
require "/etc/squid3/stacc.cfg";
- При обращение к странице в обозревателе получаем ошибку:
Fatal error: Call to undefined function mysql_connect() in /var/www/report/common.php on line 9
Решение: Установить пакет поддержки MySQL в PHP. В Debian это пакет php5-mysql
- Если получаем ошибки php, то настраиваем PHP через /etc/php5/.../php.ini. Отключаем предупреждения, чтобы не получать сообщений вроде Undefined variable и Undefined index и отключаем безопасный режим:
safe_mode = Off... error_reporting = E_ALL & ~E_NOTICE
и дозволяем выполнение команд в ОС, для этого из переменой disable_functions убираем упоминание о shell_exec. Также, если у нас включены дополнительные ограничения безопасности, то и в тех переменных, например в suhosin.executor.func.blacklist, suhosin.executor.eval.blacklist
- После внесения изменений в PHP, применим их, перезагрузив Apache:
# /etc/init.d/apache2 restart
- После запуска squid обнаруживаем, что он аварийно завершается с ошибкой в журнале:
Can't do setuid (cannot exec sperl) или Can't do seteuid!
Решение: нужно установить это разрешение командой:
# chmod u+s /usr/bin/sperl5.8.9
или
# chmod 4711 /usr/bin/sperl5.8.9
Подробней об особенностях suidperl в Suse можно почитать на http://www.linuxsecurity.com/content/view/102452/170/
- Не считается трафик, хотя пользователи имеют доступ в Интернет.
Попробуйте обнулить цепочки iptables и создать счётчики заново:
# iptables -F # iptables -X # /etc/squid3/stAdmin.pl chains
посмотреть счётчики можно командой (подробней смотрите советы по iptables):
# iptables -L -vxn