静的表示

静的表示

BlosxomCGIスクリプトとして動的(プログラムでその都度ページを作成)にページを表示したり --標準の設定--、メインのインデックス、カテゴリインデックス、そして日付インデックスに対してあらかじめファイルを作成しておいて、静的にそれを表示するためのコマンドラインで行う機能があります。

静的な表示はサーバがファイルのみ表示できる(CGIスクリプトを実行できない)場合や、敢えてそうしたいと言う場合に便利です。 サーバやローカル --ラップトップとか-- のコマンドラインでウェブログページを作成してWebDAVドライブ、Mac iDiskに保存したり、FTP/rsyncでサーバにアップすることが可能です。

また複合的な使い方もできます。検索やトラックバック、機能に関する実験中にはウェブログを全て静的表示にして、機能やプラグインでホーム部分を作りこむ、なんてやり方です。

静的表示の設定...

Blosxomは標準で動的にページを作成します(CGIスクリプトとして動作)。静的表示を有効にするには静的なウェブページを保存するためのディレクトリを作成し、静的表示用にBlosxomの設定を行う必要があります。

  1. 静的なウェブページを保存するために、ウェブアクセス可能なディレクトリの下のどこかにフォルダ/ディレクトリを作成します。その場所に関してお勧めしたいことがあります:

    ISP(プロバイダ)

    ISPに貴方のウェブディレクトリのフルパスを尋ねて、その下のどこかに静的ページを置くディレクトリを作成して下さい。例えば、 /home/sam/www がウェブディレクトリの場合に適当な場所は /home/sam/www/blogです。コマンドラインで操作できる場合には以下のようなコマンドでウェブログディレクトリを作成することができます:

    mkdir /home/sam/www/blog
    chmod -R 755 /home/sam/www/blog
    

    FTP接続しか出来ない場合にはお好きなFTPアプリケーションでウェブログディレクトリを作成して下さい。

    Mac OS X

    /Library/WebServer/Documents/blogを提案します。もしMac OS X Blosxomインストーラを使っている場合は貴方の設定に依存しています。それ以外の場合にはターミナルを起動して以下のように入力します:

    sudo mkdir /Library/WebServer/Documents/blog/
    sudo chmod 755 /Library/WebServer/Documents/blog
    

    (パスワードの入力があるかも知れません)

    Windows 2000/XP

    エクスプローラでc:\Inetpub\Blogと言う新しいフォルダを作ります。

  2. 静的表示の設定はBlosxomの他の全ての設定と同様です。スクリプト自体の中にあります。標準では以下のような内容になっています:

    # --- Static Rendering -----
    
    # Where are this blog's static files to be created?
    $static_dir = "/Library/WebServer/Documents/blog";
    

    静的ページ(ファイル)を作成する場所。

    # What's my administrative password
    # (you must set this for static rendering)?
    $static_password = "";
    

    管理者用パスワード(静的表示をするには設定しなくてはならない)。

    # What flavours should I generate statically?
    @static_flavours = qw/html rss/;
    

    どのフレーバーを使うか。

    # Should I statically generate individual entries?
    # 0 = no, 1 = yes
    $static_entries = 0;
    

    個々のエントリを静的に作成するか。

    # --------------------------------
    

各設定ディレクティブは設定名で構成されています(例 $static_dir、 =記号、設定値(例 "/Library/WebServer/Documents/blog" 文字の場合は"で囲みます。数字の場合は"で囲みません)。設定値を変える場合には望む値で単純に置き換えれば良いです。"があった場合には残して置いて下さい。

例えば、静的ページを置く場所を標準の場所から変える場合には(/Library/WebServer/Documents/blogから /home/username/www/blogへ)、その設定の行は$static_dir = "/home/username/www/blog"; のようになります。

分かりましたか? 良いでしょう。では実際の設定を行ってみましょう:

$static_dir

静的ページを置く場所です。フルパスで指定します。

ISP

貴方のウェブディレクトリへのフルパスをISPに問い合わせる必要があるかも知れません。分かったらその場所の下のどこかを $static_dir に指定します。例えば、ウェブディレクトリが /home/sam/www の場合には以下のようにします:

# Where are this blog's static files to be created?
$static_dir = "/home/sam/www/blog";
Mac OS X

Mac OS Xインストーラを使ってBlosxomをインストールしたり、手作業でインストールした場合にも以下のような感じになります:

# Where are this blog's static files to be created?
$static_dir = "/Library/WebServer/Documents/blog";
Windows 2000/XP

Windows 2000/XPBlosxomをインストールし、IISが稼動している場合は c:\Inetpub ディレクトリの下のどこかを使います。Windowsはパスの区切りにバックスラッシュ(日本語では¥)を使いますがPerlではスラッシュ(/)を使います:

# Where are this blog's static files to be created?
$static_dir = "c:/Inetpub/blog";
$static_password

静的表示モードにするにはBlosxomにパスワードを設定する必要があります。これは第三者が外から貴方のウェブログを静的表示してしまうことから保護するものです。 BlosxomCGIとして動作するかコマンドラインで動作するかを確認しますが、備えあれば憂いなし。静的表示は空のパスワードでは動作しないのでパスワードを必ず設定するのをお忘れなく。

@static_flavours

静的に表示する際のフレーバーのリストです。標準では HTMLRSSです。他に使っているフレーバーがある場合には(適切なhead.flavourstory.flavourfoot.flavourcontent_type.flavourファイルが$datadirにある場合)、単にリストに追加すれば良いです(スペースで区切ります)。

$static_entries

静的表示の時にパスベース、年次、月次、日次の表示に加えて各エントリに対して個別ファイルを作成するかを設定します。デフォルトは"いいえ"(0)です。なぜなら貴方が頑張って多くのウェブログを作ると膨大なファイルが作成される可能性があるためです。

ウェブログの表示...

静的表示はコマンドラインでのみ動作するように設計されています。ウェブサーバが設定する環境変数GATEWAY_INTERFACEを見てCGIかどうかを判断しています。 Just in case your server doesn't honour this convention, you need to supply Blosxom with the right password or it'll simply spit out a standard index page dynamically.

Blosxomの静的表示を動作させるにはコマンドラインで以下のように入力します:

perl blosxom.cgi -password='whateveryourpassword'

whateveryourpasswordは設定したパスワードです)

Blosxomはページ作成を開始します:

% perl blosxom.cgi -password='whateveryourpassword'
Blosxom is generating static index pages...
/index.html
/index.rss
2002/index.html
2002/index.rss
2002/06/index.html
2002/06/index.rss
2002/06/29/index.html
2002/06/29/index.rss
...
society/index.html
society/index.rss
society/film/index.html
society/film/index.rss
%

(パスはもちろん貴方のとは違います)

再び起動しても何も起こりません。最後に起動した時から現在までにウェブログに変更が無い事を検出するためです。

% perl blosxom.cgi -password='whateveryourpassword'
Blosxom is generating static index pages...
%

全てのページを強制的に作成するには -all=1 スイッチを指定します:

% perl blosxom.cgi -password='whateveryourpassword' -all=1

Blosxomはウェブログに変更があるかどうかにかかわらず、再度全てのページを作成します。

ページの作成をサイレントモードで行うには --定期的に自動で作成しているので結果が表示される必要は無い、メールで報告される-- -quiet=1 スイッチを使います:

% perl blosxom.cgi -password='whateveryourpassword' -quiet=1

定期的に自動でページを作成する...

新しいウェブログを作成したらいつでもコマンドラインで静的ページを作成できますが、自動的に行って欲しい時もあるでしょう。

Unix系やMac OS Xを使っている場合には作業の自動化に cron というツールが使えます。これは同じことをあるときに定期的に行ってくれるツールです。cronのマニュアルを見て下さい(コマンドラインでman cronと入力)。それと素晴らしいチュートリアルも。以下に30分ごとにページを作成するcronの設定例を紹介します:

0,30 * * * * /usr/bin/perl /path/to/blosxom.cgi
-password='whateveryourpassword' -quiet=1

(表示の関係で2行に分かれていますが、crontabには1行で書くことに注意して下さい)

cronが無いOSの場合のためにFAQでは代替方法を簡単に紹介しています。何か提供できる情報がある場合にはぜひ教えて下さい。