I'll be fine

技術ブログ

Linux Mintでapache2のバーチャルホストでruby on railsを動かす

Ubuntuの方も変わらないと思うので参考にどうぞ

rubyのバージョンはrbenvで管理しているものを対象に書いていきます。
普通にpassengerとかを入れて実行すると、
can not load -- bundlerとエラーが出て詰んでました。。。


  • rbenvのインストール

apt-getでいけるようですがうまく行かなかったのでcloneしました。

$ cd
$ rvm implove
$ git clone git://github.com/sstephenson/rbenv.git .rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/dotfiles/.zshrc
$ echo 'eval "$(rbenv init -)"' >> ~/dotfiles/.zshrc


  • ruby-buildのインストール
$ git clone git://github.com/sstephenson/ruby-build.git
$ cd ruby-build
$ sudo ./install.sh


  • rubyのインストール
$ rbenv install 1.9.3-p194
$ rbenv rehash
$ rbenv global 1.9.3-p194
$ exec $SHELL
$ zsh
$ ruby -v


  • .gemrcの作成
$ cd
$ vi .gemrc

内容
install: --no-ri --no-rdoc
update: --no-ri --no-rdoc


  • Ruby on Ralisのインストール
$ gem install rails

railsの動作確認は省略します。下の参考サイトで紹介されていますの参照して下さい。


  • passengerとapache2のインストール
$ gem install passenger
$ .rbenv/versions/1.9.3-p194/bin/passenger-install-apache2-module

Installation instructions for required softwareで、
必要なソフトウェアとインストール方法を教えてくれるのでインストールします。
例)$ sudo apt-get install libcurl4-openssl-dev

$ .rbenv/versions/1.9.3-p194/bin/passenger-install-apache2-module

成功したら

LoadModule passenger_module /home/ユーザ名/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/passenger-3.0.15/ext/apache2/mod_passenger.so
   PassengerRoot /home/ユーザ名/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/passenger-3.0.15
   PassengerRuby /home/ユーザ名/.rbenv/versions/1.9.3-p194/bin/ruby

と似た表示がされている部分と

<VirtualHost *:80>
   ServerName www.yourhost.com
   DocumentRoot /somewhere/public
   <Directory /somewhere/public>
      AllowOverride all
      Options -MultiViews
   </Directory>
</VirtualHost>

と表示されている部分をメモします。


$ sudo a2enmod rewrite
$ sudo vi /etc/apache2/mods-available/passenger.load

内容は先程コピーした

LoadModule passenger_module /home/ユーザ名/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/passenger-3.0.15/ext/apache2/mod_passenger.so
   PassengerRoot /home/ユーザ名/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/passenger-3.0.15
   PassengerRuby /home/ユーザ名/.rbenv/versions/1.9.3-p194/bin/ruby

をペーストして保存

$ sudo a2enmod passenger

$ sudo vi /etc/apache2/sites-available/rails

内容は先程コピーした

<VirtualHost *:80>
   ServerName www.yourhost.com  #サーバ名
   DocumentRoot /somewhere/public #railsプロジェクトのpublicへのパス
   <Directory /somewhere/public> #railsプロジェクトのpublicへのパス
      AllowOverride all
      Options -MultiViews
   </Directory>
</VirtualHost>

をペーストして編集、保存

$ sudo a2ensite rails
$ sudo vi /etc/

127.0.0.1 www.yourhost.com #サーバ名
を追記

$ sudo /etc/init.d/apache2 restart

これでいけるはず!http://www.yourhost.com(自分のサーバ名) にアクセスしてみて下さい。


  • 参考サイト

http://www.oiax.jp/rails/zakkan/rails_3_2_installation_on_ubuntu.html
http://yasu1973fc2.blog99.fc2.com/blog-entry-34.html