りむっちスケッチ

ハニカムログ

FacebookIrcGatewayを使ってみよう(CentOS)

さくらVPS内にFIGをいれます。

準備物

  • rbenv
  • ruby-build
  • bundler
  • git
  • sqlite3
  • sqlite-devel
  • FIG本体

方針

  • /usr/local/
  • /usr/local/bin

にガンガンいれてく。

yumで入れれるものを先にいれとく

sudu yum -y install sqlite sqlite-devel git

権限廻りの設定

rbenvグループの作成

ユーザを所属

sudo /usr/sbin/goupadd rbenv
sudo /usr/sbin/usermod -G wheel,rbenv rimtty

rbenvインストゥール

rubyの環境をスイッチできるrbenvっていうコマンドを入れる。

cd /usr/local/
git clone git://github.com/satephenson/rbenv.git rbenv
mkdir rbenv/shims rbenv/versions
chmod -R g+rwxXs rbenv
git clone git://github.com/sstephenson/ruby-build.git ruby-build
./install.sh

rbenvのための環境変数設定

vi .bashrc

export RBENV_ROOT="/usr/local/rbenv"
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)

vi .zshrc

export RBENV_ROOT="/usr/local/rbenv"
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init - zsh)

suになったときもPATHが通るようにしておく

行末に PATH を追加しておく。

sudo /usr/sbin/visudo

 65 Defaults    env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
 66                         LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
 67                         LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
 68                         LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \
 69                         LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
 70                         _XKB_CHARSET XAUTHORITY PATH"
  • 再ログインしましょう

rbenv動作確認

rimtty[] % rbenv 
rbenv 0.4.0-22-gea3203d
Usage: rbenv <command> [<args>]

Some useful rbenv commands are:
   commands    List all available rbenv commands
   local       Set or show the local application-specific Ruby version
   global      Set or show the global Ruby version
   shell       Set or show the shell-specific Ruby version
   install     Install a Ruby version using the ruby-build plugin
   uninstall   Uninstall a specific Ruby version
   rehash      Rehash rbenv shims (run this after installing executables)
   version     Show the current Ruby version and its origin
   versions    List all Ruby versions available to rbenv
   which       Display the full path to an executable
   whence      List all Ruby versions that contain the given executable

See `rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/sstephenson/rbenv#readme

そっとFIGを入れ始めます。

cd /usr/local/bin/
git clone git://github.com/shunirr/FacebookIrcGateway.git FacebookIrcGateway
cd FacebookIrcGateway

ここのディレクトリだけRuby1.9系が使えるようにします。

rbenv install 1.9.3-p392
rbenv local 1.9.3-p392
rbenv rehash

bundlerのインストール

RubyパッケージとGemを一式ディレクトリごとパッキングしてくれるイケテルbundlerってコマンドを入れる。

gem update
gem install bundler --pre
rbenv rehash

bundlerをつかって良い感じにFIGをローカルにデップローイしておきます

cd /usr/local/bin/FacebookIrcGateway
rbenv exec bundle install --path vendor/bundler

これで /usr/local/bin/FacebookIrcGateway/vendor/bundler 配下に rbenv exec で実行できるFIGが準備できました。

FacebookApp登録をはじめます。

初期設定を行います。

bundle exec ruby setup.rb
Input your Application ID: (Press enter, if use default Application ID):   # defaultで良いのでEnterを押す
Input your Application Secret: # defaultで良いのでEnterを押す
--------------------
# ここにURLが表示されるのでブラウザでアクセスする。FaceBookアプリの許可画面がでるので許可すればOK
https://graph.facebook.com/oauth/authorize?    response_type=token&client_id=<hogehoge>&redirect_uri=https...........
--------------------

# 上記ブラウザでアクセスした際にページリダイレクトされ
#https://www.facebook.com/connect/login_success.html#access_token=<ほげほげ>
#
#
# Success
# SECURITY WARNING: Please treat the URL above as you would your password and do not share it with anyone.
# と表示されるので、その時にアドレスバーにはいっているURLをコピーする。次の質問に対してペーストしてEnter

Please access this URL, Allow this Application, and Paste the URL of the page you are redirected    to:
         https://www.facebook.com/connect/login_success.html#access_token=<ほげほげ>&expires_in=
Complete Setup!!

# Complete Setup!!が表示されればOK

FIGを起動する

cd /usr/local/bin/FacebookIrcGateway
nohup bundle exec ruby fig.rb 2>&1 &

おまけ

FIGを自分のFBアプリとして登録する

  • Facebook Developer登録しましょう

f:id:rimtty:20130319074806p:plain

  • create appして新しいアプリを登録します

f:id:rimtty:20130319074809p:plain

  • カプチャでます

f:id:rimtty:20130319074814p:plain

  • AppID/AppSecretをつかってFIGをsetupすればOKです

f:id:rimtty:20130319074818p:plain

簡単ですね!

りむっちはweechat->stone->tiarra->fig->FBとして繋いでます。 適度にがんばって!