本を読む

読書やコンピュータなどに関するメモ

「さくらのVPS」にPassengerをインストール

 ひょんなことから、「さくらのVPS」のレビュー記事を、INTERNET Watchに執筆しました。

 えらく楽しい(なにより速い!)サービスで、ノリノリで書きました。文章がノリノリに見えなければ、悪いのは文章力ということで。

 記事中、共用サーバーではできないネタとして、Passengerをインストールする話を例として入れました。まぁFastCGIでもmod_proxyでもTomcatでもよかったんですが、「ApacheにRailsを入れる」の一言で説明が済みそうだったので。

 ついでなので、その手順をメモ。まぁようするに、よくある、CentOSでPassengerを動かす手順です。

Rubyをインストール

 CentOS 5.xのRubyはRuby 1.8.5なので、さすがにRailsを動かすには古かろうと、ソースからビルド。ついでなので1.9.2で。

$ sudo yum install openssl-devel zlib-devel readline-devel
$ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.bz2
$ tar xf ruby-1.9.2-p0.tar.bz2
$ cd ruby-1.9.2-p0
$ optflags='-O3 -pipe' ./configure --prefix=/opt/ruby
$ make -j2
$ make test
$ sudo make install
$ PATH=$PATH:/opt/ruby/bin

Railsをインストール

 ついでなのでRails 3.0など。

 sqlite3-rubyは、最新の1.3系をインストールしようとするとCentOSのsqliteが古いと言われるので1.2.5を指定。それでいいのかとか、PassengerでSQLiteかよとか、突っ込みどころはありますが、まぁサンプルなので。

$ sudo make install sqlite-devel
$ sudo gem install sqlite3-ruby --version 1.2.5
$ sudo gem install rails

Railsアプリを作る

 「WEB+DB Press」の記事の最初のままというか、scaffoldするだけのアプリを作成。まずはWEBRickで正常に動作することを確認。iptablesでポートを閉じているなら、サーバー上のw3mなり、sshトンネリング経由なりでチェック。

$ rails new blog_app
$ cd blog_app
$ rails generate scaffold post title:string body:text
$ rake db:migrate
$ rails server

 動いてるっぽければproduction環境のrake db:migrate。

$ rake db:migrate RAILS_ENV=production

Passengerをインストール

 というわけでPassengerをインストール

$ sudo yum install httpd-devel apr-devel
$ sudo gem install passenger
$ sudo passenger-install-apache2-module

 passenger-install-apache2-moduleの途中で表示された設定例を元に、/etc/httpd/conf.d/passenger.confとか作ってコピー。いっぽう、さきほどのRailsアプリは/var/www/railsとかそのへんにコピー(ホームディレクトリのパーミッションを開けるのもナンなので)。

$ sudo mkdir /var/www/rails
$ sudo cd blog_app /var/www/rails
$ sudo chmod -R apache:apache /var/local/rails

 で、Apacheを起動。

$ sudo /sbin/service httpd start

 めでたしめでたし。

 で、これを書いて気付いたんですが、広い意味ではVPSじゃなくてherokuでもできるネタだったかなと。まぁいいや。

変更2010.09.08:/var/local/rails→/var/www/rails。いやなんとなく。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/807-bdc24627

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad