さくらVPSでRuby on Railsを動かすメモ
Ruby on Rails (+ Passenger) のテスト環境を さくら VPS に作ってみたメモです。
契約
さくらのVPS|VPS(仮想専用サーバ)はさくらインターネットから申し込むと、カード決済の場合数時間で「[さくらのVPS] 仮登録完了のお知らせ」というメールが来ます。ここにサーバーのIPアドレス、ログイン・パスワード等が書かれています。
サーバーの起動
*2010/10/4追加*
仮登録完了メールが来た時点ではサーバーは起動されていませんので、メールに書かれた VPSコントロールパネル ログイン情報のURLをアクセスし、IPアドレス、パスワードを入力してログインすると下のような画面が表示されます。
ここで、仮想サーバ操作の「起動」ボタンを押すとサーバーが起動されます。サーバーの起動には少し時間がかかります。左メニューの「リモートコンソール」をクリックするとサーバーのコンソール画面が表示され、Linuxが起動される状況を確認できます。
設定
初期設定では root で外部から sshログインできるので root でログインしたら、自分用のアカウントを作りsudoの設定を行い、sshdの設定を変更しsshの root ログインを禁止した方が良いと思います。
また、iptables(ファイアーウォール)やSELinuxの設定はされてなので、必要があればして下さい。
OSは CentOS 5.5 です。がんばると他のOSもインストールできるようです・・・
インストール
サーバー類は最低限しかありませんので必要なサーバーは自分でインストールする必要があります。
Apache
sudo yum install httpd.x86_64 system-config-httpd.noarch httpd-devel.x86_64 sudo /sbin/chkconfig --add httpd sudo /sbin/service httpd start
http://サーバーのIP でapacheが動く事を確認して下さい。
Ruby
まず、Ruby on Railsを動かすのに必要な Rubyの拡張ライブラリー zlib, openssl の開発環境(header/lib)をインストールして下さい。
sudo yum install zlib-devel.x86_64 sudo yum install openssl-devel.x86_64
yum のRuby は1.8.5 なので 最新の Ruby をコンパイルしていれます。今回は既存のアプリの関係もある 1.8.7 をインストールしました。ruby は /usr/local/binに入りませすので PATH に /usr/local/binが在ることを確認して下さい。
cd InstallWorks wget wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p302.tar.gz tar xzf ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p302.tar.gz cd ruby-1.8.7-p302 ./configure make make test sudo make install # テストが成功したら
gem
cd InstallWorks wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz tar xzf rubygems-1.3.7.tgz cd rubygems-1.3.7 sudo ruby setup.rb sudo gem update --system
sqlite3
バージョン 3.6.16 以上の sqlite3が必要なので、これもソースからインストールします。
cd InstallWorks wget http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz tar xzf sqlite-amalgamation-3.7.2.tar.gz cd sqlite-amalgamation-3.7.2 ./configure make sudo make install
Ruby on Rails
今回は既存のアプリの関係もある 2.3.8 をインストールしました。
sudo gem install rake sudo gem install -v 2.3.8 rails sudo gem install sqlite3-ruby
簡単なRailsアプリを作りscript/server で動作することを確認して下さい。
Passenger
sudo gem install passenger sudo passenger-install-apache2-module # 画面表示に注意しながら
/etc/httpd/conf/httpd.conf にmod_passengerを追加
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15 PassengerRuby /usr/local/bin/ruby
/etc/httpd/conf/httpd.conf などにテスト用Railsアプリの VirtualHost を追加
例 -- サーバーにはドメイン名(下の例ではtest.XXXX.com)が付いている必要があります
<VirtualHost *:80> ServerName test.XXXX.com DocumentRoot /home/rails_app/test/public <Directory /home/rails_app/test/public> AllowOverride all Options -MultiViews </Directory> </VirtualHost>
Apache をリスタート
sudo /sbin/service httpd restart
ブラウザーから http://test.XXXX.com をアクセスし動作確認。詳細は users guidを。
Git
Ruby on Rails 開発といえば git ^^) ということで git も入れました。
yum では git をインストルできないようなので、ソースからインストールしまいた
cd InstallWorks wget http://kernel.org/pub/software/scm/git/git-1.7.3.tar.bz2 tar xjf git-1.7.3.tar.bz2 cd git-1.7.3/ ./configure make make test # かなり時間がかかるので急ぎなら省略しても良いかも? sudo make install
適当なリポジトリーを clone して動作を確認
以上。
感想
- さくらVPS 早い(軽い)ですね。この状況が続くといいなぁ〜
- CentOS5.5 はRuby on Rails を動かすには色々なソフトが古い ^^);