はじめに
諸事情により、さくらのレンタルサーバーで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."が表示されたら成功