Ejabberd
Status Advisory
At 4th April 2013 - From http://forums.contribs.org/index.php/topic,49481.msg248983.html#msg248983 "The currently available ejabberd contrib through the sme7contribs repo will not work on SME8. It installs, but the config files and the issues above will make it fail to function properly. The original author (JP-LC) has indicated that he has no time to update the contrib in the foreseeable future due to other priorities. Any takers to update the contrib? Especially when we are full throttle on SME9"
Things to do: (very high level)
- Adjust user/permissions (see above forum thread)
- Adjust startup script (/sbin/e-smith/ejabberdctl) for sanity check 32 or 64 bit (/lib/ or /lib64)
- Adjust templates that create /etc/ejabberd.cfg
- Double check ejabberdctl in both /usr/bin and /sbin/e-smith (/usr/bin is default ejabberd install, /sbin/e-smith is used by server-manager)
Maintainer
Jean-Paul Leclère
mailto:jean-paul@leclere.org
Description
Ejabberd is a (GNU GPL) robust full-featered Jabber XMPP server. It can support thousands of simultaneous users.
smeserver-ejabberd provides ejabberd services for SME, with dedicated configuration panel in the server-manager, and also specific embedded administration web pages via https.
Installation
Installation needs following steps.
- smeserver-ejabberd package installation :
yum install --enablerepo=smecontribs smeserver-ejabberd
ejabberd and all required packages are installed by yum.
(For sme8, as far as smeserver-ejabberd is not available in sme8 contribs repo, you must get smeserver-ejabberd rpm from sme7 contribs repository, put it in a local dir, and use "yum localinstall --enablerepo=smecontribs smeserver-ejabberd")
- sme configuration database update :
/etc/e-smith/events/actions/initialize-default-databases
- server-manager panels navigation update :
/etc/e-smith/events/actions/navigation-conf
- creation of your ejabberd admin account
For security reasons you need to create the admin@yourdomain Jabber account as soon as you enable your ejabberd service because this account will have administration rigths for your ejabberd administration. Jabber services are disabled after package installation, so there is no risk before you enable ejabberd with the server-manager panel and create this account.
- In your ejabberd panel, enable your ejabberd server, verify or change your Jabber domain and set registration parameter to "Allowed for everybody"
- With a Jabber client, register the account "admin@yourdomain" with a (secure) password, and remember this password. This "admin@yourdomain" account and associated password wil be needed to access the administration web page of your ejabberd server at https://yourserver.yourdomain:5280/admin (if enabled in your ejabberd panel).
- After setting admin account, you can return to your ejabberd panel and change registration setting for your requirements
Use
Jabber services panel
- Jabber services access
No access --> ejabberd service disabled
Allow access only from local networks --> ejabberd enabled for all your local networks on LAN port
Allow public access --> ejabberd enabled on LAN and WAN ports
- Jabber domain
You can choose which of your server domains is used by ejabberd for JID accounts.
- Type of access
non secured access available --> non encryted access on port 5222, TLS access on port 5223
secured TLS access only --> TLS access on ports 5222 and 5223
- Jabber client registering
Registering with a Jabber client is disabled --> Jabber clients cannot register accounts
Allowed for enabled user accounts of your server --> Jabber clients can only register accounts for users already registered in your SME server (but not for admin account)
Allowed for everybody --> Jabber clients can register accounts without restriction
- Welcome message
Set the subject and text of the message sent to your new Jabber users. If subject is left blank, no welcome message will be sent.
- Jabber admin web page
smeserver-ejabberd provides a web interface at https://yourserver.yourdomain:5280/admin/ to monitor and manage your ejabberd accounts and services. A full account JID with ejabberd admin rigths (default is admin) is needed to access ejabberd admin web pages.
This account is not set by the rpm package installation and must be created with a Jabber client, as specified in installation instructions.
enabled --> access to admin web pages is enabled
disabled --> access to admin web pages is disabled
Ejabberd administration and monitoring web pages
When enabled, you can connect via https to your Jaber server administration and monitoring web pages at https://yourserver.yourdomain:5280/admin/
You must provide a full Jabber account (user@yourdomain) with admin rigths on ejabberd services (by default this account should be set to admin@yourdomain).
See documentation about the web interface at http://www.process-one.net/docs/ejabberd/guide_en.html#htoc72
Ejabberd command line administration
For specific needs you can use (with care) the ejabberd command line program : /opt/ejabberd/bin/ejabberdctl
But you must execute this program with :
sudo -u ejabberd -H /opt/ejabberd/bin/ejabberdctl options
To see available options, just type :
sudo -u ejabberd -H /opt/ejabberd/bin/ejabberdctl
Backup and restore
ejabberd has an internal specific Mnesia datatabase for users data.
When you backup your server with core backup program, ejabberd database is saved and backuped in file /home/e-smith/db/ejabberd/ejabberd.backup.
But restoring your ejabberd backuped data on a new fresh installation of SME server needs four steps :
- restore old server backup or copy /home/e-smith/db/ejabberd/ejabberd.backup from old server
- reinstall smeserver-ejabberd
- start ejabberd services
- launch ejabberd database restore action :
/etc/e-smith/events/actions/ejabberd-load-tables
Bugs
Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-ejabberd component or use this link .