collective.chat.buildout provides a helper buildout to enable you to deploy XMPP-enabled add-ons for Plone.
Currently it includes three XMPP add-ons.
- collective.xmpp.core which integrates XMPP into Plone (zero user-facing "features").
- collective.xmpp.collaboration which provides collaborative editing, and
- collective.xmpp.chat which provides instant messaging.
More XMPP add-ons will be adoded as they are being developed for Plone.
XMPP server and reverse proxy
This buildout will also install the 'ejabberd XMPP server and Nginx to serve as a reverse proxy for ejabberd's connection manager (the connection manager provides a bridge between the XMPP server and the browser which speaks HTTP).
For ejabberd you'll need to have erlang installed.
Creating the XMPP admin user
collective.chat.core requires an admin XMPP user to be able to register new XMPP users whenever new Plone users are created.
In your buildout folder, after running the buildout, you need to do the following:
./bin/ejabberdctl register admin localhost your_password
Test that you can access your ejabberd by logging to the admin interface (typically http://localhost:5280/admin). You should also be able to access the http-bind interface (of the connection manager) at http://localhost:5280/http-bind.
Installation on Debian/Ubuntu/etc.
This buildout compiles Nginx and Ejabberd from source and to do this, you'll need the development files of their dependencies.
This is what I needed to install on a fresh(ish) Ubuntu 12.04:
sudo apt-get install zlib1g-dev erlang libzip2 libzip-dev libbz2-dev libxml2-dev libxslt-dev libpcre3-dev libexpat1-dev libssl-dev
Installation on Mac OS
Then use the macos.cfg buildout configuration (bin/buildout -c macos.cfg).