RasbianにSquid3をインストールし、いくつかのマイナーな構成を行いました。次に、自動マウント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
これらのエラーを解決するにはどうすればよいですか?前もって感謝します。
デフォルトのsquidユーザーproxy
には、親から書き込み先のすべてのディレクトリへの書き込み権限が必要です。キャッシュディレクトリ(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
今、すべてが機能しているようです。 debugコマンドを実行したとき、または構成ファイル(squid3 -k parse
)を解析したときに、エラーが見つかりません。
最初に所有者をプロキシに変更してから、以下に示すようにsquid.confにユーザーを追加します。Sudochownproxy:proxy/usr/local/squid -R
パーミッションエラーの場合は、squid.confでcache_effective_userを設定し、squidを再起動するだけです。 /usr/local/squid/etc/squid.conf
cache_effective_userプロキシ
この設定は私の問題を解決しました