1

Я установил Squid3 на Rasbian и выполнил небольшую настройку. Затем я настроил его для кэширования на USB-накопитель с автоматическим монтированием.

Я просматривал журналы и нашел только TCP_MISS . Я надеялся, что после небольшого использования Squid с некоторыми хитами. Я посмотрел в кеш (там есть дерево ufs), и похоже, что он кеширует файлы.

Я запустил squid -X -d9 и получил ошибки о невозможности записи файлов журнала:

FATAL: Cannot open '/var/log/squid3/access.log' for writing.
The parent directory must be writeable by the
user 'proxy', which is the cache_effective_user
set in squid.conf.
Squid Cache (Version 3.1.20): Terminated abnormally.

разрешения для /var/log/squid3 :

drwxrwxr-x  2 proxy proxy   4096 Apr 29 14:13 squid3

и внутри:

-rwxrwx--- 1 proxy proxy      0 Apr 29 06:25 access.log
-rwxrwx--- 1 proxy proxy 303469 Apr 28 23:41 access.log.1
-rwxrwxrwx 1 proxy proxy  14730 Apr 29 14:47 cache.log
-rwxrwx--- 1 proxy proxy  79626 Apr 28 22:00 cache.log.1
-rwxrwx--- 1 root  root       0 Apr 27 14:09 store.log.1

Разрешения для кеша смонтированы в /cache0

drwxrwxr-x  19 root proxy  4096 Apr 29 14:47 cache0

Как я могу устранить эти ошибки? Заранее спасибо.

2 ответа2

2

proxy пользователя squid по умолчанию требуется разрешение на запись от родителя во все каталоги, в которые он пишет; включая каталог кеша (cache_dir) и файлы журналов.

Я не хотел менять права доступа к /var или /var/log , поэтому я создал новый каталог /squid3_logs и установил расположение журналов в squid.conf .

access_log /squid3_logs/access.log squid
cache_store_log /squid3_logs/store.log
cache_log /squid3_logs/cache.log

Я также убедился, что все файлы и подкаталоги в моем кеше (/cache0) имеют соответствующие разрешения. Когда я выполнил команду отладки squid -X -d9 как мой пользователь, я думаю, что автоматически изменил владельца swap.state на меня.

sudo chown proxy:proxy /cache0/swap.state
sudo chmod -R 775 /cache0

Теперь все, кажется, работает. Я не нахожу никаких ошибок при запуске команды отладки или при разборе файла конфигурации (squid3 -k parse).

-1

Сначала смените владельца на прокси, а затем добавьте пользователя в squid.conf, как показано ниже. Sudo chown proxy:proxy /usr /local /squid -R

в случае ошибки разрешения вы просто устанавливаете cache_effective_user в squid.conf и перезапускаете squid. /usr/local/squid/etc/squid.conf

cache_effective_user proxy

Этот конфиг решил мою проблему

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .