3 Eylül 2013 Salı

Apache Vysper Installation for small offices

Apache Vysper is a nice and yet another XMPP server implementation done with very pretty network implementation framework Apache Mina. You can find plenty of information about Apache Mina on their project page.
However Apache Vysper documentation lacks a very basic installation and user management documentation. At least I couldn't find a piece of info anywhere on the project page.
I used Vysper for quick chatting with people in my (company) network. I installed and configured in Windows 7 environment, but it is pretty straight forward to implement the same in other OSs.
As the XMPP client, I checked the compatible clients in Wikipedia and I chose Pidgin which I already knew from my previous Linux installations.

After downloading and unzipping the package to a suitable location, we must edit the "spring-config.xml" file which is located under config directory of the installation folder.

<bean id="addUsers" class="org.apache.vysper.spring.AddUserHelper">
 <constructor-arg index="0">
   <entry key="admin@vysper.org" value="adminxyz" />
   <entry key="fatih@vysper.org" value="fatih" />

   <entry key="serkan@vysper.org" value="serkan" />

I added all users I wanted under the AddUserHelper bean configuration. Then I started setting my Pidgin Client.
The basic settings include adding username and domain fields. I didnot change the default "vysper.org" domain. But you may prefer to change it to your own domain.
The advanced configuration is as follows:
I chose "Require encryption" and "allow plaintext auth". You may alter these settings according to your own preferences. The key setting here is to set the connect server setting. In the screenshot it is entered as localhost since I was serving this service on my own PC. The other users had to enter my PC's IP address here.
After this configuration I noticed that all users except the admin user cannot connect. To overcome this problem I had to make another edit in the "spring-config.xml" file. I'm not sure if this is essention but it worked for me. So if you add the following lines to ServiceAdministrationModule bean config, you may be able to connect with Pidgin smoothly.
<bean class="org.apache.vysper.xmpp.modules.extension.xep0133_service_administration.ServiceAdministrationModule" >
 <property name="addAdmins">


This is all the config I had done to get Vysper up and running.