目次

開発・実行環境の準備

ここでは、FreeBSD10.1上に動作環境を構築する例を紹介します。
VMwareを使いますが、そこは本質ではないので省略します。

OSインストール

ftp://ftp3.jp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.1/から FreeBSD-10.1-RELEASE-i386-disc1.isoをダウンロードし、VMwareの新規VMの起動ディスクに設定します。

VMware仮想マシンを、以下の条件で作成します。値はVMware Fusionのデフォルト値であり、たいした意味はありません。

VMを起動すると、インストーラが立ち上がります。
変更は、以下の点だけで、すべてデフォルトで作成します。

ツール類のインストール

リブート後OSが起動したら、Rubyとウェブサーバをインストールします。
組み込み向けと言うことで、ウェブサーバーには小さくて動作の軽い mongoose を採用します。

pkg install ruby
pkg install mongoose

必要であれば、あわせて好みのエディターなどをインストールします。

環境設定

Aloneのダウンロードと設置

以下はこのドキュメント執筆時点の最新版 version3.2の場合です。
できれば、ダウンロードページを確認し、その時点の最新版を使ってください。
Aloneをダウンロードし、/usr/local/kitchen_timer以下に展開します。

fetch http://www.ruby-alone.org/files/alone-3.2-release.tgz
tar xvfz alone-3.2-release.tgz
mv alone-3.2-release /usr/local/kitchen_timer

エントリポイントの調整

cgiの最初に起動されるファイルを、Aloneではエントリポイントと称しています。 このファイルもRubyスクリプトで、shebang行にRubyインタプリタへのパスが含まれますので、 環境に合わせて書き換えます。

FreeBSDでは、/usr/local/bin/rubyにインストールされますので、そのように書き換えます。

vi /usr/local/kitchen_timer/controllers/index.rb
(1行目)
#!/usr/local/bin/ruby

ウェブサーバの設定

設定ファイルは新規に作成する必要があるようなので、以下の内容で設定ファイルを作ります。

/usr/local/etc/mongoose.conf
document_root /usr/local/kitchen_timer/controllers
cgi_pattern **.rb$
index_files index.html,index.rb
listening_port 80
run_as_user www

OS起動時に自動起動するように設定します。

/etc/rc.conf
mongoose_enable="YES"
mongoose_flags="/usr/local/etc/mongoose.conf"

ここで再起動しても良いですが、手動でmongooseを起動するほうが早いので、以下のコマンドで起動します。

/usr/local/etc/rc.d/mongoose start

テストに必要になるので、ifconfigコマンドで、IPアドレスを確認しておいてください。

動作確認

ブラウザを開き、先のIPアドレスを指定すると、Aloneと一緒に配布されているサンプル一覧が表示されます。

サンプルファイルの待避とキッチンタイマー開発のための準備

サンプルは消してもかまわないのですが、自分のアプリケーションを開発する場合にサンプルの中から似た動作をするアプリケーションをコピーしてそれを元にすることを推奨していることもあり、.bakディレクトリに待避しておきます。

cd /usr/local/kitchen_timer
mv controllers controllers.bak
mkdir controllers

アプリケーションに必要な次のファイルをコピーして戻します。

cp controllers.bak/index.rb controllers         # エントリポイント
cp -r controllers.bak/js controllers
cp controllers.bak/al_style.css controllers

これで、環境構築は終わりです。