2011年02月13日

Ruby on Rails 実行環境の構築再トライ: さくらVPSで成功!

railsExecEnv.png
去年あたりから Passenger という Apache モジュールとして動作する
モジュールが登場してから状況が変わった様子です。
さくらインターネットから格安のVPS(月額980円)も登場しました。
こちらの組合せでRoR 実行環境を作ることができました。

参考になりましたページ:

さくらのVPS を使いはじめる アカベコマイリ
http://akabeko.sakura.ne.jp/blog/2010/09/%e3%81%95%e3%81%8f%e3%82%89%e3%81%a
evps-%e3%82%92%e4%bd%bf%e3%81%84%e3%81%af%e3%81%98%e3%82%81%e3%82%8b/
さくらVPSに初めて触るところ(SSHやファイアウォール)から、
MySQL、Apacheのインストールまで大変参考になりました。

さくらVPSにRuby EE (1.8.7) + Rails3 + Passenger を設定する
- さくらVPS設定メモ7 Curiosity Drives Me
http://curiosity-drives.me/programming/rails/sakura-vps-7-rails3/
Rails 2.3.9、Passenger のインストールで大変参考になりました。

Gfdnavi を apache2 + FastCGI で動かす
http://www.gfd-dennou.org/arch/davis/gfdnavi/doc/install/gfdnavi-with-apache
2-fastcgi.htm
Rails2.3.9のアプリを動かすための railsapp/public/.htaccess
の設定内容を知るのに大変参考になりました。

.htaccessの設定内容
------
AddHandler cgi-script .cgi
Options +FollowSymLinks +ExecCGI

# If you don't want Rails to look in certain directories, # use the
following rewrite rules so that Apache won't rewrite certain requests # #
Example:
# RewriteCond %{REQUEST_URI} ^/notrails.*
# RewriteRule .* - [L]

# Redirect all requests not available on the filesystem to Rails # By
default the cgi dispatcher is used which is very slow # # For better
performance replace the dispatcher with the fastcgi one # # Example:
# RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
RewriteEngine On

# If your Rails application is accessed via an Alias directive, # then you
MUST also set the RewriteBase in this htaccess file.
#
# Example:
# Alias /myrailsapp /path/to/myrailsapp/public
# RewriteBase /myrailsapp

RewriteBase /testapp
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]

# In case Rails experiences terminal errors # # Example:
# ErrorDocument 500 /500.html

ErrorDocument 500 "<H2>Application error</H2>Rails application failed to
start properly"
------

Passenger用httpd.confの内容
------
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.
2/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.2
PassengerRuby /usr/local/bin/ruby


ServerName 49.212.8.95
DocumentRoot /var/www/html
RailsEnv development
RailsBaseURI /testapp

AllowOverride all
Options -MultiViews


------
posted by shibuta1218 at 10:15| Comment(0) | ラボ

2011年02月11日

Ruby on Rails 開発環境の構築トライ

EclipseにはRadRailsというRails用プラグインがあり、
メジャーなようですが、これはJavaVMでなぜかエラーが出て
なかなか進まなかったのでひとまず断念しました。

NetBeansで改めて試すことにしました。

最初に参考にしたサイト:

Ruby on Railsの開発環境をWindowsに作成
ないおんBlog - ぴょんメモφ(..)
http://www.nightonly.com/blog/?p=565

上記を参考に、
・Rubyインストール
・rubyのgemコマンドを使って
rails、mongrel(Webサーバー)、mysql(DBドライバ)
 をインストール。

NetBeansは、Rails開発版をインストール。

書籍「かんたんRuby on RailsでWeb制作」の手順に沿って、
scaffoldでモデルを作り、db:migrate:reset を実行したら、
下記エラーが発生。

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please
install the mysql gem and try again: gem install mysql. rake aborted! 193:
%1 is not valid Win32 application -
C:/Ruby/lib/ruby/gems/1.8/gems/mysql-2.8.1-x86-mswin32/lib/1.8/mysql_api.so

原因は、Windows環境の場合は、libmysql.dllをruby/binフォルダに
別途コピーしておく必要があるとのことでした。

下記サイトで知りました。
rails、rake時のエラー「libmysql.dllがない」
http://exposed.egoism.jp/wordpress/?p=295

これでさっきより若干進むようになったのですが、
すぐエラーで止まりました。

C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/cor
e_ext/module/introspection.rb:73: [BUG] Segmentation fault ruby 1.8.7
(2010-12-23 patchlevel 330) [i386-mingw32]

他にも原因があるようで、裏付けは少ないですが、
mysql のバージョンが 5.1 だと今一つなようです。
5.0.x のほうが良さそうです。

下記サイトで知りました。
problem The command rake dbcreateall crashes - Ruby Forum
http://www.ruby-forum.com/topic/204725

現状インストールされているmysqlは、
Xampp1.7.2付属のmysql5.1.37です。
このバージョンはちょっと使っているので、
5.0.xが入っているxampp1.6.8を追加でインストールしました。

リリース詳細 1.6.8 () - XAMPP - SourceForge.JP
http://sourceforge.jp/projects/xampp/releases/34883

これで解決してるはず。
マイグレーションを再度実行してみました。

(in D:/Apps/NetBeansPrj/recipe00)
Couldn't drop recipe00_development : # == CreateArticles: migrating
=================================================
-- create_table(:articles)
-> 0.0469s
== CreateArticles: migrated (0.0469s)
========================================

出来ました!!

次、
テストフィクスチャの投入。
これもうまく行きました!

rails_migrate_ok.png

実行もできました!
環境できました!!

次回はいよいよアプリ作りです♪

rails_mongrel_ok.png
タグ:rails
posted by shibuta1218 at 02:22| Comment(0) | ラボ

2011年02月09日

Hello, Android!

Eclipse(Helios)にAndroidアプリ開発のプラグインをインストールしました。

EclipseのAndroidアプリ開発画面

Androidアプリを初めて作ってみました。

初開発Androidアプリをエミュレータで実行!

開発環境を用意するにあたり、Windows XPのPCに下記のソフトをインストールしました。
・JDK
・Eclipse IDE for Java Developers
・Android SDK
・Eclipse 用Androidプラグイン
いずれもネットから収集した標準的な手順でスムーズにインストールできました。

Eclipse上での編集も、プラグインが良く出来ていて使いやすいと思いました。
プログラミングは、イベントドリブンのプログラミングモデルで、Javaが分かれば極端に躊躇するほど難しくないと感じました。

[参考にさせて頂いた情報]

ASCII.jp:Androidの開発の手順を実際に追ってみる
|Android日本上陸! Androidのすべてを知る
http://ascii.jp/elem/000/000/448/448086/index-4.html
タグ:android
posted by shibuta1218 at 10:02| Comment(0) | ラボ