MEMORVA

tDiaryインストール時の最低限の設定

更新:

Rubyで作られたCGIアプリケーションといえばtDiary。 ここでは、動作に必要な最低限の設定についてまとめた。

使用したバージョンは、 tDiary 5.1.7、 Ruby 3.0.2。

tdiary-v5.1.7.tar.gz を展開すると、docディレクトリにある INSTALL-cgi.html にインストール手順が書かれている。

アーカイブには多くのファイルが含まれているが、最重要ファイルは以下の5つ。 それ以外は無視してもよい。 いずれのファイルもトップの階層に設置する。

  • index.rb: ページの表示を行う。
  • update.rb: 記事の更新処理を行う。
  • tdiary.conf: 設定ファイル。
  • .htaccess: サーバー、サイトの設定。
  • .htpasswd: パスワードの設定。

各ファイルの設定

まず注意点として、ファイルを編集する際、改行コードにはLFを使用すること。

index.rb と update.rb
1行目にRubyのパス(シバン)が書かれているが、もし動作しなければ自分の環境に合わせて書き換える。 以下は初期設定。

#!/usr/bin/env ruby

ファイルのパーミッションを755に設定する。

tdiary.conf
元々付属している tdiary.conf.beginner または tdiary.conf.sample のファイル名を変更して tdiary.conf を作成する。 最初は tdiary.conf.beginner を利用するのが簡単。 中身はとりあえず編集しなくてもよい。

.htaccess
dot.htaccess というファイルが付属しており、これを .htaccess にリネームして使用する。 同様の内容が書かれたものを自分で用意してもよい。

Options +ExecCGI

AddHandler cgi-script .rb
DirectoryIndex index.rb
AddType application/xml .rdf

<Files "*.rhtml*">
deny from all
</Files>

<Files "tdiary.*">
deny from all
</Files>

<Files update.rb>
AuthName      tDiary
AuthType      Basic
AuthUserFile  /home/test/www/tdiary/.htpasswd
Require user  sample
</Files>

重要な箇所を以下に記す。

AddHandler cgi-script .rb
拡張子が.rbのファイルをCGIとして動作させるための指定。通常レンタルサーバーでは拡張子が.cgiの場合のみCGIとして動作するようになっている。
DirectoryIndex index.rb
https://example.com/test/ のようにトップディレクトリのURLにアクセスした場合に表示させるファイル名の指定。通常はindex.htmlが表示される。
AuthUserFile /home/test/www/tdiary/.htpasswd
.htpasswdファイルが置かれているディレクトリ。自分がインストールしたサーバーのパスを指定する必要がある。
Require user test
.htpasswdで要求されるユーザー名。この例では「sample」という名前を使用している。

.htpasswd
.htpasswd ファイルは付属していないので、自分で作成する必要がある。 作成方法はいろいろあるが、テキストエディタでユーザー名と暗号化されたパスワードのセットを記述し、サーバーに転送してもよい。 書式は以下の通り。

ユーザー名:暗号化されたパスワード

以下はユーザー名「sample」、パスワード「test」の場合の例。 あくまで例であり、セキュリティ上良くないので、きちんと作成する。

sample:zr5Y50kwgE0mI

ユーザー名は .htaccess に記述したものを使用する。 パスワードは crypt などで暗号化されたものを記述する。