2011年4月29日金曜日

SheevaPlug+でsquidを動かす

何かLinkstationでpolipoを動かして遊んだ経験があったためにSheevaPlug+でもpolipoを動かしていたのですが、このスペックならば外付けHDDをキャッシュ保管先にすれば問題なくsquidが動くことに気づいたのでした。

導入が多いソフトなだけありpolipoで起きる通信に突っかかったりすることが無いので快適です。

以下のようにキャッシュとログを/media/sda1/squid以下に保管するように変更した上で、192.168.179.0/24という自宅環境からの接続を許可しました。
あと、polipoから移行したのでポート番号をpolipoデフォルトの物に変更しています。

こんな感じで/etc/squid/squid.confを編集

--- squid.conf.orig     2011-04-29 06:45:44.000000000 +0900
+++ squid.conf  2011-04-29 21:06:29.000000000 +0900
@@ -607,6 +607,7 @@
acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16        # RFC1918 possible internal network
+acl homeuser src 192.168.xxx.0/24
#
acl SSL_ports port 443         # https
acl SSL_ports port 563         # snews
@@ -652,6 +653,7 @@
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
+http_access allow homeuser
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
@@ -1107,7 +1109,7 @@
#      visible on the internal address.
#
# Squid normally listens to port 3128
-http_port 3128
+http_port 8123

#  TAG: https_port
# Note: This option is only available if Squid is rebuilt with the
@@ -1950,6 +1952,7 @@
#
#Default:
# cache_dir ufs /var/spool/squid 100 16 256
+cache_dir ufs /media/sda1/squid 20480 16 256

#  TAG: store_dir_select_algorithm
#      Set this to 'round-robin' as an alternative.
@@ -2125,7 +2128,8 @@
#
#      And priority could be any of:
#      err, warning, notice, info, debug.
-access_log /var/log/squid/access.log squid
+#access_log /var/log/squid/access.log squid
+access_log /media/sda1/squid/access.log squid

#  TAG: log_access     allow|deny acl acl...
#      This options allows you to control which requests gets logged
@@ -2149,6 +2153,7 @@
#
#Default:
# cache_log /var/log/squid/cache.log
+cache_log /media/sda1/squid/cache.log

#  TAG: cache_store_log
#      Logs the activities of the storage manager.  Shows which
@@ -2159,7 +2164,7 @@
#
#Default:
# cache_store_log /var/log/squid/store.log
-
+cache_store_log /media/sda1/squid/store.log
#  TAG: cache_swap_state
#      Location for the cache "swap.state" file. This index file holds
#      the metadata of objects saved on disk.  It is used to rebuild
@@ -2212,6 +2217,7 @@
#
#Default:
# logfile_rotate 0
+logfile_rotate 4

#  TAG: emulate_httpd_log      on|off
#      The Cache can emulate the log file format which many 'httpd'


次にキャッシュの保管先作成。
# mkdir /media/sda1/squid
# chown proxy.proxy /media/sda1/squid

キャッシュ作成。
# squid -z

squidの起動。
# /etc/init.d/squid restart

何より安定稼働が一番。

追記: ログローテートの設定を忘れていたので追加しました。

参考サイト
追記
シャットダウン時にUSB HDDへのアクセスが尋常ではないのでのでとりあえずcoss形式での運用は見送り。SheevaPlug+の性能の問題かな?

coss形式の設定はこちらが参考になります。