Howto: Google Wave reference implementation with ejabberd
11.06.2009 by star - 0 CommentPosted in Tech Language
Installation steps (#Bourne shell):
1. Erlang installation
Download the Erlang source from http://erlang.org/download.html
# tar zxvf otp_src_R13B02-1.tar.gz
# cd otp_src_R13B02-1
# LANG=C; export LANG
# ./configure
# make
# make install
# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.7.3
2. Ejabberd installation
Download Ejabberd from http://www.process-one.net/en/ejabberd/downloads. I download “Linux x86 32-bits Installer”.
# gunzip ejabberd-2.0.5-linux-x86-installer.bin.gz
# chmod +x ejabberd-2.0.5-linux-x86-installer.bin
# ./ejabberd-2.0.5-linux-x86-installer.bin
# /opt/ejabberd-2.0.5/bin/ejabberdctl start
# /opt/ejabberd-2.0.5/bin/ejabberdctl status
Node ejabberd@localhost is started. Status: started
ejabberd is running
Document: ejabberd Installation and Operation Guide (HTML)
Open the Web Admin (http://server:port/admin/). Make sure to enter the full JID as username (in this example: admin1@example.org). The reason that you also need to enter the suffix, is because ejabberd’s virtual hosting support.
http://xxxx.xxx.xxx.xxx:5280/admin
admin@backupsrv/xxxxxx
3. Java 6 installation
Download JDK 6 from http://java.sun.com/javase/downloads/widget/jdk6.jsp. You should set up the environment variables “JAVA_HOME” & “CLASSPATH”.
4. Wave protocol installation
About HG usage, please refer to HG – Mercurial is a free, distributed source control management tool
Download Apache Ant from http://ant.apache.org/bindownload.cgi. For windows user, you should set up the environment variable “ANT_HOME”.
# hg clone https://wave-protocol.googlecode.com/hg/ wave-protocol
# cd wave-protocol
# ant
5. Creating the certificates for Google Wave server
The process to create those self-signed certificates are described on Google Wave wiki: Certificates. You will get two files, e.g. test.crt and test.key .
6. Configuring ejabberd
To configure ejabberd, simply add a new listener service in the listen section of the configuration file:
{listen,You can then restart ejabberd. The port 8888 should now be open and ready to accept connections from the Google Wave server.
[
...
{8888, ejabberd_service, [{access, all}, {shaper_rule, fast},
{hosts, ["backupsrv"],
[{password, "secret"}]}
]}
]}.
7. Starting the Google Wave server
# cd wave-protocol
# cat start.sh
java -jar dist/fedone-server-0.2.jar --client_frontend_hostname localhost --client_frontend_port 3456 --xmpp_component_name=wave --xmpp_server_hostname=backupsrv --xmpp_server_ip=127.0.0.1 --xmpp_server_port=8888 --xmpp_server_secret secret --xmpp_server_ping="" --certificate_domain backupsrv --certificate_private_key test.key --certificate_files test.cert --waveserver_disable_verification true --waveserver_disable_signer_verification true
Parameters modified:
–xmpp_server_hostname=backupsrv
–xmpp_server_port=8888
–xmpp_server_secret secret
–certificate_domain backupsrv
–certificate_files test.cert
–waveserver_disable_signer_verification true

