2014年06月29日

macでRailsをapache上で動かす

blogramランキング参加中!

Ruby on Rails 4 アプリケーションプログラミング

新品価格
¥3,780から
(2014/6/29 20:14時点)



webrickならチョロゲーなんだけど
apache上でrails動かすのでドハマリして1日かかった。

そんなわけで備忘録
やり方

・マスタカの環境
mac 10.9.3
ruby 2.0.0p481
rails-4.0.3


・apache上でrails動かすには
passengerを入れる必要がある
gem install passenger


・passengerでapacheモジュールを入れる
sudo passenger-install-apache2-module
その後、選択肢が出るのでrailsを選ぶ


・httpd.conf
passengerのコンソールに出ていた通りに記載する
LoadModule passenger_module /opt/local/lib/ruby2.0/gems/2.0.0/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /opt/local/lib/ruby2.0/gems/2.0.0/gems/passenger-4.0.45
PassengerDefaultRuby /opt/local/bin/ruby2.0
</IfModule>


・バーチャルホスト
/etc/apache2/users/hogehoge.confに記載
基本コピペだけど、ちょっと変えてる

Listen 8080
<irtualHost *:80>
RailsEnv development
DocumentRoot /rubyのパス/public
<Directory /railsのパス/public>
AllowOverride all
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


・RailsEnvがエラー
sudo apachectl configtest

Invalid command 'RailsEnv', perhaps misspelled or defined by a module not included in the server configuration

(´・ェ・)なんかpassengerおかしくね


・試しに、RailsEnvをコメントアウトすると
Forbidden
You don't have permission to access / on this server.

/private/var/log/apache2/error_logには以下のエラーでる
Directory index forbidden by Options directive: /railsのパス/public/


・試しにpublicフォルダにindex.htmlおいてみた
あら不思議表示できるじゃないですか
railsとして認識してないようです


・解決策
passengerのライブラリの読み込みがおかしいので調べたら
LoadModule passenger_module等の記載は
以下に記載するのが正しいとのこと
/etc/apache2/other/passenger.conf
その後、apache再起動しましょう
sudo apachectl restart


これでrailsがapache上で動くところまで来ました。
macのパス全然分からないので、もうちょっと頭まわさないといけないな。。。
さて、vpsの契約始めるかな・・・・。
後はdeployだけか。
タグ:Mac ruby Rails Apache
posted by マスタカ at 20:16 | Comment(0) | TrackBack(0) | プログラミング | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック