I was told about Apache Vysper by a colleague at work and thought I’d give it a try. It is very much in development and lacks documentation, but it is very easy to get started. It does not have clustering support though.
Grab a copy of Vysper version 0.7. Extract it to any folder. You’ll need a JVM to run the server. Before doing that, let us configure a few things by editing the config file spring-config.xml in the config folder.
Locate the following lines and change the domain name (your machine name should do fine or localhost):
<!-- TODO change domain name to your domain --> <constructor-arg value="localhost"/>
Locate the following lines and change the admin user domain and password. Add more users if you wish.
<bean id="addUsers" class="org.apache.vysper.spring.AddUserHelper"> <constructor-arg index="0"> <map> <entry key="admin@localhost" value="passw0rd" /> <entry key="friend@localhost" value="passw0rd" />
Uncomment the following line (thus enabling the BOSH):
Uncomment the BOSH endpoint configuration:
<bean id="boshEndpoint" class="org.apache.vysper.xmpp.extension.xep0124.BoshEndpoint"> <property name="accessControlAllowOrigin"> <list><value>*</value></list> </property> <property name="port" value="8080" /> <property name="contextPath" value="/bosh" /> </bean>
Head to the command line and execute run.bat or run.sh from the bin folder. If all goes well you can access http://localhost:8080/bosh/ from the browser.
You’ll need to change the variable TROPHYIM_BOSH_SERVICE in the trophyim.js file, assign
'http://localhost:8080/bosh/'. Open index.html in the browser (using a file:// url), that should launch trophyim. You can use a client like Jitsi to setup contacts, and then test chatting with them using trophyim.
Note that we do not require an http server and proxy, as in the previous post, I suspect Vysper supports W3C CORS out of the box. That is good news indeed.