2006/06/15(木)Fedora × FFFTP (1)

Winで使用するFTPクライアントの代表的なものとしてFFFTPがあげられます。
が、Fedora Core@UTF-8環境で使用している場合、FFFTPがUTF-8に対応していないため文字化けを起こしてしまいます。

解決策

  • Fedora CoreサーバのロケールをEUCに変更する
  • FTPクライアントをUTF-8対応のものに変更する
  • UTF-8対応のFTPサーバプログラムを導入する
私の環境ではすでにUTF-8で構築されているため、今更ロケールをEUCに変更するといろいろ不具合が頻発することになり、あまり選択したくない項目です。
次に、FTPクライアントをUTF-8対応のものを使用することはある意味正攻法といえます。が、多くの場合このようなFTPクライアントはシェアウェアです。
また、W-ZERO3などのCEデバイスにはそもそもUTF-8に対応したFTPクライアントソフトが無いため、これも選択したくない項目です。
と、いうことで残された最後の選択肢である「UTF-8対応のFTPサーバプログラムを導入」することにします。

必要なもの

*1 : FFFTPでファイル一覧がみれないという問題を回避するためのパッチ

インストールメモ

ここを参考にProFTPD1.3.0でやってみました
# cd /usr/local/src
# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0.tar.gz
# wget http://www.hakusan.tsg.ne.jp/tjkawa
/software/misc/proftpd-iconv/pack/proftpd-1.3.0-iconv.patch.gz
# wget http://www.hayasoft.com/haya/linux
/proftpd-nlst-patch/proftpd-1.3.0-nlst-ffftp.patch
# tar -zxvf proftpd-1.3.0.tar.gz
# gzip -d proftpd-1.3.0-iconv.patch.gz
# patch -p0 < proftpd-1.3.0-iconv.patch
# patch -p0 < proftpd-1.3.0-nlst-ffftp.patch
# cd proftpd-1.3.0
# ./configure --prefix=/usr --sysconfdir=/etc
 --with-modules=mod_codeconv
 --with-modules=mod_codeconv:mod_df
# make
# make install

(#で始まる行は改行されていても1つのコマンドです)
次回に続きます

2006/06/10(土)DHCPサーバ構築

W-ZERO3の無線LANを手動で固定IP設定をしてやっても、
再起動すると設定したIPなどが飛んでしまうため、
DHCPサーバを構築することで回避することにしました。

DHCPサーバ設定メモ

インストール

[root@kaede]$ yum -y install dhcp

DHCP設定 (dhcp.conf)

ddns-update-style none*1;

subnet 192.168.0.0 netmask 255.255.255.0*2 {
	option*3 routers*4	192.168.0.1;
	option subnet-mask		255.255.255.0;

	option domain-name		"kaede.homedns.org";
	option domain-name-service*5	192.168.0.254;

	range dynamic-bootp*6		192.168.0.200 192.168.0.253;
	default-lease-time		21600;
	max-lease-time	43200;
}

host client*7{
	hardware ethernet*8	01:23:45:67:89:AB;
	fixed-address*9		192.168.0.200;
}

参考にしたもの

*1 : #BINDと組み合わせることもできるが、とりあえずDHCPサーバとして稼働させるためにnoneを設定

*2 : この場合192.168.0.0/24のネットワークにIPを割り当てる

*3 : optionで始まる項目はクライアントに与える情報

*4 : デフォルトゲートウェイ

*5 : DNSサーバを指定

*6 : 貸し出すIPの範囲を指定

*7 : 固定IPを割り当てる設定

*8 : NICのMACアドレスを指定

*9 : 割り当てる固定IP

問題点

W-ZERO3からファイルサーバにアクセスすると毎回「ネットワークへのログオン」が表示され、
「パスワードの保存」がされていない。*10
これはW-ZERO3側の問題なのでこの件について調べる必要がある。

*10 : W-ZERO3に限らずWin95の頃のダイヤルアップ接続時にも同じような問題があった気が…

今後の予定

  • BINDとの連携

2006/06/09(金)WinMeのUserAgent

WinMeのブラウザのUser Agentを取ってみた

Firefoxの場合
HTTP_USER_AGENT=Mozilla/5.0 (Windows; U; Win 9x 4.90; ja; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4

Sleipnirの場合
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90; .NET CLR 1.1.4322)

ここからわかることは、どちらもWin9x 4.90が入っていること。

ところで、かえでのアルバムに許可されていないドメインから画像のアップロードなどをしようとすると、
403 Forbiddenが返されるわけだが、User Agentに"Win9x 4.90"が含まれていたら
403 Forbidden
リクエストは拒否されましたが、Meたんのせいではありません
の様に返すようにしようとか企んでいます。

2006/06/08(木)POSTメソッドを制限する

せりかのアルバム(Ver3.0.8b)をブログ専用で利用する為に、POSTメソッドを制限する必要がありました。
メソッドを制限するのにはLimitを利用すればいいと思ったのですが、
結果からするとLimit POSTではうまく制限ができず、LimitExcuteで制限をする必要がありました。

Limitでは、指定したメソッドを制限するのに対し、
LimitExcuteでは、指定したメソッド以外を制限します。

メソッドの制限を行う場合は、LimitではなくLimitExcuteを利用することが推奨されているようです。

設定メモ (httpd.conf)

以下を追加
<Location /blog/album>
	<LimitExcute GET>	#GETメソッドのみ許可する
		Order deny,allow
		Allow from A.B.C	#A.B.CのリクエストのみGET以外のメソッドが使用できる
		Deny from All
	</LimitExcute>
</Location>
これで許可したIP/ドメイン以外はフォルダの作成やファイルのアップロードができなくなります。
閲覧する分には許可されていないドメインでも大丈夫…なはず。

2006/06/07(水)ブログ用アルバム・2

ブログ用のアルバムを設置しました。→かえでのアルバム
これでブログに画像が利用できるようになりました。

POSTリクエストを特定のドメインのみ有効にしていますので、
フォルダの作成/アップロードはできません。

追記

副産物として、自前でブログへのアクセスログがとれるようになりました。
#と、いってもどのくらい人がアクセスしているか程度のレベルですが