この方法は推奨されません: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
</IfModule>
[/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
</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
[/c]

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

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

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

[ruby]
puts 'Hello, world!'
[/ruby]

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

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

個人支援・寄付について

サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。

  • ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS