blosxom本体の設定を修正したなら、とりあえず動くかどうかだけでも確かめてみよう。
先のPerlパス確認で、ファイルの冒頭部の設定項目がチラチラと見えたと思いますが、
そのあたりをいじくり倒すのは動作確認をしてからでも遅かぁありませんよ。
さっそくFTPクライアントを起動してblosxom.cgiをアップロードしてください。
で、Perlスクリプトにはつきもののパーミッションの変更をお願いします。
基本的には755でよろしいかと思いますが、
サーバが何かアレなものを導入している場合はこの限りではありません。
ちなみに自分のサーバでは701でした。755でも動くんですがよりセキュリティが高いらしい。
よくわかってません。まあ動けばいいんですよ動けば。
で、さっそくブラウザからblosxom.cgiへアクセスしてみてください。 Perlのパスの設定とパーミッションの設定、そして文字コードに問題がなければ、 こんな画面が表示されるハズです。
実物はこちら。
動いてるっぽいのに表示がおかしい場合はブラウザの文字コードを疑ってください。
初期状態では文字コードを指定するmetaタグが出力されないので、文字化けが起こりやすくなります。
それはそれとしてシンプルなヤツだ。味気なさすぎ。つうか、My Weblogて。
とりあえず、動作確認ができればおめでとさんです。
ブラウザからページのソースを見てから、blosxom.cgiの下のほうを見てみてください。 なんだかそれらしきHTMLのソースがありますよね。 フレーバーがない状態だとこの簡易テンプレによって内容が表示されるわけですよ。
これから、こいつをいじくり倒して自分好みのblogに仕立て上げていくわけです。 先の長い人もあっという間の人もいらっしゃると思いますが、まあよろしゅうに。
入手、バグ修正の次は設定。
そして設定と共にファイルの文字コードについて。
これはサーバごとに決まっているハズ。 大概はデフォルトの「#!/usr/bin/perl」でOK。
ここで気づいたんですけど、公式からダウンロードしたblosxom.cgiが「文字コード:Shift_JIS+改行コード:LF」だったんですけどこれってどうよ。
この後とりあえずアップロードして動かすつもりでいるんですけど、自分とこのサーバでは、改行コードによってサーバエラー(500-Internal Server Error)が出たり出なかったりしました。
改行コード云々について知識不足なんで説得力のある説明などできないわけですが、
とりあえず経験則からいうと、本体blosxom.cgiやプラグインなんかは、
「文字コード:Shift_JIS+改行コード:LF」がデフォルトのものが多いようです。
しかし個々のエントリ(記事)は文字コードがShift_JISだったりすると、
トラックバックpingを受け取るときになんだかややこしげな事があるようで。
じゃあどうするよ、ってことになるんですが、方法としては、
の2種類が考えられるわけですよ。
kyoさんとこの「blosxom starter kit」なんかは前者ですし、
こちらが推奨なのかも知れないんですが、自分はうっかりな上にめんどくさがりなんで後者でやってみます。
だめなら変換すりゃいいし。
blosxom本体にもバグっぽいもんがあるっぽい。
そのバグを修正する手段はあちらやこちらで公開されています。
中にはプラグインを放り込むだけでOKOKなものまで。やぁ便利。
しかしPerlの知識が殆どない自分には、何がどうバグであったかサッパリです。
とりあえず、プラグインをアレしなくてもOKでなおかつ修正箇所の少ない2番目の方法を用いることにします。
blosxom.cgiの171行目、
find(
を、
find({ no_chdir => 1,wanted =>
に訂正しました。
blosxom.cgiの210行目、
}, $datadir
を、
}}, $datadir
に訂正しました。
blosxom本体の入手法。
なんつったって英語ですから。個人的におっかなびっくりでゲット。
ええ、語学力など皆無なわけで。
blosxom導入の前に用意しておくといいものを考える。
というか必須。
カテゴリー別表示のときのみ、ブックマークを表示させたかったので、 readme pluginを導入してみた。 本来は名のとおりカテゴリー別のReadMeを表示させるものだと思うが、 とにかくカテゴリーのディレクトリにある「readme(拡張子無し)」というファイルの中身を「$readme::readme」の部分に出力するという感じなので都合が良かったのだ。
記事ごとの閲覧の場合、ページのタイトルに記事名を表示したかったので、 entry_title pluginを導入。 記事ごとの閲覧でない場合は何も出力されないので、通常表示用flavorに記述してもOK。便利だ。