カテゴリー
FreeBSD MySQL

FreeBSD (MySQL5.1)

/usr/ports/databases/mysql51-server

/usr/local/etc/pkgtools.conf

‘databases/mysql51-*’ => [
‘WITH_XCHARSET=all’,
],

↑ 紆余曲折の末、とりあえずこれで済ませました。

# portinstall database/mysql51-server
# cd /usr/local/bin
# ./mysql_install_db
# cd /var/db
# chown -R mysql:mysql mysql

/etc/rc.conf に mysql_enable=”YES” を追記。

デフォルトのDBディレクトリは /var/db/mysql になるので、別の場所にしたければ、 /etc/rc.conf にmysql_dbdir = “ほげほげ” をさらに追記すればいい。

カテゴリー
Apache FreeBSD Software

FreeBSD (Apache2.2 : httpready)

「[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter」と言ってApacheに怒られた。

ちょっとググってみたらビンゴなページがあった。感謝。

# kldload accf_http.ko

or
「/boot/loader.conf」に

accf_http_load=”YES”

を追加。

カテゴリー
FreeBSD squid

FreeBSD (Squid 2.6)

/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  ユーザー名

カテゴリー
FreeBSD Software

FreeBSD (wget4web)

# portinstall www/wget4web

で一発。

あらかじめApacheが入っていないとApacheのインストールから始めようとするので要注意。 あとでApache2.2を入れるつもりだったのがApache1.3xを入れようとするのでちょっと焦った。

カテゴリー
Apache FreeBSD Software

FreeBSD (Apache2.2)

今日は適当にメモっただけ。後日清書するかも。

/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はそのままそっと置いておく。