目次
開発・実行環境の準備
ここでは、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のデフォルト値であり、たいした意味はありません。
- CPU 1
- ディスク 20G
- メモリ 256M
VMを起動すると、インストーラが立ち上がります。
変更は、以下の点だけで、すべてデフォルトで作成します。
- キーボードを、Japanese 106にする。
- games,ports-treeはインストールしない。
ツール類のインストール
リブート後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
これで、環境構築は終わりです。