すっかり音楽サイトではなく技術サイトになってしまった感のある我がサイトですが、今回も懲りずにそんなネタ。
ウチはご存知の通り(なのか?)Blosxom を使ってサイトの更新をしているので、Mac OS Web 共有を使ってローカル Web サーバを構築しておくとテストに何かと便利(最終的な Web ページとしての出力結果がローカルで確認出来るなど)なのでそうしているのですが、この最終的な出力結果の文法エラーをチェックしようと W3C Markup Validator で確認する際にだけは、一度サイトにアクセスしてページのフッタに置いてある「Valid HTML」をいうリンクからチェックする…という手間を踏んでおりました。
だからどうしても、アクセスログに自分がアクセスした際のログが残ってしまう訳です。ただでさえアクセスの少ないログを私のアクセスで汚してしまう(という言い方が良いか悪いか分かりませんが)ので、なんかアクセス解析を見ても「ああこのうちこのくらいはオレのアクセスなんだろうな…」と思うと、いまいちこれが正確なのかどうなのかが分からないという、何ともスッキリしない気分で過ごしておった訳です。
なのでこの辺も出来ればローカルでチェックして片付けたいなあと思いまして。以前は Another HTML Lint をローカルにインストールしてチェックしてましたが、Another HTML Lint は今のところ HTML5 未対応。ならば W3C の Markup Validator はどうか…と調べてみると、どうやらこちらもソースは公開されているようで、ダウンロードしてインストールさえ出来れば動かせそうな予感。んで、こちらは Validator.nu もインストールすれば HTML5 なページもチェック出来るとな。ふむふむ。
という訳で、思い立ったが吉日と申しますので?早速チャレンジしてみました。
なお、以下の文章は Mac OS X の UNIX 的な部分にある程度精通された方を対象に書いておりますので、作業に必要な Xcode のインストールや Web 共有(Apache)の基本的な環境設定は既に完了しているものとして話を進めています。ご了承下さい。
さて、インストールの方法自体は W3C のインストレーションドキュメントに(当然英語ですが)詳しく書いてありますので、その通り進めていけばよろしい。簡単に順番だけ書いておくと、
- OpenSP をインストールする。
- 必要な Perl Module をインストールする。
- (HTML5 もチェックするのであれば)Validator.nu をインストールする。
- Validator 本体と DTD ライブラリをダウンロード・解凍して、しかるべき場所に配置する。
- 設定ファイルを編集して、しかるべき場所に配置する。
- Apache の httpd.conf を、Validator が動作するように編集する。
で、あとは Web 共有を起動し直し(Apache の再起動)すれば大丈夫。あ、HTML5 のチェックをする時には Validator.nu を立ち上げないといけませんが。
以下、詳しい(いや、そんなに詳しくはない)解説を。
OpenSPをインストールする
OpenSP は Validator が使う SGML パーサで、現在のバージョンは1.5.2。OpenJade の Web サイトからソースコードを入手し、インストールします。ダウンロードして解凍したら、
$ cd path/to/OpenSP-1.5.2
$ ./configure --enable-http --disable-doc-build
$ make
$ sudo make install
これで私の環境では特に問題なくインストール完了しました。
必要な Perl Module をインストールする
これは CPAN を使えばインストール出来ます。
$ sudo perl -MCPAN -e shell
install Bundle::W3C::Validator
(途中で何度か止まるけど基本 return キーを押せば大丈夫)
ちなみに必須の Perl Module は
- CGI.pm 2.81以上
- Config-General 2.32以上
- Encode 及び Encode-HanExtra
- HTML-Parser 3.60以上
- HTML-Encoding
- HTML-Template 2.6以上
- JSON 2.00以上
- libwww-perl 5.802以上
- Net-IP
- SGML-Parser-OpenSP 0.991以上
- URI
- XML-LibXML 1.70以上
オプションで
- Encode-JIS2K
- HTML-Tidy
となってます。私の環境では HTML-Tidy のみインストールされませんでしたが、オプションなので放ってあります。笑 なくても動作してますし大丈夫でしょう(おそらく実際にチェックする時に “Clean up Markup with HTML Tidy” さえチェックしなければ大丈夫だと思う)。
…今日はこの辺で終わりにして、次回に続く。