hns(ハイパー日記システム)のインストール

hns(ハイパー日記システム)のインストール

日記なんて小学生以来書いた覚えはないのですが、PC上で何をしたか等 備忘録のため
Vaioにインストールしてみました.
まず、公式サイトに行って情報を収集しましょう.
インストールの仕方を見るとVine 2.1では問題なさそうなのでdocの通り
インストールしてみました.
インストール自体は、特に難しくありません.
Vaioには、自分の備忘録としてインストールしましたが、www.club535.comには
Linuxの情報やwebの更新情報などを管理できるのでclub535のサーバーにもインストールしました.

club535.comサーバーにhnsをインストール

はじめに、club535.comは自前のサーバーではありません.
ですから、telnet経由で各種設定を行います.
club535はFreeBSDです.現在私が利用しているOSはLinuxなので少々勝手が違います.特にbashが
デフォルトでインストールされていない.

  • bashのinstall
  • kakasiのinstall
  • namazuのインストール
  • hnsのインストール
  • という順番でインストールを行いました.
    bash,kakasi,namazuはドキュメントが豊富にあるので割愛させていただきます.

    sourceの取得

  • hns-2.10-pl0.tar.gz

  • namazu_for_hns-2.0-pl3.tar.gz 2つのsourceを落とします.
    $ mkdir src
    $ cd src
    $ tar zxvf ../hns-2.10-pl0.tar.gz
    $ hns-2.10-pl0
    $ hns-setup.ja
    各項目を入力します.
    インストールが終われば、~/.hnssetupが出来ます.

    ———- .hnssetup ———-
    DEFTITLE=”hoge日記” ; ホームページのタイトル
    DEFMAIL=”hohe@hoge.fuga.com” ; メールアドレス
    DEFDIARY=”/home/hoge/diary” ; 日記の置き場所
    DEFHTML=”/home/hoge/public_html/diary” ;公開する日記の場所
    DEFUNAGI=”ON” ; namazuを使うか否か
    DEFTOMAIL=”hohe@hoge.fuga.com” ; 更新した日記を送るメールアドレス
    DEFFROMMAIL=”hohe@hoge.fuga.com” ; メールで日記を更新する時のメールアドレス
    DEFPASSWD=”hoge” ; パスワード
    DEFURL=”http://xxx.xxx.xxx.xxx/~hoge/diary/” ; 日記のURL
    DEFTHEME=”japanese” ;themes
    DEFANTENNA=”NG” ; アンテナに登録してもいいか
    DEFAUTHOR=””
    DEFMESMAIL=””
    DEFNEWREVERSE=”0″
    DEFSTARTYEAR=”2001″ ; 日記を書き始める年
    ——————————-

    インストールが完了すれば、http://xxx.xxx.xxx.xxx/~hoge/diary/で日記が表示されます

  • hnsのカスタマイズ

    簡単な方法として、~/diary/conf/内にある

    • head.txt
    • foot.txt

    を編集します.

    head.txt

    index.cgiにアクセスしたときに付加するheaderになります.
    例えば、style sheetを追加したり、画像(ロゴ)を表示させたいときに記述します.
    私の場合、このようなhead.txtになっています.

    ————————————————————
    <LINK REL=”stylesheet” TYPE=”text/css”HREF=”/diary.css”>
    <CENTER>
    <IMG SRC=”/cgi-bin/linuxbook/gif/messageb.gif”>
    </CENTER>
    <body background=”/cgi-bin/linuxbook/gif/kabe.gif”
    ————————————————————

    foot.txtについても同じようにhtmlソースを記述すればよい

    Namazu v2 for hns による日記の全文検索

    インストールするにはここに詳しく書かれていますから読んでおきましょう.
    以下はここの抜粋です

    1. Namazu を取得してインストール

    http://www.namazu.org/ より最新版を入手して下さい。
    % wget -nd http://www.namazu.org/stable/namazu-2.0.5.tar.gz
    % wget -nd http://www.h14m.org/dist/namazu_for_hns-2.0-pl3.tar.gz
    % tar zxvf namazu_for_hns-2.0-pl3.tar.gz
    % tar zxvf namazu-2.0.5.tar.gz
    % cd namazu-2.0.5
    % ./configure –prefix=/usr/local
    % make
    % su
    % make install
    % cd ../namazu_for_hns-2.0-pl3

    2. (通常は不要) hnf用フィルタをインストール

    (Namazu に添付の hnf.pl が古い場合のみ必要)
    % ./setup-filter.sh /usr/local
    – prefix –

    3. 起動スクリプト, 設定ファイルをインストール

    % ./setup.sh /usr/local
    – prefix –

    注) Namazu 2.0.x を rpm でインストールされている場合は、
    % ./setup-rpm.sh

    hns-1.x をご利用の場合は、
    % ./setup.sh /usr/local 1
    – prefix –

    ホーム・ディレクトリにインストールする場合

    1. Namazu を取得してインストール

    http://www.namazu.org/ より最新版を入手して下さい。
    % wget -nd http://www.namazu.org/stable/namazu-2.0.5.tar.gz
    % wget -nd http://www.h14m.org/dist/namazu_for_hns-2.0-pl3.tar.gz
    % tar zxvf namazu_for_hns-2.0-pl3.tar.gz
    % tar zxvf namazu-2.0.5.tar.gz
    % cd namazu-2.0.5
    % ./configure –prefix=$HOME/diary/namazu2 –with-pmdir=$HOME/lib
    –with-pmdir で Perl Module のインストール先を指定。
    % make
    % make install
    % cd ../namazu_for_hns-2.0-pl3

    2. (通常は不要) hnf用フィルタをインストール

    (Namazu に添付の hnf.pl が古い場合のみ必要)
    % ./setup-filter.sh $HOME/diary/namazu2
    —— prefix —–

    3. 起動スクリプト, 設定ファイルをインストール

    % ./setup-u.sh $HOME/diary/namazu2
    —— prefix —–
    注) hns-1.x をご利用の場合は、
    % ./setup-u.sh $HOME/diary/namazu2 1
    —— prefix —–

    インデックスの作成

    $ cd ~/diary/bin

    $ ./hns-index2
    でインデックスが作成・追加されます.なお,インデックス作成後に 以前の日記ファイルを更新した場合は,インデックス・ファイルの中に ゴミがたまりますので,そのゴミを 削除したい場合は,

    $ ./hns-index2 -gc
    としてください.
    インデックスがおかしくなってしまったというような場合には,

    $ ./hns-index2 clean
    で完全に作り直すことができます.
    注意:
    Namazu v2 ではインデックスのフォーマットが変更されました。 以前のバージョンと互換性はありません。
    また、rpm等でインストールしている場合は、
    $ ./setup-rpm.sh
    一発でインストールできます.

    日記をメールで更新

    メールを日記で更新するにはhnsをおいているシステムにsendmail等がインストールされていなければ使えません.
    telnetなどで接続してから、sendmailの場所を確認しておきましょう.

    設定

    ドキュメントに必ず目を通しましょう
    私が書かなくても、詳しくドキュメントに記載されていますので、説明は省き設定内容を載せておきます.
    そうそう、はじめにforwardの設定を行ってくださいね.
    これが出来ないとメールで日記の更新は難しいでしょう.

    .forward

    fuga, “|/home/hoge/diary/bin/mail2nikki.pl “

    mail2nikki.pl

    #!/usr/bin/perl

    require ‘/hoge/fuga/www/diary/lib/jcode.pl’;

    # $diaryDir 日記のあるディレクトリ
    $diaryDir = “/hoge/fuga/diary”;

    # 報告を受け取るアドレス.
    $mailAddress = ‘xxx@xxx.xxx.xxx’;
    # 投稿を許すアドレス(From認証) -複数のアドレスが登録可能です-
    @certiy_mailAddress = (‘xxx@xxx.xxx.xxx’);
    # 報告メールの From: アドレス
    $recvMailAddress = ‘xxx@xxx.xxx.xxx’;

    # パスワードです。
    $MASTERPASSWD = “hoge”;

    # 日記ファイルディレクトリの対応
    $hnfDir = 1; # 1 分散管理(ex ~/diary/1998/19981201.hnf), 0 一括管理
    # LOGMODE 全文ログを取得する時 0 エラー時のみ, 1 常に, 2 絶対しない
    $LOGMODE = 0;
    # status reporting mail
    $MAILMODE = 0; # 1 無条件で動作報告メール
    # use nkf?
    $NKF_USE = 1; # 1 -> Use (default), 0 -> No Use
    # auto signature cut
    $SIG_CUT = 0; # 1 Signatureを削除する
    $SIG_PATTERN = ‘^– $’; # Signatureの開始行の正規表現

    # Update Namazu index?
    $NamazuExecFlag = 1; # 0 -> no (default), 1 -> yes
    # where is hns-index?
    $MkNamazuPath = “$ENV{‘HOME’}/diary/bin/hns-index”;

    # sendmail の場所 各サーバによって違うでしょう
    $sendmail = “/usr/sbin/sendmail”;
    # nkf の場所 確かめてね
    $nkf = “/usr/bin/nkf”;私は大体このような設定になっております.
    もし、うまく更新できていなければ はじめにメールがサーバーに届いているか確認しましょう.
    メールが届いているなら、.forwardの設定がうまくできているか確認しましょう.
    ~/diary/mail内にlogが出来ています.