さくら共有サーバーでtwitterを扱うメモ

結構手間取った。他のレンタルサーバーでも同じような感じかも。


まずはrubyのインストール……の前にrbenvのインストール。

参考: Ruby + RailsをレンタルサーバーにインストールAICS | AICS
gitのインストールはもともと入っているので省略。

% git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

そんでもってrubyをインストールしてくれるプラグインをぶちこむ

% mkdir ~/.rbenv/plugins
% git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

bashの設定をいじってあげて

% echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc 
% echo 'eval "$(rbenv init -)"' >> ~/.bashrc

bashに入ってインストール

% bash
$ source ~/.bashrc

あとはバージョンを確認すればよろし

$ rbenv --version
rbenv 0.4.0-143-g4d72eef

これでrbenvの準備終了


次、rubyのインストール。

インストールできるものはrbenv install -list で確認できる。あとはrbenv install 2.2.1 のようにインストールを実行するだけ。

ところがどっこい2.2.1はインストールしようとするとエラーが出ちゃったので、仕方なく2.1.5をインストール。結構インストールには時間かかった。

最後にローカルのrubyのバージョンを変えてあげる。

$ rbenv versions
* system (set by /home/username/.rbenv/version)
  2.1.5

これでインストールされているrubyのバージョンがわかる。あとは

$ rbenv local 2.1.5

としてローカルのrubyの設定終了。


次にgem install twitter をしたいのだが、これをやるといきなり証明書エラー。証明書の場所は/etc/ssl/cert.pem になっていたので、これでは証明書を書き換えることもできず。というわけで、SSLを使わないgemの配布元を使う。

gem source --add http://rubygems.org

セキュアじゃないけど大丈夫?って聞かれるけど、yで返しておしまい。

さて、これで晴れてgemを入れられる。もし入れられなかったらsetenv RB_USER_INSTALL true とか実行してみるのもいいかも。


さて、やっとこさ準備が整ったので実行確認。ソースは以下のとおり。

require 'twitter'

client = Twitter::REST::Client.new do |config|
  config.consumer_key = "hoge"
  config.consumer_secret = "piyo"
  config.access_token = "fuga"
  config.access_token_secret = "hogera"
end

client.update("Test from ruby")

ConsumerKeyとかConsumerSecretとかは自分で取得したものに置き換える。

これでうまくいくかとおもいきや、またもや証明書のエラー。しかたがないので証明書の確認を無視するように

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

の行を2行目あたりに追加する。

やっとこさ動いた。


めんどくちゃいけど、全体の流れはこんな感じ。

サーバー上でtwitterを扱えるようになったので、あとはローカルでモリモリコードを書いて、サーバーに投げるだけで済むはずだ。

 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です