Another HTML-lint on Local Mac OS X

  1. 準備するもの
  2. Perlを設定する
  3. .htaccessファイルを有効にする
  4. Another HTML-lintを設置する
  5. 動かす
  6. 参考になる、参考にしたサイト

このページは、Macについては普通に知っていてTerminalの事はちょこっと知っているけどUNIXの事はよく分からない人(僕がそうです)に向けて書きました。

環境は基本的にスタンドアロン、どこにも繋がってないものとして書いてます。インターネットに繋がっているMacで以下の事をする時は、外部からのアクセスに注意して下さい。Mac OS X 10.1(Build 5g64)で確認しました。

ここに書いてある事はAnother HTML-lintの作者とは関係ありません。又、何かあっても僕は責任をとりません。全ての設定はご自身の責任の元で行って下さい。

準備するもの

Another HTML-lintのパッケージ
プライマリサイトのダウンロードページからアーカイブファイルをダウンロードします。実行環境はMac OSなのですが、Mac OS XのWeb共有はUNIXのApacheがベースになってますのでMacバイナリファイル(htmllint.sit.bin)ではなくUNIX用のZIPファイル(htmllint.zip)をダウンロードして下さい。
Jcode.pm
これはAnother HTML-lintには含まれていませんので、別途入手する必要があります。Jcode-*.tar.gzと言うファイル(*はバージョン番号です)をダウンロードしておいてください。(実際にダウンロードするファイルの名前は例えばJcode-0.7.5.tar.gz等になります)
改行コードLFに対応したテキストエディタ
Mac OS X 10.1(Build 5S66)で確認したところTextEditはLFで保存してくれるようです。ですが、確証が持てないのでもし以下の事をしても動かない等の問題があった場合はmiやJedit等の対応エディタかコンバータをを使ってみて下さい。

Perlを設定する

Another HTML-lintを含めて多くのCGIスクリプトはPerlが/usr/local/bin/perlにあるものとして書かれています。が、Mac OS XではPerlは/usr/bin/perlにしかありません。そこでハードリンクを使って/usr/local/bin/perlでもPerlスクリプトが実行できる様にします。Terminalへ以下の様に入力します。

cd /usr/bin/
sudo ln perl /usr/local/bin/perl
sudo ln perl5.6.0 /usr/local/bin/perl5.6.0

それぞれパスワードが要求されますので入力します(これはインストール時に登録したときのパスワードです)

次はJcode.pmをインストールします。基本的にはJcode.pmの解説ページに書いてある事と同じです。ダウンロードしたJcode-*.tar.gzをDocumentsフォルダに置きます。そしてTerminalから以下のコマンドを実行して下さい(*はバージョン番号ですので適宜書き換えて下さい)。

cd ~/Documents/
tar zxf Jcode-*.tar.gz
cd Jcode-*
perl Makefile.PL; make; make install

これでJcode.pmがインストールされます。

.htaccessファイルを有効にする

/etc/httpd/users/username.confを書き換えます。usernameはインストール時に登録したユーザ名ですので適宜書き換えて下さい。システム環境設定の「ユーザ」から確認出来ます。

Terminalで

cd /etc/httpd/users
cp username.conf ~/Documents/username.conf

と入力すればDocumentsフォルダにusername.confと言うファイルが表れるのでそれを編集します。念の為にバックアップをとっておきましょう。

オリジナル:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
編集後:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

書き換えたらまたTerminalから以下の様に入力します。

cd ~/Documents
sudo cp username.conf /etc/httpd/users/username.conf

これでSitesフォルダ内の.htaccessファイルでの全設定が有効になります。

Another HTML-lintを設置する

ダウンロードしたhtmllint.zipファイルをダブルクリックすると自動的にStuffIt Expanderが起動して解凍されます。解凍後のフォルダの中にファイルがいっぱい見える筈です。このフォルダをSitesフォルダに置き、名前をhtmllintにします。

htmllintフォルダ内のhtmllintenvと言うファイルの名前をhtmllint.envに変更します。

次に.htaccessファイルを設置しますが、Mac OS Xは名前が"."(ドット)で始まるファイルは表示しない様に出来ているので簡単には作れません。そこで先程も使ったハードリンクを使います。

まず、空のファイルを作り、Sites/htmllintフォルダにhtaccessと言う名前で保存して下さい。そしてTerminalから

cd ~/Sites/htmllint
ln htaccess .htaccess

これで.htaccessファイルにもhtaccessファイルの編集の内容が反映される様になります。以上の作業はTinkerTool等で隠しファイルを表示している場合は直接.htaccessファイルを編集すればいいので必要ありません。

設定は以下のように書き込みます。

AddHandler cgi-script .cgi
Options Indexes MultiViews Includes ExecCGI

これでhtmllintフォルダ内の名前が.cgiで終わるファイルがCGIとして実行するよう設定されました。

最後にhtmllint.cgiファイルをCGIとして実行できる様にパーミッションを設定します。Terminalで以下のコマンドを打ち込んで下さい。

cd ~/Sites/htmllint
chmod 755 htmllint.cgi
chmod 755 tagslist.cgi

ここまでで設置の完了です。

動かす

システム環境設定の「共有」からWeb共有を開始します。すでに開始している場合は一旦停止して再び開始して下さい。ブラウザのアドレス欄にhttp://127.0.0.1/~username/htmllint/と入力すればAnother HTML-lintのアバウトページが表示されるはずです。もしインターネットかLANに繋がっている場合、URLはhttp://localhost/~username/htmllint/になります。

参考になる、参考にしたサイト

Another HTML-lint プライマリサイト
ここがなければ始まりません。
Mac OS XでCGI/SSIの実行環境を!
Perlの設定についてはここを参考にしました。
Mac OS X PB Darwin Tips
Apacheの設定についてはここを参考にしました。
ecco