この項目は、まだplamo3.2で使っています。plamo3.2ベースでよろしかったら、 こちらを御覧下さい。
ウェブキャッシュ。実はISDN時代の名残だったり。 最近はそれなりに速い回線が使えるようになったので、あえて手元でキャッシュしなくても速度面では問題ない気がします。
$ ./configure
$ make all
# make install
/usr/local/squid/etc/squid.conf になります。 いま、使っているのはこんな感じ。
#
# squid.conf
# 一部、伏せ字になってます。
# ポート番号
http_port 3128
#cache_peer [hostname] {parent|sibling} [proxy_port] [icp_port]
#cache_mem 8 MB
# キャッシュ領域
#cache_dir ufs [directory-name] [diskspace(MB)] [?] [?]
cache_dir ufs /home/squid/cache 100 16 256
# この文字列を含むURLはキャッシュしない
hierarchy_stoplist cgi-bin ?
# ログファイル
cache_log /home/squid/cache.log
cache_access_log /home/squid/access.log
cache_store_log none
# ログファイルのローテーションサイクル(ログファイル数)
logfile_rotate 10
# 代替ユーザ名/代替グループ(起動後に別ユーザになる)
cache_effective_user squid
cache_effective_group users
# アドレス→名前 の定義
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1
acl localnet src xxx.xxx.xxx.xxx/xx
# 名前→アクセス制御
http_access allow localhost
http_access allow localnet
http_access deny all
# 申告アドレス (管理者登録/FTPパスワード)
cache_mgr xxxxxxx@xxxxxxxxxxx
ftp_user xxxxxxx@xxxxxxxxxxx
アクセス制御は、まずは全部を拒否したうえで一部を許可するかたちにしてます。 hosts.deny hosts.allow と同じ考え方ですね。
申告アドレスは、squidが他のサーバに接続する時にメールアドレスを尋ねられたとき、squidが相手に回答するアドレスです。 なんでもいいのかも知れませんし、いい加減な文字列だと接続先から拒否されるかもしれません。
squidのためのユーザ名を作成して、 設定ファイルの代替ユーザ名で使えるディレクトリを作ります。
キャッシュやログを書き込むディレクトリの所有者名も、このユーザにします。
ふつーに起動する前に、これをやります。 # /usr/local/squid/sbin/squid -z
とりあえず、これでつかえるはず。 # /usr/local/squid/sbin/squid & 機体の起動時には起動するように、rc.localに書いておくとよいです。
接続の設定で、プロキシサーバの設定をします。
・アドレスは、squidを動かしている機体のアドレス。自機だったらlocalhostでも可。
・ポートは、3128 ( squid.confで、別のを設定していたらその番号 )
たまにやります。定期的に実行するようにcronに設定してしまうのがいいみたい。 # /usr/local/squid/sbin/squid -k rotate
オプション -D をつけて起動すると、起動時にDNSテストをせずオフライン状態でもキャッシュ内容を読み出せるようになる。 ( つけてない時には、一旦は目標のサーバにアクセスしてキャッシュとの比較を必ず行なう、ということなんですかね? )
ここでは、お家ネットワーク内でのコピーをやってみます。 ノート機にデータを写して旅行先にデータを持っていくときとか。
サーバ側の設定が必要です。 使用頻度が低いので、inetdを介して使うことにします。
また、sshやrshを介さずに使うことにします。これは、sshやrshを普段は使っていない(使う用事がないので止めている)ためです。 この場合、rsyncはTCPの873ポートを使います。
このページを参考にしました。
inetd経由で起動するために/etc/servicesでポート番号を設定します
rsync 873/tcp
/etc/inetd.confにrsyncを追加します
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
rsyncd.confを作成します。 接続するユーザの制限とパスワードを使用するようにしています。
uid = root
gid = root
use chroot = no
max connections = 4
pid file = /etc/rsyncd.pid
[work] '(接続名)
path = (この接続で起点となるディレクトリ)
comment = (この接続についての説明書き)
uid = (この接続で動作するときのユーザー)
gid = (この接続で動作するときのグループ)
auth users = (接続を許可するユーザー)
secrets file = /etc/rsyncd.secrets(この接続のためのパスワードファイル)
strict modes = false (rsyncd.secretに接続するためのチェックを省略)
hosts allow = (接続を許可するクライアント機)
read only = (サーバ側への書き込み許可)
rsyncd.confのsecrets fileに指定した名前のファイルを作成し、 rsync接続用のパスワードを設定します。
(username):(password)
こちらに書きました。
ソースから $ ./configure → $ make → # make install としました。
swatは使いません。一回設定が決まったら変更することもありませんので。
/usr/local/samba/lib/smb.confです。 無かったらソースのexampleディレクトリから持ってくるとか、作るとか。
設定ファイルはマシン移行の時に忘れずに持っていきたいので、 /etcにファイルを作成して、リンクを貼るようにしてます。
# cd /usr/local/samba/libvi等で書き換えたら、smb.confの文法チェックをしておきます。
# /usr/local/samba/bin/testparmファイル共有のユーザー登録をします
# cd /usr/local/samba/binシステム起動時に立ち上げるだけなので、rc.localで指定します。
/usr/local/samba/smbd -D
/usr/local/samba/nmbd -D