Rubyで作られたCGIアプリケーションといえばtDiary。 ここでは、動作に必要な最低限の設定についてまとめた。
使用したバージョンは、 tDiary 5.1.7、 Ruby 3.0.2。
tdiary-v5.1.7.tar.gz を展開すると、docディレクトリにある INSTALL-cgi.html にインストール手順が書かれている。
アーカイブには多くのファイルが含まれているが、最重要ファイルは以下の5つ。 それ以外は無視してもよい。 いずれのファイルもトップの階層に設置する。
まず注意点として、ファイルを編集する際、改行コードには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>
重要な箇所を以下に記す。
.htpasswd
.htpasswd ファイルは付属していないので、自分で作成する必要がある。
作成方法はいろいろあるが、テキストエディタでユーザー名と暗号化されたパスワードのセットを記述し、サーバーに転送してもよい。
書式は以下の通り。
ユーザー名:暗号化されたパスワード
以下はユーザー名「sample」、パスワード「test」の場合の例。 あくまで例であり、セキュリティ上良くないので、きちんと作成する。
sample:zr5Y50kwgE0mI
ユーザー名は .htaccess に記述したものを使用する。 パスワードは crypt などで暗号化されたものを記述する。