Home > Tags > Passenger

Passenger

CentOS 5.4(EC2)にApache+PassengerでRails環境作る

後々、また参照する気がするので記録しておく。この手の環境構築系のドキュメントってWikiかなんかにみんなで情報集めたらそこそこ便利そうな気がするのだけどどうだろう。

Ruby、RubyGemsのインストール

yumでRubyをインストールしようとすると、1.8.5が入ってしまうので仕方なくソースからインストール。

$ cd /usr/local/src
$ sudo wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz
$ sudo tar zxvf ruby-1.8.7-p249.tar.gz
$ cd ruby-1.8.7-p249
$ sudo ./configure
$ sudo make
$ sudo make install

$ cd /usr/local/src
$ sudo wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
$ sudo tar zxvf rubygems-1.3.6
$ cd rubygems-1.3.6
$ sudo ruby setup.rb

この時点で一応RubyGemsもインストール出来てはいるけれど、実際に使おうとするとエラーが発生する。どうやらzlibが入っていなかった模様。

$ sudo yum install zlib-devel
$ cd /usr/local/src/ruby-1.8.7-p249/ext/zlib
$ sudo extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
$ sudo make
$ sudo make install

MySQLのインストール

こっちはyumからサクッとインストール。

$ sudo yum install mysql mysql-server mysql-devel
$ sudo /etc/initd.mysqld start

my.cnfの設定は/usr/share/mysql/以下からコピーしてきたりとか適当に。ユーザの設定とかも適当に。

Apache+Passenger

まずはApacheをサクッとインストール。

$ sudo yum install httpd-devel

そしてPassengerのインストール。

$ sudo gem install passenger
$ sudo passenger-install-apache2-module

ここでまたしてもエラー。どうやらOpenSSLが入っていないとかなんとか。

$ sudo yum install openssl-devel
$ cd /usr/local/src/ruby-1.8.7-p249/ext/openssl
$ sudo ruby extconf.rb
$ sudo make
$ sudo make install

これで無事Passengerがインストール出来る。

$ sudo passenger-install-apache2-module

最低限のPassengerの設定。この設定の内容はpassenger-install-apache2-moduleを実行した時に表示されているので確認しておくこと。

$ sudo vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerRuby /usr/local/bin/ruby

あとはhttpd.confのDocumentRootをRailsのpublicディレクトリにすればOK。

$ sudo vi /etc/httpd/conf/httpd.conf
DocumentRoot /path/to/rails/public

本当に最低限だけどとりあえずこれでPassengerでRailsを動かすことが出来るはず。ApacheやMySQLの自動起動はchkconfigを設定すればよい。Passengerの細かい設定はPassenger users guidを参考に。

Gentoo+Passenger+rvm

rvmのインストール

rvmのインストールはgithubからやった。(rvm: Ruby Version Manager – Ways to install rvm.)

使うバージョンは、1.8.7。

rvm install 1.8.7
rvm 1.8.7 --default

Passengerのインストール

Gentooだと、Passengerはmaskされてるっぽいので/etc/portage/package.keywordsにwww-apache/passenger追加して、emerge passengerする。

Apacheの設定

/etc/conf.d/apacheに”-D PASSENGER”追加。

/etc/apache/vhosts.d/にvirtualhost追加。

<VirtualHost *:80>
  ServerName hoge.example.jp
  DocumentRoot /path/rails/public
  RailsBaseURI /
  <Directory /path/rails/public>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

/etc/apache2/modules.d/30_mod_passenger.confを修正。

PassengerRuby /home/ukstudio/.rvm/bin/ruby-1.8.7-p249
PassengerRoot /home/ukstudio/.rvm/gems/ruby-1.8.7-p249/gems/passenger-2.2.9/

あとはapacheを再起動すればOK。

なんか、rvmに–passengerオプションがあるのでそれを使うよう設定すれば、気軽にPassengerで使うrubyを返られる気がしなくもない。そこらへんはそのうちやる。

Home > Tags > Passenger

Feeds
Meta
Others

Return to page top