title
わたしの日記は日々の出来事の鬱憤晴らしの毒だし日記がメインです。 相当病んでいます。くだを巻いています。許容出来る方のみのアクセスをお願いします。 また、この日記へのリンクは原則自由にして頂いても結構ですが、 写真への直リンクを張るのはご遠慮下さい。内容に関しては、一切保証致しません。
カテゴリ一覧 Network, Internet, IPv6, DC, NTT, Comp, Linux, Debian, FreeBSD, Windows, Server, Security, IRC, 大学, Neta, spam, , 生活, 遊び, Drive, TV, 仕事,
過去日記:





2009年02月16日(月) [晴れ]

[Internet][IPv6] tomocha.net 新サーバへ引っ越し、正式にIPv6対応

今まで、tomocha.net は IPv6に対応しているといっていましたが、今回から正式にIPv6をサポートいたしましました。
これまでは、リバースプロキシを使用し、既存のサーバに転送していました。

既存のサーバはWindows 2000 Server + Apache + Active Perl を使用し、動作していました。
その際に、文字コードは、Shift_JIS だったり、EUC-JPだったり混在、そして、最も厄介なのは、改行コードが CR+LFとなっていたことです。今までは動いていましたが、新しく引っ越しすると動かない、nkf -Lu としても、正しく文字コードが認識出来ずに文字化けすると言ったことがあり、一個一個確認作業が必要です。ちなみにCGIの数が240個ほどありました…えーえーえーえ!!

このサイトは97年頃から運用され、NT4.0→Win2000と引き継がれ、昔はJPerlとかつわれていたり…あとは、sendmail.cgi とか?なので、サイトの引っ越しというか、移転作業が非常に大変でしたが、この際一気に作業してしまいました。

幸いにも、HNSはIPv6でも、無事にアクセス及びアクセス解析、ログ出力が出来ているようで、問題は有りませんでした(一番大変かな…とおもっていた内の一つです。)

非常に面倒だったのは、既存の設置されている掲示板や、アクセス解析のたぐいでしたが、2日ほど掛けて、全部新サーバへひととおり引っ越しが完了しDNSを向け直しました。尚、今回は、サーバが3台構成となります。(内DB鯖1台)正しくは、4台ですが…。(コンテンツ更新用のsambaがいる)

ということで、無事に新しいサーバに移転が出来ました。
色々と協力してくださった方々ありがとうございます。


 改行コードの変換:

nkf --overwrite -Lu を挑戦

使ってみたところ、正しく入力文字コードが認識出来ないため、壊れてしまいます。また、元々Shift_JISで作成されているCGIは、EUC-JPに変換したところで、プログラムの出力文字コードをShift_JISになっているといったところで、結局は文字化けしてしまいます。掲示板とかのログファイルも同様ですね。この辺は追々、プログラムを改修し手で直すとします。

tr -d \\r を挑戦

これは、成功しました。
ですが、 tr -d \\r < index.cgi > index2.cgi.newのようにしたうえ、元のファイルにmvしないといけないと言うことがあり、結局は動作確認のためだけに使用しました。
まあ、こんな感じでいけるんでしょうけど。

for file in `find . -name *.cgi`
 do tr -d '\r' < $file > $file.new 
done

dos2unix を使う

恐らく一番メジャーで無難な方法でしょうが、入っていませんでした。なので、今回スルーしましたが、そのままファイルを置換してくれるらしいので、
find . -name *.cgi -exec dos2unix {} \; みたいな方法で一発で出来るかも知れません。文字コードは変わらないのですね、後でLinuxで確認してみて知りました。
ただ、バックアップファイルがナイのかぁ…。とおもい、manをみてみたら、 -b オプションをつければいけるらしいです。

Debianでは、tofrodos を入れる必要がありますが、今回はFreeBSD上で試していたので…。有りませんでした。恐らく何かをいれれば入るのでしょうが…。
とおもい、ぐぐれば出てきました。dosunixというのをいれたら行けるそうですね。ports にありました → /usr/ports/converters/dosunix
逆のunix2dosというのもあるそうで…。
こっちらのほうが、似ているようでしたが…。よく分かりません(笑)

perl を使う

perl でおこなえばいいじゃん、といわれて教えていただいたので、試してみました。
結局最終的にはこの案を採用で。

perl -i.bak -npe 'tr/\r//d' *.cgi

問題が出ないのを確認して、一括変換しました。

find . -name '*.cgi' -type -f -exec perl -i.bak -npe 'tr/\r//d' {} \;

 IPv6への対応:

アクセス解析のプログラムや掲示板の大半は、gethostbyaddr で取っているようで、逆引きを試みると、unknown.Level3.net になってしまいます。

$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2)

ちょうど、 perlで、ホスト名からIPアドレスを引くには?をみて、C*にし、16進数値のリストにさせて終わりです。
このままじゃIPv6での逆引きは出来ませんが、そもそも、IPv6で逆引きをしている人は私みたいな人たちだけなので、まあいいでしょう。

まぁ、今回は頑張るつもりもないので、予備知識として…

を参考リンクとして挙げておきます。

IRCでは、#2 CGI用のPerlスクリプトでのIPv6のアドレスの取り扱い

> inet_pton 使うべきだと思う。
> use Socket; use Socket6; して、my $remote = gethostbyaddr(inet_pton(AF_INET6, $ipaddr), AF_INET6);

という会話がありましたが(^_^;


 掲示板等の文字コード変換:

この辺は割愛。ソースを一部葬りました。Jcodeを使っているので、下記の分及び、HTMLのMETA部分の charset をEUC-JP へ置きかえて、ログファイルなどをEUC-JPで保存し直して終わりです。このときについでに改行コードも修正しました。面倒だったのでこの辺は秀丸で。。

&jcode'convert(*val, "sjis", "", "z");
   ↓
&jcode'convert(*val, "euc", "", "z");

 ともちゃ日記のデザイン:

一部修正しました。
テンプレートとか、掲示板の方がデフォルトのママなので、修正。
この辺はデザインファイルとわかれておらず、CGI直接べた書きされている物なので、直接CGIを修正し、見やすくデザインを取り込みました。
これで、ともちゃ日記の掲示板(ツッコミ)機能が利用しやすくなるかと思います。


 apacheの設定ファイル:

コレについては色々とやっているので、後日執筆します。

HLA  『IPv6化の時はアクセス解析部分も書き換えが必要なのですね。参考にさせて頂きます。 v6移行おめでとうございます。 』
tomocha  『perlとかは詳しくないのですが、そのままじゃ、名前解決ができないのと、pack関数の値がそのままのでは入りきらないので修正が必要のようです。 - http://flex.ee.uec.ac.jp/texi/perl/perl_34.html - http://www5a.biglobe.ne.jp/~fnao/cgi_nao/pack.htm 』
[ コメントを読む(2) | コメントする ]

[Diary] IPv6のログ

ちゃんと、v6で記録されております♪

# P # LIMG ./img/2009/20090216a.png n ./img/2009/20090216a-small.png アクセスログ # /P
[ コメントを読む(0) | コメントする ]

2009年02月17日(火) [晴れ]

[Life] にっき

IPv6に正式に対応したぞー、ひっこししたぞーと書いても周り反応無さ過ぎww
誰かつっこみぐらいいれてよー(ノ_)ノ⌒ ┻┻:'.::
寂しいじゃん(;_; ほろほろ...

m-bird  『初めまして、IPv6正式対応おめでとうございます!>< ともちゃさんの日記読んで友人と「そろそろIPv6対応する?」という話をしてました。 どうせfeel6あたりしか導入できませんが。。。』
HLA  『インフラ屋さん方面がIPv6にきっちり対応したとしてもユーザー側からは「ふ〜ん」程度で済まされてしまうので。 エンジニアとしては多分、それだけでは「寂しいじゃん(;_; ほろほろ... 」の一言に尽きるのでしょう。 裏では普通に移行出来るように色々と実験・研究されているという事があまり知られていないのですよね。 』
みらぁてんぷる  『何にしろ、ネイティブでなくとも昔から対応していたのでインパクト無いよ。 アクセシビリティは変わってないので。@利用者サイドから。 社のDMZのIPv6化を、今期目標でやって良いですか?と部長に聞いたら 「お前の仕事じゃねーよ、本業で売り上げ上げろ」と言われた。(´・ω・`)』
tomocha  『やっぱりそうなのか;_; アクセスできると言うことが重要なのね…。 正直v6とはいえ、実態が対応していない以上似非だあ(暴言)』
[ コメントを読む(4) | コメントする ]

[Internet] HostingPro 2009 に参加します

秋葉当たりうろついてるかも。
見つけたら声かけてやってください。(笑)
ナンパ歓迎、食べ物差し入れ歓迎w

Koudai  『来年は行けたら行きたいなぁと思います。 会社の中のもの全部外に出したいなぁー。』
tomocha  『おおお、残念。ではでは、来年あたりでもー。 というか、全く顔を知らない人に、合計3人にtomochaさんですか?ときかれ、この人が噂のtomochaだよと紹介され・・・(^^;; えーーーーーというかんじでしたw』
ほっけ  『と、突然失礼しました:-D』
みらぁてんぷる  『ほっけさん居たんですか・・・ この業界狭すぎる。(´Д`;』
[ コメントを読む(4) | コメントする ]

Diary for 2 day(s)
Powered by hns HyperNikkiSystem Project




(c) Copyright 1998-2014 tomocha. All rights reserved.