この方法は推奨されません:ApacheでRubyを動かす方法-CentOS7

ApacheでRubyをインストールしました。今度はフレームワークであるsinatraやRailsをブラウザで見られるようにしたいと思います。このやり方をしてもsinatraは動きません。

passengerをインストール

まずはpassengerをインストールします。 [c]

gem install passenger

[/c] Rubyがインストールされていればgemはインストールすることができます。Rubyのインストールについてはこちらをご覧下さい。

Apacheのモジュールをビルド

[c]

passenger-install-apache2-module

[/c] このあと基本的に全てエンターだけ押していてください。最後にテキストが表示されるのでそれをメモ帳などにコピーしてください。 [c] LoadModule passenger_module /root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25 PassengerDefaultRuby /root/.rbenv/versions/2.3.0/bin/ruby [/c] テキストはこんな感じででてきます。 後でテキストだけ見たい場合は [c]

passenger-install-apache2-module --snippet

[/c] でみることができます。

passenger.confの設定

[c]

vi /etc/httpd/conf.d/passenger.conf

[/c] にて変更します [c]

Passenger base config

LoadModule passenger_module /root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25 PassengerDefaultRuby /root/.rbenv/versions/2.3.0/bin/ruby

Delete Passenger's HTTP Header

Header always unset "X-Powered-By" Header always unset "X-Rack-Cache" Header always unset "X-Content-Digest" Header always unset "X-Runtime"

Passenger tuning config

PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 3600 PassengerHighPerformance on PassengerStatThrottleRate 10 RailsSpawnMethod smart RailsAppSpawnerIdleTime 86400 PassengerMaxPreloaderIdleTime 0 [/c] これでApacheの再起動をすれば良いみたいです。

サンプルプログラムを書いてみる

main.rbとファイル名をします [ruby] puts 'Hello, world!' [/ruby] 後はruby main.rbといれれて返事が返ってくれば完璧です。 フレームワークをいれてどうやってブラウザで見れば良いんだろう・・・やり方がわかりません!