STAcc/Работа над ошибками

From SysadminWiki.ru
Jump to: navigation, search

Общие советы

Если при установке или настройке STAcc возникли трудности, то прежде всего стоит посмотреть, что написано в системных журналах, которые находятся в каталоге /var/log.

Вот несклько общих советов:

  1. Проверить настройки в конфигурационных файлах: stac.cfg и config.php
  2. Посмотреть журналы Squid и STAcc
  3. При проблемах с веб интерфейсом смотреть журналы Apache
  4. Включить журналирование сообщений редиректора: раскомментировать в 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