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権限で実行する形になっています。これは色々と危険であるため、なるべく一般ユーザ権限で使用しているものを使うべきかと思います。