CentOSにPassenger/Ruby2.0/Rails4.0をインストールしてみる(rbenv版)
VirtualBoxにインストールしたCentOSの環境に
rbenvでRubyの2.0をインストールして、あとPassengerとRails4.0をインストールしてみる。
rbenvのインストール
rbenvのインストールにはgitが必要なので、gitをインストールしておく。
$ sudo yum -y install git
rbenvをインストールする。
手順はrbenvに書かれているとおり。
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ source ~/.bash_profile
ruby-buildをインストールする。
こちらも手順はruby-buildに書かれているとおり。
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ cd ~/.rbenv/plugins/ruby-build
$ sudo ./install.sh
Ruby2.0のインストール
次に、Ruby2.0をインストールする。
まずは、Rubyのインストールに必要なパッケージをインストールする。
$ sudo yum -y install gcc gcc-c++ make openssl-devel zlib-devel readline-devel
rbenvでインストール可能なRubyのバージョンを確認し、(現時点では2.0.0-p353)
$ rbenv install --list
Ruby2.0をインストールする。
$ rbenv install 2.0.0-p353 $ rbenv rehash $ rbenv global 2.0.0-p353
Passengerのインストール
Pasengerをインストールする前に、Apacheをインストールしておく。
サーバー起動時に自動起動する設定もしておく。
$ sudo yum -y install httpd
$ sudo chkconfig httpd on
Passengerに必要なパッケージをインストールする。
$ sudo yum -y install curl-devel httpd-devel
Passengerをインストールする。
$ gem install --no-ri --no-rdoc passenger $ rbenv rehash $ passenger-install-apache2-module
最後の方に表示される文をpassenger.confに貼り付ける。
$ sudo vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /home/dev/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/passenger-4.0.29/buildout/apache2/mod_passenger.so
PassengerRoot /home/dev/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/passenger-4.0.29
PassengerDefaultRuby /home/dev/.rbenv/versions/2.0.0-p353/bin/ruby
Railsなどのインストール
必要なパッケージをインストールし、
$ sudo yum -y install sqlite-devel
Railsなどをインストールする。
$ gem install --no-ri --no-rdoc rails $ gem install --no-ri --no-rdoc sqlite3 $ rbenv rehash
Railsアプリケーションの作成
Railsのアプリケーションを作成する。
今回はホームディレクトリに作成する。
$ cd
$ rails new sample
Gemfileを開いてgem 'therubyracer'の部分のコメントアウトを解除する。
そうしないと、なぜか「Could not find a JavaScript runtime.」のエラーになる。
$ cd sample $ vi Gemfile gem 'therubyracer', platforms: :ruby ←コメントを外す $ bundle install
httpdの設定
バーチャルホストの設定をする。
Passengerはデフォルトでproductionのため、このままだとなぜかエラーになる。
そのためRailsEnv developmentを指定しておく。
$ sudo vi /etc/httpd/conf/httpd.conf
NameVirtualHost: *:80 ←コメントを外す
$ sudo vi /etc/httpd/conf.d/vhost.conf <VirtualHost *:80> ServerName www.yourhost.com # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /home/ユーザー名/sample/public RailsEnv development <Directory /home/ユーザー名/sample/public> # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews </Directory> </VirtualHost>
apacheユーザーが作成したsampleにアクセスできるようにする。
(こういう設定してセキュリティ的に大丈夫なのかよく分からないが)
$ chmod 750 /home/ユーザー名 $ sudo usermod -G ユーザーのグループ名 apache
httpdを起動する。
$ sudo service httpd start
以上で、下記のURLにアクセスすると、Railsのページが表示される。
http://サーバーのアドレス/