なつみかん(NATSU-MICAN)

「なつみかん」ドキュメント

スターティングガイド

ここでは、「なつみかん」ダウンロード後、設置のために最初に行うこと等を記してあります。
「クイックスタート」は、ダウンロードしたばかりの「なつみかん」を、とりあえず動かすための方法について解説します。
「ディレクトリ&ファイル構成」は、ダウンロードした「なつみかん」に同梱されているファイルの説明です。

誠に申し訳ないのですが、ここに記載してある項目について一つでも理解できず、かつ、それについて独学で勉強する気の無い方は「なつみかん」の設置をあきらめて下さい。ここに記載されていることに関するご質問には一切お答えいたしません。

クイックスタート(UNIX)

  1. まず、Perlのバージョンを確認します。
    /usr/local/bin/perl -v
    でバージョン情報などが表示されます。
    このバージョンが5.004以上であれば、一応動作します。おすすめは5.005以上です。
    もしバージョンが5.004以下でしたら、他のPerlを探してみるか、インストールするか、管理者にインストールをお願いしてみて下さい。
  2. 次に、ダウンロードした「なつみかん」を適当な場所で解凍します。解凍は、
    tar xvzf natsu2.3.tar.gz
    でできると思います。
    解凍が完了すると、natsu2.3と言うディレクトリができており、その下に「なつみかん」の関連ファイルとディレクトリが展開されています。
    同梱されているファイルについては下記「「なつみかん」ディレクトリ&ファイル構成」をご覧下さい。
    なお、ディレクトリ名はご自由にお変え下さい。
  3. もし、以前のバージョンの「なつみかん」からのバージョンアップをなされる場合、これより下の説明よりnatsumican_verup.htmlをご覧いただいて設定したほうが良いかと思います。
  4. 「なつみかん」のディレクトリ(ここでは「natsu」とします)に移動し、まず、ファイルやディレクトリのパーミッションを変更します。
    ファイルで必要なのは、「nm_tg.pl」「nm_op.pl」「nm_mf.pl」「nm.sh」のパーミッションをそれぞれ744にすることと、「nm_info.pl」のパーミッションを755にすることです。
    ディレクトリで必要なのは、「tmp」ディレクトリのパーミッションを777にすることです。
  5. 「なつみかん」のディレクトリに「jcode.pl」というファイルを移します。jcode.plはftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/などにあります。
    「なつみかん」はこのファイルがないと動作しません。
  6. その後、「nm.ph」を編集します。
    このファイルはPerlに準じた書式で記述されます。
    1. 「$baseurl」は、「なつみかん」のサイトのURLを入れておきます。サイトを公開していない場合でも、自分の身分証明をしておくのが礼儀です。
    2. 「$basedir」には、「なつみかん」の動作の基準となるディレクトリを絶対パスで入れておきます。(例:/home/hoge/public_html/natsu/)
      ここをきちんと設定しないと正常に動作しないのでご注意下さい。
    3. 「%html」には、「なつみかん」が最終的に出力するHTMLファイルと、その元となるHTMLファイルを指定します。
      ここはPerlの配列の指示方法と一緒で、「"index.shtml"=>"base.html"」のように、出力するファイル名・元のファイル名、とします。複数ある場合は同様の形式を一区切りとして、それをカンマで区切ります。
    4. 「$gzip」にはLIRS出力で使うgzipの場所を指定します。コマンドラインで
      which gzip
      のようにすれば、場所がわかると思います。
    5. 「$tgthtml」は、「$deffsize」でサイズを測る対象ファイルです。
      ここはnm_info.plを使う際に必要になります。
      通常は「%html」に指定した出力元のファイルの場所とファイル名を指定しておけばいいでしょう。
    6. 「$deffsize」には、「なつみかん」が最終的に出力するHTMLファイルの最低サイズをバイト数で指定しておきます。
      ここはnm_info.plを使う際に必要になります。
      通常は、元のHTMLファイルのサイズよりちょっと多めに指定しておけば問題無いでしょう。
  7. 次は「nm.sh」を編集します。
    このファイルはshスクリプトに準じた書式で記述されています。
    1. 「PERL」は、使用するPerlの位置を指定します。
      「なつみかん」はPerl5.004以降でないと動作しませんので、通常使われるPerlが5.004以降でない場合は、ここを書き直して下さい。
      先ほどバージョンを調べたときに、5.004以上のPerlがありましたら、それをフルパスで指定して下さい。
    2. 「DIR」は、「なつみかん」の動作の基準となるディレクトリを絶対パスで入れておきます。先に「nm.ph」で指定した「$basedir」と同じです。
      ここをきちんと設定しないと正常に動作しないのでご注意下さい。
  8. 最後に、./data/ディレクトリに移動し、「remote.cfg」「sites.lirs」を編集します。
    これらファイルはLIRS形式に準じた形で記述されています。そのため、内容で「,」を使用する際は必ず「\,」のようにエスケープしてご記入下さい。
    ver2.0未満より「なつみかん」をお使いの方は「natsumican.cfg」の書式が大幅に異なっています。また、ver2.2より、リモート取得元情報の書式が一部変更になっています。ver2.3からは、ファイルがリモートアンテナの物とターゲットサイトの物に分割されています。詳細はnatsumican_verup.htmlをご覧下さい。
  9. まず、リモート取得元の指定です。「remote.cfg」を編集します。リモート取得元の設定書式は下記のようになっています。
    REMOTE,リモート元指示記号,リモートサイト名,リモートサイトURL,ローカル保存ファイル名,リモート情報取得元ファイルURL,誤差/時差(秒),
    たとえば、こんな感じで指定してみましょう。
    REMOTE,<A HREF="http://amano.hauN.org/">a</A>,天野アンテナ,http://amano.hauN.org/,r_amano.lirs,http://amano.hauN.org/natsumican.lirs.gz,32400,
  10. 次に、更新時刻情報を取得するターゲットサイトの指定です。「sites.lirs」を編集します。設定書式は下記のようになっています。
    LIRS,0,0,誤差/時差(秒),0,URL,タイトル,管理者名,0,実際に時刻情報が取れるURL,時刻情報を参照できるキー(正規表現使用可),URL後に付ける数列の形式,その他の情報(必要に応じて),(\r)\n
    ここはこんな感じで指定してみましょう。
    LIRS,0,0,32400,0,http://aniki.hauN.org/d/,隠語日記,ひや,0,,,?%MM%%DD%%HH%%TT%,はう鯖電兄軽,
  11. 以上で、とりあえず動作させるだけの設定は完了です。
    試しにコマンドラインで下記のように指定して実行してみて下さい。
    ./nm.sh
  12. どうでしょうか。HTMLファイルとLIRS形式のリモートファイルが出力されているでしょうか。
    これでしっかり動くようでしたら、「設定リファレンス」を参照しながら取得サイトやリモート取得元の追加、HTMLの書き直しなどをして、さらなるカスタマイズをすすめてみて下さい。

クイックスタート(Windows)

UNIX以外のOSでの動作は、(Windowsでは確認しましたが)一応動作保証対象外とします。これについてのご質問はお答えしかねます。
また、MacintoshなどでもPerlはありますが動作確認していません。
ここでは、Windowsマシンをサーバーにしての、Webをベースとした公開については考慮していません。

  1. まず、Perlのバージョンを確認します。プログラムへのパスが通っていれば、
    perl.exe -v
    でバージョン情報などが表示されます。
    このバージョンが5.004以上で、ActivePerl build 522以上であれば動作します。
  2. 次に、ダウンロードした「なつみかん」を適当な場所で解凍します。自己解凍型Lhaアーカイブになっていますので、適当な場所で
    natsu2.3.exe
    を実行して下さい。
    解凍が完了すると、natsu2.3と言うディレクトリができており、その下に「なつみかん」の関連ファイルとディレクトリが展開されています。
    同梱されているファイルについては下記「「なつみかん」ディレクトリ&ファイル構成」をご覧下さい。構成及び文字コード・改行コードはnatsu2.3.tar.gzと同じです。
    なお、ディレクトリ名はご自由にお変え下さい。
  3. 「なつみかん」のディレクトリ(ここでは「natsu」とする)に「jcode.pl」というファイルを移します。jcode.plはftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/などにあります。
    「なつみかん」はこのファイルがないと動作しません。
  4. Windows版gzipをhttp://www.gzip.org/などからダウンロードし、「なつみかん」のディレクトリに「gzip.exe」というファイルを移します。
    Windows版gzipがないと、リモートアンテナで提供されているgz圧縮LIRSのファイルを使うことができません。また、結果出力時にgz圧縮LIRSを生成することもできません。
  5. その後、「nm.ph」を編集します。
    このファイルはPerlに準じた書式で記述されます。utilitiesディレクトリ下の「nm_win.ph」も参考にしてみて下さい。
    1. 「$baseurl」は、「なつみかん」のサイトのURLを入れておきます。サイトを公開していない場合でも、自分の身分証明をしておくのが礼儀です。
    2. 「$basedir」には、「なつみかん」の動作の基準となるディレクトリを絶対パスで入れておきます。(例:/Perl/natsu/)
      ただし、ディレクトリ区切りには「\」を使わず「/」を使って下さい。でないと誤動作します。
      ここをきちんと設定しないと正常に動作しないのでご注意下さい。
    3. 「%html」には、「なつみかん」が最終的に出力するHTMLファイルと、その元となるHTMLファイルを指定します。
      ここはPerlの配列の指示方法と一緒で、「"index.shtml"=>"base.html"」のように、出力するファイル名・元のファイル名、とします。複数ある場合は同様の形式を一区切りとして、それをカンマで区切ります。
    4. 「$gzip」にはLIRS出力で使うgzip.exeの場所を指定します。「なつみかん」のディレクトリにgzip.exeをコピーしたのでしたら、
      $gzip = 'gzip.exe';
      で動作すると思います。
      ディレクトリ区切りには「\」を使わず「/」を使って下さい。でないと誤動作します。
  6. 次はutilitiesディレクトリ下の「nm_win.bat」をパスの通ったディレクトリにコピーし、編集します。
    このファイルはバッチファイルです。
    1. 「PERL」は、使用するPerlの位置を指定します。
      プログラム「perl.exe」をドライブ名からフルパスで書いて下さい(例:c:\perl\bin\perl.exe)。
    2. 「DRIVE」は、「なつみかん」の動作の基準となるドライブを入力します(例:d:)。
      ここをきちんと設定しないと正常に動作しないのでご注意下さい。
    3. 「DIR」は、「なつみかん」の動作の基準となるディレクトリを絶対パスで入れておきます。先に「nm.ph」で指定した「$basedir」と同じです。
      ここをきちんと設定しないと正常に動作しないのでご注意下さい。
  7. 最後に、./data/ディレクトリに移動し、「remote.cfg」「sites.lirs」を編集します。
    詳細は前章のUNIXのところとまったく同じですので、そちらを参考にして下さい。
  8. 以上で、とりあえず動作させるだけの設定は完了です。
    試しにコマンドラインで下記のように指定して実行してみて下さい。
    nm_win.bat
  9. どうでしょうか。指定した場所にHTMLファイルとLIRS形式のリモートファイルが出力されているでしょうか。
    これでしっかり動くようでしたら、「設定リファレンス」を参照しながら取得サイトやリモート取得元の追加、HTMLの書き直しなどをして、さらなるカスタマイズをすすめてみて下さい。

「なつみかん」ディレクトリ&ファイル構成

$basedir(./:755)
「なつみかん」の実働に使うディレクトリです。
動作には必要です。

nm.ph
「なつみかん」の環境ごとの設定です。詳細はドキュメントあるいはファイル内のコメントを参照して下さい。
必要に応じて書き換えて下さい(Perlの知識orプログラムの知識が少々必要)。
動作に必要です。
nm.sh(744)
「なつみかん」を起動するためのシェルスクリプトです。
Perlの位置や実行ディレクトリ位置を必要に応じて書き換えて下さい。他は特にいじる必要はないと思います。
いろいろ修正するためにはUNIXシェルとシェルスクリプトの知識が必要です。
動作に必要です。
nm_mf.pl(744)
「なつみかん」のHTML出力モジュールです。
追記情報がある場合、このファイルの先頭のサブルーチン部分を修正することにより、様々な形態で追記情報を出力できるようになります(Perlの知識が必要)。
nm_op.pl(744)
「なつみかん」の他形式データ出力モジュールです。
hina.txt形式やDI形式など、LIRS形式以外のリモートデータを出力する場合に使います。
通常、改変する必要はありません。
nm_tg.pl(744)
「なつみかん」の更新時刻取得モジュールです。「なつみかん」の根幹をなすプログラムのひとつです。
通常、改変する必要はありません。
動作に必要です。
nm_info.pl(755)
「なつみかん」の動作状況モニタリングSSIモジュールです。HTML出力モジュールで出力されるHTML(通常日の目を見るHTML)にSSIとして埋め込んで使用します。
通常、改変する必要はありません。
nm_lib.pl
「なつみかん」の基本ライブラリで、「なつみかん」の各モジュール内部から直接呼び出されます。「なつみかん」の根幹をなすプログラムのひとつです。
通常、改変する必要はありません。
動作に必要です。
LIRS.pm
LIRS形式をサポートするためのモジュールです。「なつみかん」の根幹をなすプログラムのひとつです。
通常、改変する必要はありません。
動作に必要です。

$datadir(./data/:755)
なつみかんで使われる設定ファイル(mican.cfg)や元HTMLファイル(base.html)等を格納しておくディレクトリです。
動作には必要です。

remote.cfg(data/remote.cfg)
利用するアンテナ情報を記入しておきます。
必要に応じて書き換えて下さい。
動作には必要です。
sites.lirs(data/sites.lirs)
取得するサイトの情報を記入しておきます。
必要に応じて書き換えて下さい。
動作には必要です。
base.html(data/base.html)、base_get.html(data/base_get.html)、base_parse.html(data/base_parse.html)
HTMLとして書き出す際の元となるHTMLファイルです。
必要に応じて書き換えたり、差し替えたりして下さい。

$tmpdir(./tmp/:777)
ゲットしたリモートアンテナ情報や、各種テンポラリファイルを一時保管しておくディレクトリです。
このディレクトリ下にあるファイルは、作成・改変されて3時間以上経過すると自動的に削除されます(サブディレクトリ含む)。$basedirなどと同じディレクトリにはしないでください。
動作に必要です。
docs
「なつみかん」の説明書などがあります。
動作には不要です。

natsumican.html
「なつみかん」の概要などが書かれています。
動作には不要です。
natsumican_starting.html
「なつみかん」をダウンロードして最初に確認する事項が書かれたマニュアルです。
動作には不要です。
natsumican_reference.html
「なつみかん」の設定方法や置換指定子などを解説したリファレンスマニュアルです。
動作には不要です。
natsumican_history.html
「なつみかん」の更新履歴が記されています。
動作には不要です。
natsu.css
上記HTMLのスタイルシート設定ファイルです。
動作には不要です。
LIRS.html
LIRS ver.1.1の仕様書です。
動作には不要です。

utilities
「なつみかん」に関連した設定ファイルやスクリプト例、Windows用のバッチファイルなどがあります。
動作には不要です。

parseLIRS.pl(744)
おまけです。
「なつみかん」が出力するLIRS形式ファイルのオプション部分で区分を判別し、各区分ごとにLIRSを分割するスクリプトです。
これとnm_mf.plの複数LIRS出力機能とを併用すれば、ジャンルごとに区分されたHTMLも簡単にできます。
ただ、調整するのに多少Perlの知識が必要です。
使用法は、
perl parseLIRS.pl [(target LIRS file) | help] {options:add, exclusive, nounix}
target LIRS fileは必須です。分割する元のLIRSファイルを指定します。nounixオプション、addオプション、exclusiveオプションは必須ではありません。
nounixはunix環境でないマシン環境(Windowsなど)で使用します。addはすでに出力されたLIRSに追記するときに使います。exclusiveオプションは排他処理をします(複数所属している項をどちらか一方に書き出す)を指定します。無いと、複数所属している項はそれぞれに書き出されます。
makehtml.pl(744)
おまけです。
GetWeb!やGetYou、波乗野郎などのWebサイト取得プログラム用の「index_get.html」から「?MMDDHHSS」や余分なリンクを省きます。
cron.txt
「なつみかん」を定時起動するためのcrontabの設定ファイルです。
直接の動作には不要ですが、crontabを使う場合は参考になるかもしれません。
cfgconv.pl(744)
おまけです。
なつみかん1.0、1.1の設定ファイル(natsumican.cfg)をなつみかん2.2以上で使えるLIRS準拠形式に変換します。
使用法は、
perl cfgconv.pl [source file(and path)] [target file(and path)]
です。
通常は一度しか使わないと思います。また、このスクリプトの使用における支障などに、作者は一切責任を負いません。
なお、なつみかん1.3n0xや0.4n0xの設定ファイルも一応変換できますが、支障があります。
詳細はnatsumican_verup.htmlを参照して下さい。
nm_win.ph
Windowsで「なつみかん」を動かすときの設定サンプルです。
直接の動作には不要です。
nm_win.bat
Windowsで「なつみかん」を動かすときに使われるバッチファイルです。
使用する場合はパスの通ったディレクトリに移動させて下さい。

ファイル名横の()内の数字は基本のディレクトリ位置もしくは推奨パーミッションです。記述のないものは+rであれば何でも大丈夫なはずです。
UNIX以外の環境では、パーミッションは関係ありません。


Copyright (C) 1998-2000 hiya. All Rights Reserved.
Contact : hiya@hauN.org