Friday, March 19, 2010

How to install Wave Protocol Server for Windows

I worked out how to setup the Wave Federation Protocol Server (FedOne) for windows. The main focus of this blog is to find out the easiest way and the steps to setup the server.

Requirements:

1) Java SDK (latest download from http://java.sun.com/javase/downloads/index.jsp )

Java SDK used to compile the source files from the WRS source code. Try to download the latest SDK from site.

2) Apache Ant (latest download from http://ant.apache.org/bindownload.cgi )

Ant is required to create build files from source.

3) OpenSSL (latest download from http://www.slproweb.com/download/Win32OpenSSL_Light-0_9_8k.exe)

OpenSSL is required to create the SSL certificate files for the source code; steps to create the SSL certificate will be discussed below.

4) Mercurial (latest download from http://bitbucket.org/tortoisehg/stable/wiki/Home)

Mercurial Tortoise HG project will be used to check out the latest code from the code DB of WRS. It integrates with explorer and is pretty easy to use.

5) Openfire XMPP Server (latest download from http://www.igniterealtime.org/downloads/index.jsp)

The base of FedOne server is XMPP server, i.e. FedOne Server is an extension to XMPP server, we are going to install OpenFire XMPP Server, with some configuration settings to run FedOne server over XMPP server.

6) WRS Source (can be downloaded from https://wave-protocol.googlecode.com/hg/)

Steps: -

1. Install Java SDK to compile the WRS Code and set the java environment variables.

2. Install the Apache Ant by default settings.

3. Install OpenSSL as is installed by default settings.

4. Install Mercurial TortoiseHG by default settings.

5. Checkout the latest WRS Source code.

Now, we have to checkout the latest code and build it.

Step 1. Create a directory wave-source.

Step 2. In the directory right click on a piece of blank space, click on TortoiseHG and then select “Clone a Repository”.

Step 3. In the screen that popups fill the following details

Source path: - https://wave-protocol.googlecode.com/hg/

Destination Path: - [current directory]/wave protocol

And then click on clone. It will take some time to checkout the whole code. Now, the code is being checked out, its time to build the code.

6. Run the Ant to create the fedone supporting jar files. i.e. Run the “ant” command in the folder path [wave code directory]. You will get 4 jar files in dest folder, i.e.

    1. fedone-client-console-0.2.jar
    2. fedone-0.2.jar
    3. fedone-agent-echoey-0.2.jar
    4. fedone-api-0.2.jar

7. Create the security certificate for code.

In order to acquire a certificate from StartSSL, you need to do the following:

· Create Private Key (for Windows)

[PATH_TO]\openssl genrsa 1024 | [PATH_TO]\openssl pkcs8 -topk8 -nocrypt -out [NAME].key

· Use the private key to generate a certificate request.

[PATH_TO]\openssl req -new -x509 -nodes -sha1 -days 365 -key $NAME.key -out [NAME].cert

These certificate files are used to run the ferone server in sync with openfire xmpp server. Now, we have to install openfire xmpp server with some fedone related configurations.

8. Install Openfire; use the default values for installation.

9. Configure Openfire as per the requirement of Wave Server.

Please follow the instructions on http://code.google.com/p/wave-protocol/wiki/OpenFireInstallation to properly configure the openfire for fedone in windows. Once the server is properly configured and up, we have to fun the fedone server.

10.Run the fedone server

Firstly, copy the SSL certificate files and pase it to the folder of newly created fedone jar files. Then on command line, run the following command:

[path]java -jar fedone-server-0.2.jar --client_frontend_hostn

ame= --client_frontend_port=5222 --xmpp_component_name=wave --xmpp_server_hostname= --xmpp_server_

ip= --xmpp_server_port=5275 --xmpp_server_secret= --xmpp_server_ping="" --certificate_privat

e_key=name.key --certificate_files=name.cert --certificate_domain= --waveserver_disable_signer_verificat

ion=true --waveserver_disable_verification=true

11.Run the fedone client

java -jar fedone-client-0.2.jar %USERNAME% %WAVE_SERVER_HOSTNAME% %WAVE_SERVER_PORT%

Now the wave protocol server is ready to use at Localhost. Find the client working on http://code.google.com/p/wave-protocol/wiki/ConsoleClient and enjoy.

1 comment:

  1. So... I'm trying to get this up and running on Windows 7. At the last step, I am getting an error that says

    ERROR: must provide valid port
    (not connected)

    Any help on this would be greatly appreciated

    ReplyDelete