tDiaryのインストールメモ

nogajun
nogajun

2021/2/9追記

これは20年前の記事で歴史的な意味で残しているだけです。今どきtDiaryを使う人はいないと思いますが、もし、何かの間違いで使おうと考えてここにたどり着いたなら 絶対にtDiaryを使うことは止めましょう。 20年の後悔が始まります。tDiaryはクソ

_ tDiaryのインストール

コンパクトでカスタマイズしやすく、動的に日記を生成してくれる日記ツールが欲しかったので設置してみました。 個人で使うのなら、~/public_html以下の適当なところに展開して、.htaccessを設定すればいいのですが、複数の人で使いたいので、/usr/local/shareに展開して~/public_html/diary/以下にシンボリックリンクを貼って使うようにします。

インストールの前に

tDiaryはrubyで書いてあるので、あらかじめrubyを入れておきます。 最近のディストリビューションでは、パッケージで用意されていると思うので入れておきましょう。

/usr/local/shareでアーカイブを展開。tdiaryでシンボリックリンクを貼る。

# cd /usr/local/share
# tar xvfz tdiary-1.2.1.tar.gz
# ln -s tdiary-1.2.1/ tdiary

httpd.confに設定追加

README.htmlによると、動かす上で以下のような事が、必要だそうなので、.htaccessで設定するBASIC認証以外の設定をhttpd.confに追加、書き換えます。

  • CGIの実行を可能にし、
  • サフィックス「.rb」のファイルをCGIと認識させ、
  • index.rbをデフォルトのファイルに設定し、
  • *.rhtmltdiary.*のファイルの参照を禁止して、
  • update.rbへのアクセスにはユーザ認証が必要
<IfModule mod_dir.c>
    DirectoryIndex index.html index.rb  ← index.rbを追加
</IfModule>
<Directory /home/*/public_html/diary/>
    Options ExecCGI FollowSymLinks  ← CGI を実行できるようにしてるのと、シンボリックリンクを有効にしてる。
    AllowOverride AuthConfig Limit  ← 認証を使えるように
</Directory>
<Files "/home/*/public_html/diary/*.rhtml"> ← *.rhtmlのファイル参照を禁止
    deny from all
</Files>
<Files "/home/*/public_html/diary/tdiary.*">    ← tdiary.*のファイル参照を禁止
    deny from all
</Files>
AddHandler cgi-script .rb       ← 「.rb」拡張子のついたファイルを、CGIとして認識させるようにする。
(プログラムを.cgiにリネームしてもいいけど、追加した方が管理は楽。)

ホームディレクトリに日記のデータベースを保存するディレクトリと、BASIC認証用のパスワードファイルを作る。

日記データはテキストも保存したいので、日記データベース用ディレクトリdiary_datを作り、その下に通常のバイナリデータを保存するdatディレクトリと、テキスト用ディレクトリのtextを作りました。 CGIがデータを書き込めるようにdat/text/ディレクトリのパーミッションを変更します。

パスワードファイルを作ります

$ /usr/local/apache/bin/htpasswd -c (パスワードファイル名) (ユーザー名)

public_htmlディレクトリにもdiaryディレクトリ作り、その下にリンクを貼ります

$ cd public_html/
$ ln -s /usr/local/share/tdiary/* .
$ cp dot.htaccess .htaccess
$ cp tdiary.conf.sample tdiary.conf

.htaccessとtdiary.confを書き換える

htaccessは、httpd.conf以外の設定を書きます。

<Files update.rb>
    AuthName      tDiary
    AuthType      Basic
    AuthUserFile  /home/hogehoge/.htpasswd
    Require user  hogehoge
</Files>

tdiary.confのコメントにしたがって、上で設定したように書き換えます

とりあえず@data_pathは必須。テキストでもデータを書き出すので@text_output@text_output_pathも書き換え。セキュリティポリシーに応じて@secureも書き換えます。

_ metal gear solid 2

プラント編の爆弾処理で止まってる。 やる時間がねーよ。

_ おまけに金もない。

現在所持金700円。 マジでどーするよ。

_ 友人の昇龍氏より電話

共通の友人で、自分の高校の後輩の片岡が、かなりの厨房っぷりを発揮してるらしい。 小一時間問い詰めるか