#author("2017-02-24T16:28:27+09:00","default:wikiwriter","wikiwriter")
&tag(Passenger);
*目次 [#ge427d27]
#contents
*関連ページ [#webb2a28]
*参考情報 [#nc009d31]
-[[Apache Passengerの設定項目について調べた - HK's Weblog:http://hakutoitoi.hatenablog.com/entry/2014/03/10/191942]]

*基本情報 [#t74bab36]
-RailsをApache2やNginxで動かすためのモジュール。

*準備 [#h8c54a5d]

**CentOS 7の場合 [#s9d10014]
-事前に以下のものをインストールしておく。
 sudo yum -y install git sqlite sqlite-devel httpd-devel curl-devel apr-devel apr-util-devel libffi-devel openssh

*インストール [#vb1e82ee]
-passengerのgemをインストール
 gem install passenger
-Apache用のモジュールをインストール
 passenger-install-apache2-module 

*Tips [#p6ce546b]

**サブディレクトリで運用する [#g6744ac3]
-RailsBaseURIをDirectoryの前に書く必要あり?
#pre{{

RailsBaseURI /foo
<Directory /home/www/foo/public>
  allowoverride all
  options -multiviews
</Directory>

RailsBaseURI /bar
<Directory /home/www/bar/public>
  allowoverride all
  options -multiviews
</Directory>

}}
-ドキュメントルート(例えば/var/www)以下にシンボリックリンクを貼る。
 cd /var/www/html 
 ln -s /home/www/foo/public foo

***サブディレクトリで運用したときにアイコンフォントが表示されない問題 [#pf6ac804]
-[[twitter-bootstrap-railsを使ったRailsアプリをサブディレクトリ運用のPassengerにデプロイしたらAsset Pipelineでハマった - 仙台 Ruby Vim JavaScript フリーランスプログラマ:http://katahirado.hatenablog.com/entry/20120806/1344235929]]
-[[Bootstrapのアイコンが表示されない場合【Rails】 | Kntmrkm.new():http://kntmrkm.ap01.aws.af.cm/ict/rails/bootstrap%E3%81%AE%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%80%90rails%E3%80%91/]]
**複数バージョンを使い分ける [#t7a0aa5e]
-[[プロキシを使わずにRuby-1.9/2.1混在環境も作れる、Apache2+Passenger4+rbenvを用いた混在環境の作り方 - Y-Ken Studio:http://y-ken.hatenablog.com/entry/how-to-use-multiple-ruby-version-in-one-apache-passenger]]
-[[passengerを複数のrubyのバージョンで動かす - kame's engineer note:http://kameryo.hatenablog.com/entry/2015/02/03/100000]]
-疑問点: VirtualHostの設定ごとにPassengerRubyでRubyのインスタンスを指定すれば良いらしのだが、それぞれのごとにpassengerをインストールする必要があるのか?
-assetsのプリコンパイルで解決できる?(うまくいかず)
 bundle exec rake assets:precompile RAILS_ENV=production RAILS_RELATIVE_URL_ROOT=/hoge

***とりあえずのまとめ [#h31e1817]
-rbenvのどれかのバージョンで以下のコマンドを実行
 $ gem install passenger
 $ passenger-install-apache2-module
-httpd.confに、passenger-install-apache2-moduleの最後に表示された文字列をコピペする。
#pre{{
LoadModule passenger_module /Users/sora/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/passenger-4.\
0.59/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
    PassengerRoot /Users/sora/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/passenger-4.0.59
    PassengerDefaultRuby /Users/sora/.rbenv/versions/2.2.1/bin/ruby
</IfModule>
}}
-VirtualHostごとにPassengerRubyでRubyのバージョンを指定する。
#pre{{
<VirtualHost *>
    PassengerRuby /Users/sora/.rbenv/versions/2.2.3/bin/ruby
    ServerName is.home.jp
    ServerAdmin webmaster@is.home.jp
    DocumentRoot /Users/sora/work/idea-stocker/public
    <Directory "/Users/sora/work/idea-stocker/public">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog logs/is_error.log
    LogLevel warn
    CustomLog logs/is_acces.log combined
</VirtualHost>

<VirtualHost *>
    PassengerRuby /Users/sora/.rbenv/versions/2.2.2/bin/ruby
    ServerName milk.home.jp
    ServerAdmin webmaster@is.home.jp
    DocumentRoot /opt/home/milkode/public
    PassengerHighPerformance on
    SetEnv MILKODE_DEFAULT_DIR /opt/home/milkode/data
    <Directory "/opt/home/milkode/public">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog logs/milk_error.log
    LogLevel warn
    CustomLog logs/milk_acces.log combined
</VirtualHost>

}}

*トラブルシューティング [#o51552dc]
**rails s: Could not find rake-10.4.2 in any of the sources [#l4510a4a]
-複数バージョンのRubyをRailsアプリごとに設定しているのが原因。
-どれかでうまくアプリが起動してないと、正常にいくほうのはずでもエラーになる模様。

**OS X El Capitan+Xcode 7.3でクラッシュ [#d0fa6e46]
-[[Passenger compiled with Xcode 7.3.0 crashes (BackgroundIOCapturer::capture() + 180 in trace) · Issue #1780 · phusion/passenger · GitHub:https://github.com/phusion/passenger/issues/1780]]によると、Xcode 7.3.1で修正されたとあるがだめ。
-Xcode 8にバージョンアップするところ動くようになった?

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS