首先是XMPP服务器,一般用的比较多的是openfire和ejabberd。openfire是java写的,安装和使用都比较简单,效率也很不错。不过由于工作原因,笔者用的是ejabberd。应该说ejabberd更适合商用,效率更高。

ejabberd有windows版和linux版(其实还有Mac OS X和Solaris版),windows版就不用多说了,反正就是双击安装程序点下一步就行了。linux版我在虚拟机里装的是centos 6.2图形界面,安装同样很简单,在终端执行

chmod +x ejabberd-2.1.11-linux-installer.bin。

./ejabberd-2.1.11-linux-installer.bin

既会出现跟windows下一样的安装界面,如下图。

(附ejabberd官方下载地址:http://www.process-one.net/en/ejabberd/downloads/

安装好后,桌面上会出现start ejabberd和stop ejabberd两个快捷方式。

然后是apache反向代理的配置。默认情况下ejabberd用的是5280端口,而服务器的防火墙很可能是拒绝访问这个端口的,所以需要配置apache反向代理。

将如下代码复制到apache/conf/httpd.conf文件末尾加上如下配置项:

<IfModule proxy_module>
    ProxyRequests Off
    ProxyPass /xmpp-httpbind http://192.168.2.100:5280/http-bind/
    ProxyPassReverse /xmpp-httpbind http://192.168.2.100:5280/http-bind/
</IfModule>

此时,访问http://192.168.2.100/xmpp-httpbind就会被转到http://192.168.2.100:5280/http-bind/。

理论上这样环境就搭建好了,还是蛮简单的。