Another HTML-lint のインストール(RedHat)
作成 : 2003/08/18
Another HTML-lint とは
石野恵一郎氏が作成した、HTML 文法チェッカ。 本家のサイトは、http://openlab.ring.gr.jp/k16/htmllint/introduction.html。
用意したもの
その 1 : Apache のインストール
ざっくり簡単に...
# rpm -Uvh httpd-2.0.40-21.3.rpm
設定は、httpd(httpd-2.0.40-8)の設定(若干バージョン違うけど...)とかhttpdの設定(httpd.conf)を参照。
注意! Web サーバをたてると、インターネット上の他のパソコンからアクセスされる可能性があることに留意する。 (環境によるけど)
その 2 : Perl のインストール
ざっくり簡単に...
# rpm -Uvh perl-5.8.0-88.rpm
その 3 : CGI.pm のインストール
ざっくり簡単に...
# rpm -Uvh perl-CGI-2.81-88.rpm
その 4 : LWP のインストール
libwww-perl-5.69.tar.gz を適当なフォルダに展開して make。
# tar -zxvf libwww-perl-5.69 # cd libwww-perl-5.69 # perl Makefile.PL ; make ; make test ; make install
その 5 : Jcode.pm のインストール
Jcode-0.83.zip を適当なフォルダに展開して make。
# unzip Jcode-0.83.zip # cd Jcode-0.83 # perl Makefile.PL ; make ; make test ; make install
その 6 : Another HTML-lint のインストール
htmllint.zip を適当なディレクトリに展開。 Apache の RPM パッケージでは、デフォルトのドキュメントルートが /var/www/html になっているので、その配下(たとえば、/var/www/html/htmllint とか)がいいかも。 htmllintenv を htmllint.env(ドットに注意)に名前を変更。 パーミッションは、*.cgi が 705、それ以外は 604 にしておく。
# mv htmllint.zip /var/www/html/htmllint # cd /var/www/html/htmllint # zip htmllint.zip # mv htmllintenv htmllint.env # chmod 604 * # chmod 705 *.cgi
htmllint.cgi と tagslist.cgi の 1 行目に記述してある perl のパスが正しいか確認し、間違っている場合は修正する。
#!/usr/local/bin/perl → #!/usr/bin/perl
htmllint.env を編集して、ログを取るようにしてみる。
$LOGSDIR = '/var/log/htmllint/'; # ログファイルの場所 (不要ならコメントアウト)
# 最後のスラッシュを忘れないこと!
# 得点記録用ログファイル (不要ならコメントアウト)
# # の部分は年月に置き換わります
$SCOREFILE = "${LOGSDIR}score#.log";
$SCORECOUNTER = "${LOGSDIR}score.cnt";
# 警告の統計用ログファイル (不要ならコメントアウト)
# # の部分は年月に置き換わります
$STATFILE = "${LOGSDIR}statistics#.log";
ログディレクトリを作成する。 所有者は apache を起動しているユーザとグループ、パーミッションは 705 にしておく。
# mkdir /var/log/htmllint # chown apache:apache /var/log/htmllint # chmod 705 /var/log/htmllint
その 7 : Apache の設定追加
Another HTML-lint の HTML は JIS(ISO-2022-JP)で記述されているため、EUC とか Shift_JIS に設定されているサイトでは文字化けしてしまう。 あと、ディレクトリに CGI の実行権限を付与しないと動かない。 この設定を httpd.conf に追加する。
<Directory "/var/www/html/htmllint">
Options +ExecCGI
AddDefaultCharset ISO-2022-JP
</Directory>
AddHandler cgi-script .cgi
Another HTML-lint を試してみる
ブラウザから「http://hostname/htmllint/htmllint.html」(Another HTML-lint をインストールした場所によって適宜変えること)にアクセスし、Another HTML-lint gateway が表示されるか確認する。
チェック方式で「DATA」を選択して、テキストエリアにチェックしたい HTML ソースをコピー & ペーストする。 「チェック」ボタンをクリックして結果が表示されれば OK。
うまく動作しない場合
htmllint.html にアクセスできない
アクセスしている URL が正しいか、Apache の設定が正しいか確認する。 ファイアウォール機能が有効になっている可能性もある。
「チェック」ボタンをクリックするとエラーになる
シェルから htmllint.cgi を実行してみる。 おそらくエラーになるので、メッセージを参考にトラブルシューティングをする。 CGI ファイルに実行権がないかもしれないし、perl のパスが間違っているかもしれない。
# /var/www/html/htmllint/htmllint.cgi
これでだめなら、htmllint をインストールしたディレクトリに CGI の実行権限を付与してあるか、Apache の設定を確認する。