Ruby だけで tDiary を動かす(小ネタ)
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を使うのがいいかと。