なんか、やってみたくなった。
GoogleAppEngineもJavaもRubyも初めてなんですけど、
できますかねぇ。。。
目標は潮ったーをGAEで動かす。
ちなみに環境は、Snow LeopardなMacBookです。
GoogleAppEngineのアカウント作成
下記リンクから適当に。
Javaの環境確認
$ java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)
Javaは入ってるっぽい。
MacPortsのインストール
MacPortsをインストールしてなかった。。。
下記サイトよりSnow Leopard版をダウンロードして、インストール。
The MacPorts Project — Download & Installation
.bashrcに以下の2行を追加してパスを通す。
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH
MacPortsのアップデート。
$ sudo port -d selfupdate
インストールできるソフトウェア一覧を更新。
$ sudo port -d sync
これで、MacPortsの準備はOK。
selfupdateとsyncは定期的に実行するといいらしいです。
Rubyのインストール
$ sudo port install ruby
ライブラリはいらないのかな。
わからん。
とりあえず、ライブラリの確認だけしておく。
$ sudo port list rb-*
Gemのインストール
Gemってなんだ。
初めて聞いた。
ググってみたら、「Rubyのパッケージマネジメントシステム」らしい。
へー。
portでインストールを試みる。
$ sudo port install rb-rubygems
Gemをインストールできたけど、
gemからgoogle-appengineをインストールするには、
バージョン1.3.5以上が必要らしい。
portから入れたgemは1.3.4でした。
なのでアンインストール。
$ sudo port uninstall rb-rubygems
gemをソースからインストールしようと思ったら、
wgetコマンドがないことが判明。
wgetをportでインストール。
$ sudo port install wget
改めてgemをソースからインストール。
$ wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
$ tar vzfx rubygems-1.3.5.tgz
$ cd rubygems-1.3.5
$ sudo ruby setup.rb
$ gem --version
1.3.5
gem 1.3.5 のインストール完了。
そしてダウンロードしたファイルの削除。
$ cd ../
$ rm -rf rubygems-1.3.5*
GoogleAppEngineのインストール
gemからgoogle-appengineのインストール。
$ sudo gem install google-appengine
Sinatraを動かす
とりあえず、下記サイトのまんま。
あとで復習すること。
自分に言ってます。
GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 : tech.kayac.com – KAYAC engineers’ blog
$ mkdir helloworld
$ cd helloworld
$ vi Gemfile
# Critical default settings:
disable_system_gems
disable_rubygems
bundle_path ".gems/bundler_gems"
# List gems to bundle here:
gem "sinatra"
gem "json"
gem "appengine-apis"
$ vi config.ru
require 'appengine-rack'
AppEngine::Rack.configure_app(
:application => 'gae-project-name',
:version => 1
)
require 'main'
run Sinatra::Application
$ vi main.rb
require 'rubygems'
require 'sinatra'
get '/' do
'Hello World!!'
end
Gemfile内に書かれているモジュールをインストール。
$ appcfg.rb bundle .
開発用サーバーを立ち上げる。
$ dev_appserver.rb .
http://localhost:8080/にアクセスして「Hello World!!」と表示されればOK。
開発できたら、GoogleAppEngineにデプロイ。
$ appcfg.rb update .
デプロイって何だ。。。
デプロイとは 【deploy】 – 意味/解説/説明/定義 : IT用語辞典
http://[Your Application Identifier].appspot.com/ に「Hello World!!」と表示されればOK。
これで準備完了。
あとは開発するだけですな。
まずは、Sinatraの勉強からかな。。。
【参考】
- Ruby Install Guide::MacOS X
- MacPorts覚書 – Railsをインストール | FB2
- GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 : tech.kayac.com – KAYAC engineers’ blog
- 10分ではじめる GAE/JRuby (OAuth + Sinatraのサンプル) – まちゅダイアリー(2009-09-03)
- 無料かつ(おそらく)最速であなたのWebアプリケーションを世界に公開する方法 – スタジオズブリ
- GAE/J上でJRuby+Sinatra+DataMapper環境を整えてやりたい放題でござる の巻 – スタジオズブリ
- Sinatra
- Sinatra: README (Japanese)