Pages

September 18, 2012

mono+TwitterIrcGateway+znc環境の構築

TwitterIrcGatewayをCentOS6環境で使うための備忘録



1. まずWindowsでTIGのバイナリを作成する。

$ svn co http://svn.misuzilla.org/etcetera/TwitterIrcGateway/trunk/ tig
TwitterIrcGateway.slnを開いて、"ISO-"という文字を検索して、一致する文字列をすべて"UTF-8"に書き換え。 #これをしないとmono環境ではうまく起動できなかった。

それをリリースなりでビルドしておく。

2. TIGを動かす環境を作る

$ sudo yum install mono-devel --enablerepo=epel
$ sudo useradd tig
$ sudo su tig
$ cd ~
$ mkdir tig
$ cd tig
先ほどビルドしたものをtig内に入れる。
"mono TwitterIrcGatewayCLI.exe"とやると起動スクリプト書くときいろいろ大変になるので、スタンドアロン実行ファイルを作る
$ mkbundle -o TwitterIrcGatewayCLI_START TwitterIrcGatewayCLI.exe
起動スクリプトは以下になりました。

$ sudo vim /etc/rc.d/init.d/TwitterIrcGateway
$ sudo chmod +x /etc/rc.d/init.d/TwitterIrcGateway 
で上記スクリプトを記述
起動スクリプトを登録
$ sudo chkconfig --add TwitterIrcGateway
$ sudo chkconfig TwitterIrcGateway on
起動確認
$ sudo service TwitterIrcGateway start
$ sudo service TwitterIrcGateway stop

3. OAuth認証

これはいつもどおりでLimechatなりで認証済みにしておいてください。
また登録したパスワードはzncの設定で使用するため、覚えておいてください。
認証を終了した後、必ずTIGのプロセスをキルしておいてください。

4. TIG用にzncを設定する

$ sudo yum install znc --enablerepo=epel
基本的にはこちらのサイトにあるように
$ sudo su tig
$ znc --makeconf
していきます。主な設定項目は以下のとおりです。

Would you like ZNC to listen using SSL? (yes/no) [no]: yes
IRC server (host only): 127.0.0.1
[127.0.0.1] Port (1 to 65535) [6667]: TIGのポート
[127.0.0.1] Password (probably empty): TIGのOAuth認証で決めたパスワード
Would you like to add a channel for ZNC to automatically join? (yes/no) [yes]: yes
Channel name: #Twitter
Would you like to add a channel for ZNC to automatically join? (yes/no) [yes]: yes
Channel name: #Console

SSLを使用したかったので有効化しました。また注意としてはサーバのパスワードはTIGのOAuth認証で決めたパスワードを入力することです。間違わないようにしてください。

zncの起動スクリプトは、そのままではうまく動かないので以下のようにしました。

5. その他注意点

今回はzncを介してtigを使用することを前提にしています。
そのため、tigの--bind-addressは内側からのみアクセス可能な状態にするために、「--bind-address=127.0.0.1」とすべきです。OAuth認証時は「--bind-address=0.0.0.0」としても構いませんが、それを終えた場合、必ず内側からのみアクセスできるようにしておいてください。

また、TIGの起動スクリプトは一般ユーザ権限の範囲内でのみ実行できるようにしています。Google等で検索して出てくる起動スクリプトはroot権限で実行する形になっています。これは色々と危険であるため、なるべく一般ユーザ権限で使用しているものを使うべきかと思います。



0 コメント:

Post a Comment