Ubuntu18.10にSinatraを導入して一通り使えるようにするまで

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アドレス/」でブラウザにアクセスしてみます。↓

View post on imgur.com

若干雑でしたが無事にアクセスできたようです。

まとめ

簡単ではありましたがUbuntuでSinatraを使えるようにしてみました。SinatraはUbuntuのパッケージではなくてgemで管理されているパッケージなのでgem installコマンドを使ってインストールするようにします。hello worldを表示するだけなら、sinatra以外のgemは必要なかったかもしれませんが、今後使うようになるかもしれないのでインストールしておくとよいでしょう。