Ruby だけで tDiary を動かす(小ネタ)
2006-10-11
tDiary 繋がりで小ネタ。 ローカルな環境で tDiary を動かしたいけど、 Apache などの Web サーバを動かすのが面倒な場合がある。 そんなときに、 Ruby (に付属のWEBrick)だけで tDiary を動かす方法を試してみた。 ちょっとしたプラグインの開発などに使えるかも。
index.rb, update.rb のリネーム
tDiary のファイルをダウンロードし、 index.rb と update.rb のファイル名を変更する。
$ mv index.rb index.cgi
$ mv update.rb update.cgi
tdiary.conf の修正
tdiary.conf をエディタで開いて、 @update の行を以下のように設定する。
@update = 'update.cgi'
@data_path の設定も忘れずに。
server.rb の作成
以下の内容で server.rb というファイルを作る。
#!/usr/bin/env ruby
require 'webrick'
config = {
:DocumentRoot => '.',
# :BindAddress => '127.0.0.1',
:Port => 3001,
}
server = WEBrick::HTTPServer.new(config)
server.mount('/index.cgi', WEBrick::HTTPServlet::CGIHandler, 'index.cgi')
server.mount('/update.cgi', WEBrick::HTTPServlet::CGIHandler, 'update.cgi')
trap('INT') { server.shutdown }
trap('TERM') { server.shutdown }
server.start
サーバの起動
$ ruby server.rb
http://サーバ名:3001/ にアクセスすると、日記のトップページが表示される。
サーバの停止
CTRL + C でサーバが停止する。
注意
認証機能も無いし、ログも残らないし、運用では使えないので注意。 あくまでローカルな環境で動かすように。
まじめにWEBrickで動かしたい場合は、tDiaryletを使うのがいいかと。