Sinatraとは
SinatraRubyのウェブアプリケーションフレームワークです。高度なウェブアプリはRailsで簡単なウェブサイトならSinatraという使いわけがされているようです。Sinatraはgemでインストールしていきます。
gemとは
gemはRubyのパッケージ管理システムのことです。gemを容易に管理でき、gemを配布するサーバの機能も持っています。
今回はUbuntu18.10にSinatraを導入していきたいと思います
Sinatraを使うために必要なもの
パッケージ
UbuntuでSinatraをひととおり扱えるようにするにはおおまかに以下のパッケージが必要です
- ruby
- sqlite3
- RubyGems
まずひととおりのバージョン確認をパッケージがインストールされているかどうかを確認します。
$ ruby -v ruby 2.5.1 $ gem -v 2.7.6 $ sqlite3 --version 3.24.0
Ubuntu18.10にははじめからRubyが導入されています。RubyGemsにかんしては、はじめは導入されていないかもしれません。筆者の環境ではRailsを導入したのでそのときにRubyGemsも一緒にインストールしたかもしれません。RubyGemsがインストールされていなければインストールします。sqlite3も入っていなければインストールします
Sinatraを使うために必要なgem
Ubuntuのパッケージだけではなく必要なgemのインストールも行う必要があります。おおまかに必要なgemは以下のものです。
- sinatra
- sqlite3 → パッケージじゃなくてgemのsqlite3
- active record
必要なgemをインストールしていきます。一気にインストールしていってもよいのですがひとつひとつやっていくことにしました。
$ sudo gem install sinatra #sinatraをインストールする(結構時間かかります) $ sudo gem install sinatra-contrib #sinatraの便利が命令が使えるようになるのでインストールする $ sudo gem install sqlite3 #gemのsqlite3をインストールする $ sudo gem install active record #rubyからsqlite3を扱うためにactive recordをインストールする
すべてインストールしたら数分かかりましたがインストールできました。必要なgemがインストールできたら確認しておくとよいでしょう。gem listというコマンドを使うとインストールされちるgemが確認できます
$ gem list #インストールされているgemの一覧を表示する
Sinatraを使ってみる
さきほどインストールした環境でいろいろなことができるようになっているとは思いますが、今回はSinatraでhello worldを表示させるまでをやっていきたいと思います。Sinatraを使うといっても必要なファイルを作成して指定のアドレスにアクセスするだけです。
hello.rbの作成
Sinatraの書き方まではふれませんがルートにアクセスできるように書いていきます。’/’←こちらがルートの意味になっています。
require 'sinatra' get '/' do "hello world" end
指定のアドレスにアクセスする
rubyでhello.rbを指定し -oオプションにUbuntuのipアドレスを指定します。(コマンドで行います)
ruby hello.rb -o ipアドレス
するとウェブサーバーが立ち上がるので 「ipアドレス/」でブラウザにアクセスしてみます。↓
若干雑でしたが無事にアクセスできたようです。
まとめ
簡単ではありましたがUbuntuでSinatraを使えるようにしてみました。SinatraはUbuntuのパッケージではなくてgemで管理されているパッケージなのでgem installコマンドを使ってインストールするようにします。hello worldを表示するだけなら、sinatra以外のgemは必要なかったかもしれませんが、今後使うようになるかもしれないのでインストールしておくとよいでしょう。
コメント