前々回・前回の続きになります。今回が最終回。W3C Markup Validator のインストールに入ります。
一応前回分までのリンクを貼っておきます。おさらいにどうぞ…といいつつ上手く目次が作れるかのチェックだったりする。汗
んで、今回の内容は以下の通り。
- Validator 本体と DTD ライブラリをダウンロード・解凍して、しかるべき場所に配置する。
- 設定ファイルを編集して、しかるべき場所に配置する。
- Apache の httpd.conf を、Validator が動作するように編集する。
- おまけ: チェック用 bookmarklet
では、以下からどうぞ。
Validator 本体と DTD ライブラリをダウンロード・解凍して、しかるべき場所に配置する。
W3C のサイトから validator.tar.gz と sgml-lib.tar.gz の2つをダウンロードして解凍します。以下、validator.tar.gz を解凍して出来たディレクトリを validator-dir、 sgml-lib.tar.gz を解凍して出来たディレクトリを sgml-lib-dir、そしてその双方はダウンロードフォルダ内(~/Downloads)に置いてあるものとして話を進めます。
で、中のファイルを適切な箇所に配置していく訳ですが、配置する場所は Web 共有で共有出来る場所なら正直どこでも良いです。笑 CGI を動かすにしてもどっちみち Apache の httpd.conf を編集しますし。とりあえず今回はデフォルトで用意されている /Library/WebServer/Documents/ 以下に validator というディレクトリを作って配置することにします。
動作に必要なファイルは以下の通りです。
- validator-dir/htdocs の中身全て [*a]
- validator-dir/httpd/cgi-bin/check ファイル [*b]
- validator-dir/share/templates とその中身全て [*c]
- sgml-lib-dir/htdocs/sgml-lib とその中身全て [*d]
Finder で操作する場合は、一旦 *b〜d を *a 内に移動又はコピーした後、/validator-dir/htdocs ごと /Library/WebServer/Documents 内に移動(コピー)して、それを validator にリネームするのが一番簡単かと思います。同じ事をターミナルでやる場合は
$ cd ~/Downloads/validator-dir
$ mv httpd/cgi-bin/check share/templates ../sgml-lib-dir/htdocs/sgml-lib htdocs
$ mv htdocs /Library/WebServer/Documents/validator
とか。
設定ファイルを編集して、しかるべき場所に配置する。
次に上記で移動した validator ディレクトリ内にある、config/validator.conf をテキストエディタで開いて編集します。最低限の編集箇所は次に挙げるところ(だと思う、汗)。
-
22行目あたり、
#Base = …
の部分に validator 本体のベースとなるディレクトリを指定します。コメントアウトを解除し、今回の場合はBase = /Library/WebServer/Documents/validator
となります。
-
26行目あたり、
Templates = …
の部分に テンプレートファイルのあるディレクトリを指定します。Templates = $Base/templates
-
37行目あたり、
TidyConf = …
の部分に tidy.conf ファイルの場所を指定します。TidyConf = $Base/config/tidy.conf
-
42行目あたり、
Library = …
の部分に SGML ライブラリの場所を指定します。また SGML パーサ(OpenSP)のコマンドパスも指定する必要がありますので追記します。Library = $Base/sgml-lib Parser = /usr/local/bin/onsgmls
-
84行目あたり、
Home Page = …
の部分に Validator の URL を指定します。Home Page = http://localhost/validator/
また以下の部分は必要ならば編集して下さい。
-
ローカル環境に立ててるサーバのファイルをチェックしたい場合は、57行目あたりにある
Allow Private IPs = no
のno
をyes
に変更します。今回はそれが目的なのでyes
に変更しました。 -
Validator.nu をインストールした場合は、134行目あたりにある
#HTML5 = …
以下2行のコメントアウトを外すと W3C Validator 経由で HTML5 のチェックが出来るようになります。今回はそれが目的なので(以下略
以上の編集が終わりましたら、config ディレクトリ内の全てのファイルを /etc/w3c/ にコピーします。
$ cd /etc
$ sudo mkdir w3c
$ sudo cp /Library/WebServer/Documents/validator/config/*.* w3c
Apache の httpd.conf を、Validator が動作するように編集する。
元々ある /etc/apache2/httpd.conf を直接編集しても良いのですが、MacOS X 10.6 ではデフォルトで /etc/apache2/other/ 以下にある .conf という拡張子で終わるファイル群を Include
してくれるようになってますので、今回はこれを利用します。
テキストエディタで新規ファイルを作成して、次の内容を記入します。改行コードは LF
でよろしく。
<Directory "/Library/WebServer/Documents/validator">
Options +IncludesNoEXEC +ExecCGI
AddHandler server-parsed .html
</Directory>
<Location "/validator/check">
SetHandler cgi-script
</Location>
…ソースに付属の httpd.conf のサンプル(validator-dir/httpd/conf/httpd.conf)にはもっと長々と記述があるので「え?」と思われるかもしれませんが、これくらいで十分動きます。笑 やってる事は以下の通り。
- /validator 以下で CGI と SSI が動くようにする
- /validator 以下にある拡張子 .html のファイルに対して SSI を有効にする
- /validator/check を CGI スクリプトとして認識させる
記入が出来たら適当な場所(ここでは例として書類フォルダ ~/Documents にしておきます)に validator.conf という名前でセーブします。んでターミナルから、
$ cd ~/Documents
$ sudo cp validator.conf /etc/apache2/other
としてコピーします。これでひと通りの作業は完了。あ、肝心な事を一つ忘れてました… check スクリプトに実行権限を与えないといけません。なので実行権限を付けましょう(とはいえ、多分解凍した時点で実行権限付いた状態になってると思われますが…一応)。
$ cd /Library/WebServer/Documents/validator
$ chmod a+x check
作業は以上です。システム環境設定→共有から Web 共有を入(既に入になってる場合は一旦切にした後もう一度入)にして、ブラウザを開いて http://localhost/validator/ にアクセスしてみます。http://validator.w3.org/ と同様の画面が出てきたら第一段階通過。
あとは W3C のサイトを使うのと同じように URL を入れてチェックしてみます(HTML5 をチェックする時には Validator.nu の立ち上げを忘れないように)上手くチェックが出来れば第二段階も通過です。おめでとう!チェック出来ない場合はもう一度設定を見直してみて下さい。
以上で終了です。あとはローカルサイトでもネット上のサイトでも気の済むまでチェックをどうぞw
おまけ: チェック用 bookmarklet
以下のような bookmarklet を作っておけば、ブラウザで開いた Web ページをワンクリックでチェック出来るので便利かもしれません。
javascript:document.location="http://localhost/validator/check/referer";
一応すぐ bookmarklet として使えるように下に張っておきますので、ブラウザのツールバーなどにドラッグ&ドロップしてお使い下さい。利用の際は location=
以下の URL 部分を適切に変更するのを忘れずに。なおここを http://validator.w3.org/check/referer
に変更すれば W3C のでチェックが出来たりしますが…