XMPP Setup
The following is the basics for getting your own installation of StatusNet and an XMPP server talking.
If you are a user on identica, or another StatusNet instance, then this page isn't meant for you. This is for people who own and look after their own installation of the server software.
Contents |
Setting Up StatusNet with XMPP Integration
Aside from the configuration below, a single user account needs to be registered on the XMPP server that StatusNet users for communication - in the example below this is bot@seagull.local.net. Create this account by using something like Pidgin, or PSi etc.
Basic steps are:
- Setup XMPP server (option - you can use an account somewhere else).
- Register the XMPP communication account.
- Configure StatusNet.
- Configure, and launch the StatusNet daemons.
StatusNet config
# xmpp $config['xmpp']['enabled'] = true; $config['xmpp']['server'] = 'seagull.local.net'; # XMPP server name $config['xmpp']['host'] = NULL; # Only set if different from server $config['xmpp']['port'] = 5222; $config['xmpp']['user'] = 'bot'; # set to what ever user name is registered on XMPP server $config['xmpp']['encryption'] = false; $config['xmpp']['resource'] = 'uniquename'; $config['xmpp']['password'] = 'bl0wfish'; $config['xmpp']['debug'] = false; $config['queue']['enabled'] = true;
StatusNet daemons
in the scripts directory for StatusNet, there is a file scripts/getvaliddaemons.php - it is likely that you will want to comment out the daemons that you don't want to run such as:
#echo "ombqueuehandler.php "; #echo "twitterqueuehandler.php "; #echo "facebookqueuehandler.php "; #echo "pingqueuehandler.php "; #echo "smsqueuehandler.php ";
Execute startdaemons.sh to kick the remaining daemons off.
Setting up an XMPP server
StatusNet can work with any XMPP server. Setup instructions for some servers are below. Install any one.
EJabberd
Install ejabberd, for example on Debian Linux do this command:
sudo apt-get install ejabberd
Edit config:
sudo vim /etc/ejabberd/ejabberd.cfg
add hosts entry - ensure that you have the localhost, hostname, and fqdn for your sever:
{hosts, ["localhost", "seagull", "seagull.local.net"]}.
Storage defaults to Erlang mnesia database - but can be configured for others, such as Postgresql
Add this entry at the global level (same level as host config) so that there aren't issues with registration timeouts for users:
{registration_timeout, infinity}.
Prosody
Install Prosody, by downloading it and following the installation instructions.
Edit config:
sudo vim /etc/prosody/prosody.cfg.lua
Add your hostname:
Host "seagull.local.net"
Finally, create an account for the StatusNet bot:
sudo prosodyctl adduser bot@seagull.local.net
XMPP bot as a Windows service
Read on about a new project that lets you run StatusNet's XMPP daemon as a Windows service