はじめに
諸事情により、さくらのレンタルサーバーでsinatraを使おうとしたのですが、web上の同種の情報が大分古く、そのままでは動かなかったので、備忘も兼ねて記録します。シェルはbashを使います。
環境
| バージョン
--------------------------|---
ruby | 2.4.3
rbenv | 1.1.1
sinatra | 2.0.1
手順
-
準備。__rbenv__と__ruby-build__をダウンロードする。
$ mkdir local $ cd local $ mkdir bin $ git clone git://github.com/sstephenson/rbenv.git rbenv $ mkdir rbenv/plugins $ cd rbenv/plugins/ $ git clone git://github.com/sstephenson/ruby-build.git ruby-build $ cd ~
-
__.bashrc__に設定追加
export RBENV_ROOT=$HOME/local/rbenv export PATH=$HOME/local/bin:$RBENV_ROOT/bin:$PATH export TMPDIR=~/tmp eval "$(rbenv init -)"
-
__.bashrc__を反映する
$ source .bashrc
```
-
__ruby__と__sinatra__をインストール
$ rbenv install 2.4.3
$ rbenv rehash
$ rbenv global 2.4.3
$ gem install sinatra
```
-
__~/www__に、下記の__index.cgi__を作る
index.cgi#! /home/ユーザー名/local/rbenv/versions/2.4.3/bin/ruby APP_HOME='/home/ユーザー名/deploy/app' load "#{APP_HOME}/start.rb" set :run, false Rack::Handler::CGI.run Sinatra::Application
-
__index.cgi__に実行権限を付加する
$ chmod +x ~/www/index.cgi
-
__~/deploy/app__に、sinatra用のファイルを設置する
start.rbrequire 'sinatra' get '/?' do 'Hello World.' end
-
ブラウザで http://ユーザー名.sakura.ne.jp/index.cgi にアクセス。"Hello World."が表示されたら成功