CentOS7でsinatraのインストール方法-さくらのVPS

さくらのVPSを借りてCentOS7をインストールした状態でRubyの環境構築が終わっている事が前提となります。CentOSにRubyをインストールする-さくらのVPSなどを参考に先にRubyをインストールしておいてください。

目的

Sinatraに限らずサンプルコードややり方を配布しているサイトの多くは開発環境にいれlocalhost:ポート番号で閲覧できるという状態で終わっています。例えば今回Sinatraを勉強するさいに参考にさせていただいたぽんこつ姉妹のRuby女子会 〜基礎からWebはじめました〜はMacにRubyをインストールしていて最後へログへ公開していますが画像等ではlocalhost:4567とポート番号がでています。logwでは80番ポートで公開できるようにしていきたいと思います。

Sinatraとは

Ruby製のフレームワークです。人気なのがRailsですがこれは上級者向けで初級者向けがSinatraだと思ってください。

Apacheバーチャルホストの設定

vi /etc/httpd/conf.d/sample.conf
<VirtualHost *:80>
  # ドメイン
  ServerName sample.logw.jp
  # sinatraアプリのルート
  DocumentRoot /home/logw/sinatra/public
  #RackEnv production

<Directory "/home/logw/sinatra/public">
Options FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>

このようにします。
※ドメインは実際にはありません。

注意点としては、Apacheの2.4系から少し書き方が変わりました。また、sinatraのドキュメントルートは必ずpublicにしないといけません。
※今回のサンプルではpublicには何もファイルはいれませんが必要みたいです。

Apacheの設定が終わったら今度はSinatraのインストールをします。

Sinatraのインストール

gem install sinatra
gem install sinatra-reloader

gemはRubyが入っていないと使えません。sinatra-reloaderとはブラウザの更新を押したら反映されるようにするものです。sinatraだけの場合はファイルを変更したらApacheを再起動しないと反映されないためこれをいれます。

問題なければこれでインストールされます。次回は実際にsinatraを使ってファイルをドメイン名で公開してみたいと思います。