ローカルにwaveサーバーを立てる (未成功) その1
何をやっているところか分からないけど、process-one.netでwaveサーバーの動かし方が乗っていたので試してみた。現在最後のステップがうまく動かず軌道に至っていない。つっこみ期待で、エントリーしてみる。
手順概要
- waveサーバのソースをgoogleからclone & コンパイル
- ejabberdをprocess-oneからダウンロード & インストール
- 鍵ファイルを作成
- jabberdの設定
- waveサーバーの実行
詳細手順
waveサーバのソースをcloneする。
hg clone https://wave-protocol.googlecode.com/hg/ wave-protocol
- コンパイルする
(OSXの場合、パスの設定を行う)
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
export PATH=$JAVA_HOME/bin:$PATH
ant
ejabberd のダウンロードとインストール
http://www.process-one.net/en/ejabberd/downloads/
からDLした。バージョンは2.05のOSXインストーラー版
解凍してインストーラーを起動すると、adminユーザの設定を聞かれるので適当にpasswordを設定しておく。
インスコしたら、postinstall.shが/Application/ejabberd-2.0.5/binに入っているので実行しておく(やんなくていいかも)
鍵ファイルを作成する(thx:takoratta http://bit.ly/wqS1U)
作成用のファイルを作成する
makeKey.sh
#!/bin/sh
NAME=$1
if [ "$NAME" == '' ]
then
echo "$0" 1>&2
exit 1
fi
openssl genrsa 1024 | openssl pkcs8 -topk8 -nocrypt -out $NAME.key
openssl req -new -x509 -nodes -sha1 -days 365 -key $NAME.key -out $NAME.cert
作成する
chmod +x makeKey.sh
makeKey.sh test
実行時に色々聞かれるけど、全部空でエンター連打した。makeKey.shと同じ所に test.keyとtest.certファイルが作成される。
ejabberdの設定
/Application/ejabberd-2.0.5/conf/ejabberd.cfg ファイルを編集する。(事前にバックアップをしとく)
142行目移行に以下の設定を追加した
141 %%>--->------->------- ]},
142
143 {8888, ejabberd_service, [
144 >----->------->------- {access, all},
145 >----->------->------- {shaper_rule, fast},
146 >----->------->------- {ip, {127, 0, 0, 1}},
147 >----->------->------- {hosts, ["wave.process-one.net"],
148 >----->------->------- [{password, "foobar"}]
149 >----->------->------- }
150 >----->------->------- ]},
151
152
153 {5280, ejabberd_http, [
書き換えたらejabberdを再起動する。
cd /Application/ejabberd-2.0.5/bin
./stop
./satart
waveサーバーを起動する
java -jar dist/fedone-0.2.jar --client_frod_hostname localhost --client_frontend_port 3456 --xmpp_component_name=wave --xmpp_server_hostname=process-one.net --xmpp_server_ip=127.0.0.1 --xmpp_server_port=8888 --xmpp_server_secret foobar --xmpp_server_ping="" --certificate_domain process-one.net --certificate_private_key test.key --certificate_files test.cert --waveserver_disable_verification true
これで起動するらしいが、エラーが出る。
java -jar dist/fedone-0.2.jar --client_frod_hostname localhost --client_frontend_port 3456 --xmpp_component_name=wave --xmpp_server_hostname=process-one.net --xmpp_server_ip=127.0.0.1 --xmpp_server_port=8888 --xmpp_server_secret foobar --xmpp_server_ping="" --certificate_domain process-one.net --certificate_private_key test.key --certificate_files test.cert --waveserver_disable_verification true
Exception in thread "main" org.apache.commons.cli.UnrecognizedOptionException: Unrecognized option: --client_frod_hostname
at org.apache.commons.cli.Parser.processOption(Parser.java:363)
at org.apache.commons.cli.Parser.parse(Parser.java:199)
at org.apache.commons.cli.Parser.parse(Parser.java:85)
at org.waveprotocol.wave.examples.fedone.FlagBinder.parseFlags(FlagBinder.java:109)
at org.waveprotocol.wave.examples.fedone.ServerMain.main(ServerMain.java:47)
一つ目のオプション“--client_frod_hostname”で怒られてる。順番変えたりホスト名変えてみたけど起動せず。
参考URL
http://www.waveprotocol.org/
http://www.process-one.net/en/blogs/article/using_google_wave_reference_implementation_with_ejabberd/
http://code.google.com/p/wave-protocol/wiki/Certificates
http://code.google.com/p/wave-protocol/wiki/Installation
つづき
ejabberd使わないでrun-serverしたら普通にサーバー起動した。クライアントで繋ぎに行けないけど・・