一般的なCGIの実行を許可しているISPやレンタルサーバ上で利用する場合を想定し、以下のような環境を例に説明します。
tDiaryのダウンロードサイトから、配布アーカイブを取得します。
開発版を使いたい、更新を楽にしたいという理由でtDiaryをGitHubから取得して利用する場合は、外部ライブラリ (hikidocなど) を手動でインストールする必要があります。以降の手順に沿って、ライブラリをインストールしてください。
配布アーカイブから取得する場合は、外部ライブラリは同梱されているため、この手順は不要です。
まず、外部ライブラリの取得に必要となるBundlerインストールします。
% gem install bundler
次に、gitコマンドでtDiaryのソースコードを取得した後に、 bundle install
コマンドを実行して外部ライブラリをインストールします。
% git clone git://github.com/tdiary/tdiary-core.git tdiary
% cd tdiary
% bundle install --without coffee:memcached:redis:gfm:server:development:test
上記の例では tDiary を動作させるのに最低限必要なライブラリのみインストールしています。もし、memcached にキャッシュを保存したり、GFM スタイルを使用する場合は --without オプションから該当ライブラリの文字列を削除して実行してください。
配布アーカイブを展開し、中身をすべて/home/foo/public_html/diaryにコピーします。以下の2つのファイルがCGIスクリプト本体なので、WWWサーバの権限で実行可能なようにパーミッションを設定してください。
また、/usr/bin/envを使った起動ができない環境では、各ファイルの先頭を、rubyのパスに書き換える必要があるでしょう。ISPのホームディレクトリにこっそりRubyを入れたような場合を除き、通常はあまり気にしなくても良いはずです。
続いて、CGIの実行環境を整えます。dot.htaccessを.htaccessにリネームして、環境に合わせて書き換えます。添付のサンプルは以下のようになっています。
Options +ExecCGI
AddHandler cgi-script .rb
DirectoryIndex index.rb
<Files "*.rhtml">
deny from all
</Files>
<Files "tdiary.*">
deny from all
</Files>
<Files update.rb>
AuthName tDiary
AuthType Basic
AuthUserFile /home/foo/.htpasswd
Require user foo
</Files>
ここでは、
という設定になっています。とりあえず書き換えが必要なのは、AuthUserFileとRequire userでしょう。意味はWebででも調べて下さい。AuthUseFileは、あらかじめhtpasswdコマンドで作成しておく必要があります(これもWebで調べればわかります)。
また、利用するWWWサーバの設定が、CGIの実行ファイルのサフィックスを固定(例:.cgi)にしている場合があります。この場合、AddHandlerやDirectoryIndexも変更する必要があるでしょう。これに応じて、index.rbやupdate.rbのファイル名も変更する必要があります。