mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Ruby on Rails を Apache2で動かす!

[ webサイト ] [ Apache, Rails, Ruby ]

こんばんは。

前回は、「CentOS」サーバに「Ruby on Rails」をインストールしました。 今回は「Apache2」で「Ruby on Rails」が動作するように設定しました。

作業記録

1.「Passenger」Gemsパッケージのインストール

「Ruby on Rails」で構築されたWebアプリケーションを運用するためのApacheモジュール「Passenger」のGemsパッケージをインストールする。

1
[root@hoge ~]# gem install passenger

2.「Passenger」Apacheモジュールのインストール

Apacheモジュール「Passenger」をインストールする。

1
2
[root@hoge ~]# yum -y install httpd-devel ← これがないとエラーとなる
[root@hoge ~]# passenger-install-apache2-module

※仮に何かが無いためにインストールに失敗する場合は、メッセージをよく見てみるとインストール方法が表示されているので、そのとおりにすればよい。

3.「Passenger」の設定

「Passenger」Apacheモジュールのインストールに成功すると、表示されているメッセージの途中に

1
2
3
4
5
6
7
8
9
10
11
 ・・・ 途中省略 ・・・

The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
   PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.15
   PassengerRuby /usr/local/bin/ruby

 ・・・ 途中省略 ・・・

と設定ファイルの書き方についての記述があるのでこのまま設定ファイルを作成する。

1
2
3
4
[root@hoge ~]# vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/ruby

4.「Rails」アプリ作成

1
2
3
[root@hoge ~]# mkdir /var/www/rails       ← Railsアプリを作成するディレクトリを作成
[root@hoge ~]# cd /var/www/rails          ← Railsアプリを作成するディレクトリに移動
[root@hoge ~]# rails new sample -d mysql  ← Railsアプリ「sample」を作成(データベースにMySQL指定)

※上記は一例です。適宜変更してください。

5.シンボリックリンク作成

今回はバーチャルホストを使用せず、ドキュメントルートの直下に「rails」というディレクトリでリンクするようにします。

1
[root@hoge ~]# ln -fns /var/www/rails/sample/public /var/www/html/rails

※上記の例はドキュメントルートが「/var/www/html」です。

6.「.htaccess」設定

1
2
3
4
5
[root@hoge ~]# cd /var/www/rails/sample/public
[root@hoge ~]# vi .htaccess
<del datetime="2011-07-10T07:58:06+00:00">RailsBaseURI /rails</del>  ← Rails3ではエラーになるので削除(2011/07/10追記)
RackBaseURI /rails  ← Rails3はこちら(2011/07/10追記)
RailsEnv development ← 本運用するときにはこの記述を削除(2011/07/10追記)

↓↓2011/07/10追記↓↓ Rails3で"RailsBaseURI"を使用すると、Apacheのエラーログに

1
(eval):1: warning: already initialized constant RAILS_ROOT

と出力されてしまう。 ↑↑2011/07/10追記↑↑

7.確認

これでとりあえずのRailsアプリができています。 Apacheを再起動して、ブラウザ(http://%EF%BC%9C%E3%82%B5%E3%83%BC%E3%83%90%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%EF%BC%9E/rails/%EF%BC%89%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%97%E3%81%A6%E3%80%8CWelcome aboard」のページが表示されればとりあえず成功。 あとは、自由にRailsアプリを構成していく。 (Rails標準のWebサーバ「WEBRick」での起動ではないので、ポート:3000の指定は不要) ※ここではRailsアプリの作り方まで説明しません。


作業は以上です。

※今回はここでRailsアプリを作成するように説明していますが、実際には別途作成したアプリを配置するという作業になるでしょう。

ではまた。

Comments