yokochiの開発メモ

2011-05-10

EC2でRuby on Railsを動かす環境を構築する

| 14:45

OSイメージ作成

もうすでにEC2ではRailsを動かしたりしてるのですが、新たに環境を構築する必要があったのでついでにメモとして残しておきます。

EC2インスタンス作成後、サーバーログインします

OSイメージはAmazon Linuxを使うことを前提です(64bit版)

Basic 64-bit Amazon Linux AMI 2011.02.1 Beta

user作成とrootパスワード変更

最初はec2-userでしかログインできなくなってるので、他ユーザーでログインしたければ、ユーザー作成後、ec2-userホームの.sshディレクトリを対象ユーザーのホームディレクトリにコピーすると次回からログインが可能になります。

ついでにrootパスワードも変更しておくと便利です。以下で変更

sudo passwd

以降はrootで作業します。


rubyのinstallの確認

ruby -v 
ruby 1.8.7 (2010-12-23 patchlevel 330) [x86_64-linux]

デフォルトで入ってます。すばらしいですね

Apacheのinstall

yum -y install httpd

RubyGemsのinstall

下記から最新版を取得します

http://rubygems.org/pages/download

wget http://production.cf.rubygems.org/rubygems/rubygems-1.7.2.tgz
tar xvzf rubygems-1.7.2
cd rubygems-1.7.2
ruby setup.rb

yumrubygemsをinstallしてもいいです

Railsのinstal

gem install rails

rdocのところでエラーが出たので、rdocもinstallしておきます。

あと、この後のpassengerのinstallでもruby.hがない、gccがない、makeがないとか怒られるので以下もinstallします

yum -y install ruby-devel
yum -y install gcc
yum -y install make
yum -y install rdoc

passengerのinstall

gem install passenger

Apacheのmoduleをinstallするのですが、以下を実行すると

passenger-install-apache2-module

なにやらたくさんinstallしろと言われます。なので足りないものを全部installします

yum -y install gcc-c++
yum -y install zlib-devel
yum -y install httpd-devel
yum -y install openssl-devel
yum -y install curl-devel

再度実行すると、コンパイルが実行されて完了となります(結構時間かかります)

Apache設定ファイルの追加

http.confを直接いじらず、conf.d/rails.confという名前のファイルを作成します(名前は何でもいい)

中身は以下(必要に応じて設定変更は必要)

LoadModule passenger_module /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.7
PassengerRuby /usr/bin/ruby

<VirtualHost *:80>
	ServerName hoge.com # サーバー名
	DocumentRoot /home/www/xxx # document rootディレクトリ指定
	RailsEnv development
	<Directory /home/www/work/test_pro/public> # document root の詳細設定
		AllowOverride None
		Options FollowSymLinks
	</Directory>
</VirtualHost>

Subversionのinstall

とりあえずこれで完了ですが、自分はアプリのdeployにCapistranoを使いたかったので、subversionをinstall(sqliteも必要になるのでinstallする)

sqliteのinstall

wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
解凍後
./configure
make
make install 

subversionのinstall

wget http://subversion.tigris.org/downloads/subversion-1.6.16.tar.gz
解凍後
./configure
make
make install

gitでソース管理している人はsubversionではなくてgitをinstallすればいいと思います


以上で構築完了です。これはステージング環境用に作ったのですが、ec2OSイメージをコピーすれば簡単に同じ環境のインスタンスが作成されるので本番環境も簡単に作れて便利です


参考URL

http://troi.kbc-ehime.ac.jp/kj/?p=893&page=2

Connection: close