Difference between revisions of "Ejabberd"

From SME Server
Jump to navigationJump to search
 
(40 intermediate revisions by 8 users not shown)
Line 1: Line 1:
=Ejabberd Jabber XMPP server for SME 7.x=
+
{{Languages}}
 +
<!-- here we define the contrib name variable -->
 +
<!-- we get the page title, remove suffix for translated version; if needed you can define there with the value you want-->
 +
{{#vardefine:contribname| {{lc: {{#titleparts:  {{BASEPAGENAME}} |1}} }} }}
 +
{{#vardefine:smecontribname| smeserver-{{lc: {{#titleparts:  {{BASEPAGENAME}} |1}} }} }}
 +
{{usefulnote}}
 +
==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==
 
==Maintainer==
 
[[User:Jpl|Jean-Paul Leclère]]<br/>
 
[[User:Jpl|Jean-Paul Leclère]]<br/>
 
mailto:jean-paul@leclere.org
 
mailto:jean-paul@leclere.org
 +
 +
===Version===
 +
{{#smeversion: smeserver-ejabberd }}
  
 
==Description==
 
==Description==
Line 9: Line 28:
  
 
'''smeserver-ejabberd''' provides ejabberd services for SME, with dedicated configuration panel in the server-manager, and also specific embedded administration web pages via https.
 
'''smeserver-ejabberd''' provides ejabberd services for SME, with dedicated configuration panel in the server-manager, and also specific embedded administration web pages via https.
 
==Download==
 
You can download this package ''[http://mirror.contribs.org/smeserver/contribs/jpl/smecontribs/smeserver-ejabberd/smeserver-ejabberd-1.1.4-1.el4.eos.i386.rpm here]''. If you would like to save it directly on your SME Server, you should give this command at a linux-prompt
 
wget http://mirror.contribs.org/smeserver/contribs/jpl/smecontribs/smeserver-ejabberd/smeserver-ejabberd-1.1.4-1.el4.eos.i386.rpm
 
  
 
==Installation==
 
==Installation==
 
Installation needs following steps.
 
Installation needs following steps.
 
* smeserver-ejabberd package installation :
 
* smeserver-ejabberd package installation :
  yum localinstall smeserver-ejabberd-1.1.4-1.el4.eos.i386.rpm
+
  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 :
 
* sme configuration database update :
 
  /etc/e-smith/events/actions/initialize-default-databases
 
  /etc/e-smith/events/actions/initialize-default-databases
Line 23: Line 42:
 
  /etc/e-smith/events/actions/navigation-conf
 
  /etc/e-smith/events/actions/navigation-conf
 
* creation of your ejabberd admin account
 
* 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.
+
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 rights 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"
 
# 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).
 
# 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
 
# After setting admin account, you can return to your ejabberd panel and change registration setting for your requirements
 
  
 
==Use==
 
==Use==
Line 53: Line 71:
  
 
*'''Jabber admin web page'''
 
*'''Jabber admin web page'''
smeserver-ejabberd provides a web interface at https://tourserver.yourdomain:5280/admin/ to 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.<br/>
+
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.<br/>
 
This account is not set by the rpm package installation and must be created with a Jabber client, as specified in installation instructions.
 
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<br/>
 
''enabled'' --> access to admin web pages is enabled<br/>
Line 61: Line 79:
 
When enabled, you can connect via https to your Jaber server administration and monitoring web pages at https://yourserver.yourdomain:5280/admin/<br/>
 
When enabled, you can connect via https to your Jaber server administration and monitoring web pages at https://yourserver.yourdomain:5280/admin/<br/>
 
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).<br/>
 
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).<br/>
See documentation at http://www.process-one.net/docs/ejabberd/guide_en.html#htoc72
+
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''<br/>
 +
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
 +
 
 +
{{Warning box|You must not try to start or stop your ejabberd server with ejabberdctl. ejabberd service is supervised by runit and must only be controled by runit commands or by the Jabber services panel in the server-manager.}}
 +
 
 +
==Backup and restore==
 +
ejabberd has an internal specific Mnesia datatabase for users data.<br/>
 +
When you backup your server with core backup program, ejabberd database is saved and backuped in file ''/home/e-smith/db/ejabberd/ejabberd.backup''.<br/>
 +
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
 +
 
 +
 
 +
==Jabber Client(s)==
 +
===Android===
 +
====Conversations====
 +
A interesting and modern Android jabber client is "Conversations". It is Open Source and has a slick and modern intuitive GUI.
 +
* Available on [https://play.google.com/store/apps/details?id=eu.siacs.conversations Google Play]
 +
* Available on [https://github.com/siacs/Conversations GitHub]
 +
===Linux===
 +
* TBA
 +
===iOS===
 +
*TBA
 +
===Window$===
 +
*TBA
 +
 
  
  
 +
==Bugs==
 +
Please raise bugs under the SME-Contribs section in {{BugzillaFileBug|product=|component=|title= bugzilla}}
 +
and select the {{#var:smecontribname}} component or use {{BugzillaFileBug|product=SME%20Contribs|component={{#var:smecontribname}}|title=this link}}
  
 +
Below is an overview of the current issues for this contrib:{{#bugzilla:columns=id,product,version,status,summary|sort=id|order=desc|component={{#var:smecontribname}} |noresultsmessage=No open bugs found.}}
  
{{Incomplete}}
+
==Changelog==
 +
Only released version in smecontrib are listed here.
  
 +
{{#smechangelog: {{#var:smecontribname}} }}
  
 
----
 
----
  
[[Category: Contrib]]
+
[[Category: Deprecated_Contrib]]
 +
[[Category: Social Media Apps]]

Latest revision as of 08:12, 11 July 2022



Is this article helpful to you?
Please consider donating or volunteering
Thank you!

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

Version

smeserver-ejabberd
The latest version of smeserver-ejabberd is available in the SME repository, click on the version number(s) for more information.


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 rights 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.

  1. In your ejabberd panel, enable your ejabberd server, verify or change your Jabber domain and set registration parameter to "Allowed for everybody"
  2. 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).
  3. 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


Warning.png Warning:
You must not try to start or stop your ejabberd server with ejabberdctl. ejabberd service is supervised by runit and must only be controled by runit commands or by the Jabber services panel in the server-manager.


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


Jabber Client(s)

Android

Conversations

A interesting and modern Android jabber client is "Conversations". It is Open Source and has a slick and modern intuitive GUI.

Linux

  • TBA

iOS

  • TBA

Window$

  • TBA


Bugs

Please raise bugs under the SME-Contribs section in bugzilla

and select the smeserver-ejabberd component or use this link


Below is an overview of the current issues for this contrib:

IDProductVersionStatusSummary (5 tasks)
5249SME Contribs7.4CONFIRMEDEjabberd fails to install
4573SME Contribs7.3CONFIRMEDNo panel showing up in server-manager cant ceate cookie file.
4199SME Contribs7.3CONFIRMEDupgrade to ejabberd-2.0.0
3530SME Contribs7.2CONFIRMEDconference not working
3460SME Contribs7.2CONFIRMEDAdding PyMSNt

Changelog

Only released version in smecontrib are listed here.