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

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

passengerをインストール

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

# gem install passenger

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

Apacheのモジュールをビルド

# passenger-install-apache2-module

このあと基本的に全てエンターだけ押していてください。最後にテキストが表示されるのでそれをメモ帳などにコピーしてください。

 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
   </IfModule>

テキストはこんな感じででてきます。

後でテキストだけ見たい場合は

# passenger-install-apache2-module --snippet

でみることができます。

passenger.confの設定

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

にて変更します

# 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
   </IfModule>

# 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

これでApacheの再起動をすれば良いみたいです。

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

main.rbとファイル名をします

puts 'Hello, world!'

後はruby main.rbといれれて返事が返ってくれば完璧です。

フレームワークをいれてどうやってブラウザで見れば良いんだろう・・・やり方がわかりません!

個人支援・寄付について

サイトラボではBuildreeの開発などのため、現在個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS