Passenger+SinatraでHello, world!
VirtualBoxにインストールしたCentOSの環境を使って、
passengerでSinatraを動かして「Hello, world!」を表示させてみる。
[参考にしたサイト]
http://qiita.com/masa2sei@github/items/76a138ab05fa561dbd4b
http://morizyun.github.io/blog/passenger-install-apache-ruby-rails/
RubyとSinatraのインストール
前回と同様に、RubyとSinatraをインストールしておく。
$ sudo yum -y install ruby rubygems
$ sudo gem install sinatra
Apacheのインストール
Apacheをインストールし、OS起動後に自動で起動するようにする。
$ sudo yum -y install httpd
$ sudo chkconfig httpd on
Passengerのインストール
まずは、Passengerに必要なものをインストールする。
$ sudo yum -y install gcc gcc-c++ curl-devel openssl-devel zlib-devel httpd-devel ruby-devel
Passengerをインストールする。
$ sudo gem install passenger $ sudo passenger-install-apache2-module
インストールが終わると、最後に下記のような文が表示されるているので、
(環境によって下記の内容は異なります)
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.27/buildout/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.27 PassengerDefaultRuby /usr/bin/ruby
どこかにメモっておいて、passenger.confを作成し貼り付ける。
$ sudo vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.27/buildout/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.27
PassengerDefaultRuby /usr/bin/ruby
【補足】 メモするのを忘れた場合は、 $ sudo passenger-install-apache2-module --snippet で確認できます。
Sinatraのプログラムの作成
今回は、/var/www/sinatraに作成してみる。
ディレクトリを作り、所有者をログインユーザーに変更する。
$ sudo mkdir /var/www/sinatra
$ sudo chown ユーザー名 /var/www/sinatra
必要なディレクトリやファイルを作成する。
$ cd /var/wwww/sinatra $ mkdir public $ mkdir tmp
$ vi config.ru
require './hello.rb' run Sinatra::Application
$ vi hello.rb
require 'sinatra' get '/' do 'Hello, world!' end
VirtualHostの設定
VirtualHostを有効にする。
$ sudo vi /etc/http/conf/httpd.conf
NameVirtualHost: *:80 ←コメントを解除する
passenger.confにVirtualHostを設定を追加する。
$ sudo vi /etc/httpd/conf.d/passenger.conf
<VirtualHost *:80> ServerName www.yourhost.com DocumentRoot "/var/www/sinatra/public" </VirtualHost>