ApacheでRubyを起動したい

ApacheでRubyを起動したい

PHPの様にApacheでRubyファイルを実行できたらと思い、動作確認を行ってみました。

Railsは使用していません、疎通確認のみです。

行った環境

実際の手順

apacheとRubyに関してはすでに環境構築済みとなっていることを前提で話します。

1). apacheのhttpdファイル C:\Apache24\conf\httpd.conf にあるhttpd.confファイルをテキストエディタで開きます。

2). 大体380行目らへんにある

<Directory "c:/Apache24/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
</Directory>

をコメントアウトして

<Directory "c:/Apache24/htdocs">
        AllowOverride All
        Options +ExecCGI
        Order allow,deny
        Allow from all
        Require all granted
</Directory>

を追加します。

3). 大体430行目らへんにある

#AddHandler cgi-script .cgi

がコメントアウトされているためこの下に

AddHandler cgi-script .cgi .rb

を追加する。

ここまでの設定で拡張子rbのファイルをcgiとして処理できるようになる。

4). rbファイルの配置

ファイルは C:\Apache24\htdocs の配下に置く

ファイルは

#!C:/Ruby25-x64/bin/ruby.exe

#rubyのexeファイルを実行時に指定すること

puts "Content-type: text/html\n\n"; #\n\nを加えないとエラーになってしまう(ログを見て確認)

puts "<html><head></head><body>Hello</body></html>"

のような感じで作成する。

この時先頭にRubyの実行環境についてしていすることとContent-typeを設定することを忘れずに!

5). 動作確認

最後にサーバーを立ち上げて http://localhost/ファイル名.rb にアクセスし正常にHelloが出力されることを確認出来たら成功!!