$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
/usr/ports/www/squid26
/usr/local/etc/pkgtools.confに下記追記
MAKE_ARGS = {
‘*’ => ‘WITHOUT_X11=yes’,
‘www/squid26′ => [
‘SQUID_UIG=squid’,
‘SQUID_GID=squid’,
‘SQUID_LANGUAGES=”English Japanese”‘,
‘SQUID_DEFAULT_LANG=Japanese’,
],
}
# portinstall www/squid26
で一発。ダイアログで下記を選択
SQUID_DELAY_POOLS=true
SQUID_SNMP=true
SQUID_CARP=true
SQUID_WCCP=true
SQUID_IDENT=true
SQUID_REFERER_LOG=true
SQUID_USERAGENT_LOG=true
SQUID_KQUEUE=true
/usr/local/etc/squid/squid.confを編集
#キャッシュを増やす 100(MB)->4096(MB)
cache_dir ufs /usr/local/squid/cache 4096 16 256
#アクセス許可のネットワークを指定
acl ほげほげ src www.xxx.yyy.zzz/255.255.255.248
#アクセスを許可
http_access allow ほげほげ
#できるだけ寡黙なプロキシにするための設定
visible_hostname unknown
forwarded_for off
header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all
昔のsquidの時は下3行の設定が無くてソースをいじって対応してました。なのでportsは使っていなかったけど、今回はportsを使うようにしました。
他にも
anonymize_headers deny From Referer Server
anonymize_header deny User-Agent WWW-Authenticate Link
fake_user_agent Mozilla/4.99 [en] (Windows NT 5.0; U)
とかあるけど、ここまでやると逆に不自然なのであえて指定してません。
設定間違いが無いかは
/usr/local/sbin/squid parse
で確認。エラーが出たら修正。
portsの場合はデフォルトで/usr/local/squid下にキャッシュやログができます。
squidは使い始めにキャッシュのディレクトリ構造を作ってやる必要があるので
/usr/local/sbin/squid -z
で初期化する。
/etc/rc.confに
squid_enable=yes
を追加。
/usr/local/etc/rc.d/squid startで起動。
なんかstopがうまく効かない。とにかく動いたので後日調べよう。
↑これは/usr/local/squid/logs/squid.pidに変な数字が入っていたせいだった。消して再起動で動くようになった。んー、まあいいか。
パスワードによるアクセス制限
squid.confに追記
acl hogehoge proxy_auth REQUIRED
http_access allow hogehoge
auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/passwd.squid
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
/usr/local/etcにパスワードファイル作成
# htpasswd -c passwd.squid ユーザー名
New password:
Re-type new password:
Adding password for user ユーザー名
# portinstall www/wget4web
で一発。
あらかじめApacheが入っていないとApacheのインストールから始めようとするので要注意。 あとでApache2.2を入れるつもりだったのがApache1.3xを入れようとするのでちょっと焦った。
今日は適当にメモっただけ。後日清書するかも。
/usr/ports/www/apache22
/usr/local/etc/pkgtools.conf
MAKE_ARGS = {
‘www/apache22′ => [
‘WITHOUT_DAV_MODULES=yes’,
‘WITHOUT_PROXY_MODULES=yes’,
‘WITHOUT_IPV6=yes’,
],
}
# portinstall www/apache22
# diff /usr/local/etc/apache22/httpd.conf httpd.conf.org
40c40
< Listen www.xxx.yyy.zzz:80
—
> Listen 80
132c132
< ServerAdmin www@ほげほげ
—
> ServerAdmin you@example.com
453,468d452
< < NameVirtualHost *:80
<
<
< ServerAdmin webmaster@ほげほげ
< DocumentRoot /usr/home/www/404
< ServerName 404.ほげほげ
<
< Options Indexes FollowSymLinks
< AllowOverride None
< Order allow,deny
< Allow from all
<
< ErrorLog /var/log/404.ほげほげ-error_log
< CustomLog /var/log/404.ほげほげ-access_log common
<
こうしておけば /usr/local/etc/apache22/Includesで設定していないホストへのアクセスを全部ここに集中できる。
# /usr/bin/openssl genrsa -out /usr/local/etc/apache22/server.key 1024
# /usr/bin/openssl req -new -days 365 -key /usr/local/etc/apache22/server.key -out /usr/local/etc/apache22/server.csr -out /usr/local/etc/apache22/server.csr
なんちゃって自己証明
# /usr/bin/openssl x509 -in /usr/local/etc/apache22/server.csr -out /usr/local/etc/apache22/server.crt -req -signkey /usr/local/etc/apache22/server.key -days 365
# chmod 600 server.*
を忘れずに。
/usr/local/etc/apache22/extra/httpd-ssl.confのDocumentRoot, ServerName, ServerAdminをを適当に書き換えて/usr/local/etc/apache22/Includes/httpd-ssl.confに置く。
あと、必要に応じて /usr/local/etc/apache22/IncludesにVirtual Hostのファイルを作って置けばOK。こんな感じ
# Virtual Hosts
#
ServerAdmin webmaster@へろへろ
DocumentRoot /usr/home/www/http
ServerName www.へろへろ
ServerAlias へろへろ
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
ErrorLog /var/log/www.へろへろ-error_log
CustomLog /var/log/www.へろへろ-access_log common
Apcheの再起動は /usr/local/etc/rc.d/apache22 restart
# /usr/local/etc/rc.d/apache22
Usage: /usr/local/etc/rc.d/apache22 [fast|force|one](start|stop|restart|rcvar|re
load|graceful|gracefulstop|configtest|status|poll)
/usr/local/etc/apache22/Includes/no-accf.confはそのままそっと置いておく。
日々の四方山話を徒然と・・・
いらっしゃいませ。このブログはオーストラリアの生活に関する話題とFreeBSDに関連する話題を主に色々と書き綴っています。
Sorry, This site consists of Japanese contents only. If you are interested in my blog, feel free to leave your comments in English or Japanese. Thank you.