When it’s ready.

出来るまで出来ない

ローカルにwaveサーバーを立てる (未成功) その1

何をやっているところか分からないけど、process-one.netでwaveサーバーの動かし方が乗っていたので試してみた。現在最後のステップがうまく動かず軌道に至っていない。つっこみ期待で、エントリーしてみる。

手順概要

  1. waveサーバのソースをgoogleからclone & コンパイル
  2. ejabberdをprocess-oneからダウンロード & インストール
  3. 鍵ファイルを作成
  4. jabberdの設定
  5. 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”で怒られてる。順番変えたりホスト名変えてみたけど起動せず。

つづき

ejabberd使わないでrun-serverしたら普通にサーバー起動した。クライアントで繋ぎに行けないけど・・