216
edits
Neustradamus (talk | contribs) m |
Neustradamus (talk | contribs) m |
||
Line 1: | Line 1: | ||
'''ejabberd''' is an XMPP application server, written mainly in the Erlang programming language. | '''ejabberd''' is an XMPP application server, written mainly in the Erlang programming language. | ||
It can run under Microsoft Windows and several Unix-like operating systems such as Mac OS X, GNU/Linux, FreeBSD, and NetBSD. | It can run under Microsoft Windows and several Unix-like operating systems such as Mac OS X, GNU/Linux, FreeBSD, and NetBSD. | ||
ejabberd stands for | ejabberd stands for '''E'''rlang [[XMPP|'''Jabber''']] '''D'''aemon (Jabber being a former name for XMPP), and is written in lowercase only, as is common for daemon software. | ||
ejabberd is free software, distributed under the terms of the GNU General Public License. | ejabberd is free software, distributed under the terms of the GNU General Public License. | ||
== Features == | == Features == | ||
ejabberd has a high level of compliance with [[Extensible Messaging and Presence Protocol|XMPP]]<ref>{{cite web | url=http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_100/ | title=Release Note ejabberd 1.0.0 | date=14 December 2005 | publisher= | ejabberd has a high level of compliance with [[Extensible Messaging and Presence Protocol|XMPP]]<ref>{{cite web | url=http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_100/ | title=Release Note ejabberd 1.0.0 | date=14 December 2005 | publisher=ProcessOne | accessdate=2008-03-11}}</ref>. | ||
It provides a web interface which can be | It provides a web interface which can be translated into other languages. | ||
ejabberd supports | ejabberd supports distributed computing by clustering, supports live upgrades<ref>{{cite web | url=http://www.process-one.net/en/blogs/article/live_code_upgrade_a_must_have_feature_for_high_availability_deployments/ | title=Live code upgrade: A must-have feature for high-availability deployments | first=Mickaël | last=Rémond | date=July 16 2007 | publisher=ProcessOne | accessdate=2008-03-11}}</ref>, shared roster groups and provides support for virtual hosts. | ||
Database management systems supported include PostgreSQL and MySQL, and ODBC is supported for connectivity to other systems. | |||
LDAP authentication is supported, as is login via SSL/TLS, SASL and STARTTLS. | |||
ejabberd is | ejabberd is extensible via ''modules'', which can provide support for additional capabilities such as saving offline messages, connecting with IRC channels, or a user database which makes use of user's vCards (saving vCards in LDAP or an ODBC compatible database is possible with other modules). | ||
In addition, modules can provide support for extensions of the XMPP protocol, such as MUC, HTTP polling, Publish-Subscribe, and gathering statistics via XMPP. | In addition, modules can provide support for extensions of the XMPP protocol, such as MUC, HTTP polling, Publish-Subscribe, and gathering statistics via XMPP. | ||
Starting with version 2.0.0 ejabberd also includes support for the ''Proxy65'' file transfer proxy which enabled jabber users behind firewalls to share files through a | Starting with version 2.0.0 ejabberd also includes support for the ''Proxy65'' file transfer proxy which enabled jabber users behind firewalls to share files through a SOCKS 5 proxy<ref>{{cite web | url=http://xmpp.org/extensions/xep-0065.html | title=XEP-0065: SOCKS5 Bytestreams | date=2007-05-21 | publisher=[[XMPP Standards Foundation]] | accessdate=2008-03-11}}</ref>. | ||
ejabberd can communicate with | ejabberd can communicate with other XMPP servers and with non-XMPP Instant Messaging networks as well, using a special type of XMPP component called transport or gateway. | ||
== Distribution Methods == | == Distribution Methods == | ||
In addition to the source code package and binary installers for GNU/Linux, Mac OS X, and Windows<ref>[http://www.process-one.net/en/ejabberd/archive/ ejabberd Download Archive]</ref>, ejabberd is also available in several Operating System distributions as is typical in | In addition to the source code package and binary installers for GNU/Linux, Mac OS X, and Windows<ref>[http://www.process-one.net/en/ejabberd/archive/ ejabberd Download Archive]</ref>, ejabberd is also available in several Operating System distributions as is typical in FOSS, including Debian, Fedora, Gentoo, Ubuntu, FreeBSD Ports, NetBSD port, and Mac OS X's Fink<ref>[http://www.process-one.net/en/ejabberd/counter/ ejabberd downloads counter with links to OS distributions]</ref>. | ||
Other methods in which ejabberd is available are the | Other methods in which ejabberd is available are the TurnKey Linux Virtual Appliance Library<ref>[http://www.turnkeylinux.org/ejabberd TurnKey Linux Appliance for XMPP and Web Chat]</ref> and Comprehensive Erlang Archive Network (CEAN)<ref>[http://cean.process-one.net/packages/index.yaws?action=detail&name=ejabberd CEAN package for ejabberd]</ref>. | ||
== Notable Deployments == | == Notable Deployments == | ||
Line 32: | Line 32: | ||
| first=Peter | | first=Peter | ||
| last=Saint-Andre | | last=Saint-Andre | ||
| date= | | date=February 26 2006 | ||
| publisher=Jabber.org | | publisher=Jabber.org | ||
| accessdate=2009-12-16}}</ref> until a migration expected for 2010<ref>[http://www.jabber.org/2009/12/migration-delayed/ Migration Delayed]</ref>. | | accessdate=2009-12-16}}</ref> until a migration expected for 2010<ref>[http://www.jabber.org/2009/12/migration-delayed/ Migration Delayed]</ref>. | ||
Among smaller Jabber-related sites, ejabberd is also the most popular server<ref>[http://xmpp.org/services/ Public XMPP Services]</ref>. When not taking into account the size or nature of the server, ejabberd is also the most widely deployed: according to IMtrends report from July 2008 based in automated server detection, 37% of 7292 servers were running ejabberd; the second position being | Among smaller Jabber-related sites, ejabberd is also the most popular server<ref>[http://xmpp.org/services/ Public XMPP Services]</ref>. When not taking into account the size or nature of the server, ejabberd is also the most widely deployed: according to IMtrends report from July 2008 based in automated server detection, 37% of 7292 servers were running ejabberd; the second position being jabberd14 with 22.4% and the third Openfire with 18.4%<ref>[http://www.process-one.net/en/imtrends/article/usage_estimation_of_public_xmpp_servers_per_domain/ Usage estimation of public XMPP servers per domain]</ref>. | ||
Among generic instant messaging deployments are ISPs like the portuguese | Among generic instant messaging deployments are ISPs like the portuguese SAPO<ref>{{cite web | ||
| url=http://messenger.blogs.sapo.pt/3918.html | | url=http://messenger.blogs.sapo.pt/3918.html | ||
| title=Novo servidor online | | title=Novo servidor online | ||
| date=2007-02-16 | | date=2007-02-16 | ||
| publisher=pedrocs from | | publisher=pedrocs from SAPO | ||
| accessdate=2009-12-17}}</ref>, and the german | | accessdate=2009-12-17}}</ref>, and the german United Internet for services like GMX and Web.de<ref>[http://www.teltarif.de/arch/2006/kw37/s23119.html GMX bringt eigenen Instant Messenger heraus]</ref> <ref>[http://www.golem.de/0703/51124.html GMX plant Instant-Messenger für viele Protokolle]</ref> <ref>[http://www.imtrends.com/do/search_domain_simple?domain=gmx.de online verification of gmx.de XMPP services]</ref>. | ||
The russian search engine | The russian search engine Yandex uses a highly modified version of ejabberd, conveniently named Yabberd<ref>[http://www.imtrends.com/do/search_domain_simple?domain=yandex.ru online verification of yandex.ru running yabberd]</ref>. | ||
Nokia's Ovi uses ejabberd with some customizations<ref>[http://www.imtrends.com/do/search_domain_simple?domain=ovi.com&x=0&y=0 online verification of ovi.com XMPP server software]</ref>. | |||
In the | In the FOSS world, there a pair of notable generic deployments of ejabberd, namely the KDE Talk<ref>[http://kdetalk.net/ KDETalk.net, the KDE Jabber server]</ref> and the Fellowship of the Free Software Foundation Europe<ref>[http://wiki.fsfe.org/Jabber FSFE Jabber wiki]</ref> <ref>[http://www.imtrends.com/do/search_domain_simple?domain=jabber.fsfe.org&x=27&y=15 online verification of jabber.fsfe.org XMPP server]</ref>. | ||
ejabberd chatroom feature provides the | ejabberd chatroom feature provides the IETF Groupchat Service, used by the various working groups, areas, and BOF sessions during meetings and at other times<ref>[http://www.ietf.org/jabber/ IETF Groupchat/Chatroom Service]</ref> <ref>[http://www.imtrends.com/do/search_domain_simple?domain=jabber.ietf.org&x=0&y=0 online verification of jabber.ietf.org service]</ref>. | ||
Other deployments use ejabberd in more novelty ways. For instance, | Other deployments use ejabberd in more novelty ways. For instance, BBC Radio LiveText uses ejabberd's Publish-Subscribe service to synchronously broadcast text content with the radio stream<ref>[http://www.bbc.co.uk/blogs/radiolabs/2009/11/pushfeeds.shtml LiveText-via-IP upgrade and other synchronously delivered content]</ref>. | ||
sameplace.cc is a | sameplace.cc is a Mozilla Firefox extension that integrates Jabber in the web browser, | ||
and uses ejabberd for the XMPP server<ref>[http://www.sameplace.cc/blogs/bard/2008/2/17/back-in-game Back in game]</ref> <ref>[http://www.imtrends.com/do/search_domain_simple?domain=sameplace.cc&x=0&y=0 online verification of sameplace.cc XMPP server]</ref>. | and uses ejabberd for the XMPP server<ref>[http://www.sameplace.cc/blogs/bard/2008/2/17/back-in-game Back in game]</ref> <ref>[http://www.imtrends.com/do/search_domain_simple?domain=sameplace.cc&x=0&y=0 online verification of sameplace.cc XMPP server]</ref>. | ||
Other deployments include Chesspark (online chess playing site) <ref>[http://metajack.wordpress.com/2008/08/26/choosing-an-xmpp-server/ Choosing An XMPP Server]</ref>, Collecta (real-time search) <ref>[http://www.imtrends.com/do/search_domain_simple?domain=collecta.com&x=0&y=0 online verification of XMPP server]</ref>, and Notifixious (notifications of website subscriptions) <ref>[http://blog.notifixio.us/post/56167273/switch-from-openfire-to-ejabberd-done Switch from Openfire to Ejabberd: done!]</ref>. | Other deployments include Chesspark (online chess playing site) <ref>[http://metajack.wordpress.com/2008/08/26/choosing-an-xmpp-server/ Choosing An XMPP Server]</ref>, Collecta (real-time search) <ref>[http://www.imtrends.com/do/search_domain_simple?domain=collecta.com&x=0&y=0 online verification of XMPP server]</ref>, and Notifixious (notifications of website subscriptions) <ref>[http://blog.notifixio.us/post/56167273/switch-from-openfire-to-ejabberd-done Switch from Openfire to Ejabberd: done!]</ref>. | ||
One Laptop per Child's School server uses ejabberd with OLPC-specific patches as the instant messaging server<ref>[http://wiki.laptop.org/go/Jabber_server Run a jabber server]</ref>. | |||
== Project history == | == Project history == | ||
Alexey Shchepin started ejabberd in November 2002<ref>[http://github.com/processone/ejabberd/commit/3f676492be974ced486dc2eb0fab47e1db5816d2 Initial revision]</ref> due to three main reasons: success with | Alexey Shchepin started ejabberd in November 2002<ref>[http://github.com/processone/ejabberd/commit/3f676492be974ced486dc2eb0fab47e1db5816d2 Initial revision]</ref> due to three main reasons: success with Tkabber (his previous project, a Jabber client), a rather unstable first alpha release of jabberd2, and his wish to play with Erlang features (Alexey would have not started ejabberd without Erlang)<ref>[http://blogs.openaether.org/?p=59 aleksey speaks (interview to Alexey Shchepin)]</ref>. | ||
* | * 16 november 2002 : Alexey Shchepin writes the first lines of code<ref>[http://github.com/processone/ejabberd/commit/3f676492be974ced486dc2eb0fab47e1db5816d2 Initial revision]</ref> | ||
* | * 11 february 2003 : ejabberd 0.1-alpha released<ref>http://svn.process-one.net/ejabberd/tags/ejabberd-0.1-alpha/ChangeLog</ref> | ||
* | * 16 november 2003 : ejabberd 0.5 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2003-November/000052.html | title=ejabberd 0.5 released | work=ejabberd mailing list | first=Alexey | last=Shchepin | date=November 16 2003 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
* | * 13 july 2004 : ejabberd 0.7 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2004-July/000129.html | title=ejabberd 0.7 released | work=ejabberd mailing list | first=Alexey | last=Shchepin | date=July 13 2004 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
** | ** 10 october 2004 : ejabberd 0.7.5 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2004-October/000337.html | title=ejabberd 0.7.5 released | work=ejabberd mailing list | first=Alexey | last=Shchepin | date=October 10 2004 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
* | * 18 april 2005 : ejabberd 0.9 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2005-April/000987.html | title=ejabberd 0.9 has been released | work=ejabberd mailing list | first=Mickael | last=Remond | date=April 19 2005 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
** | ** 23 may 2005 : ejabberd 0.9.1 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2005-May/001101.html | title=ejabberd 0.9.1 has been released | work=ejabberd mailing list | first=Mickaël | last=Rémond | date=May 24 2005 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
** | ** 1 august 2005 : ejabberd 0.9.8 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2005-August/001278.html | title=ejabberd 0.9.8 released | work=ejabberd mailing list | first=Mickael | last=Remond | date=August 2 2005 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
* | * 14 december 2005 : ejabberd 1.0.0 released<ref>{{ cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2005-December/001481.html | title=ejabberd 1.0.0 released: 'the XMPP compliancy release' | work=ejabberd mailing list | first=Mickael | last=Remond | date=december 15 2005 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
** | ** 24 april 2006 : ejabberd 1.1.0 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2006-April/001726.html | title=ejabberd 1.1.0 released | work=ejabberd mailing list | first=Mickael | last=Remond | date=April 25 2006 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
*** | *** 28 april 2006 : ejabberd 1.1.1 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2006-April/001751.html | title=ejabberd 1.1.1 released | work=ejabberd mailing list | first=Mickael | last=Remond | date=April 29 2006 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
*** | *** 27 september 2006 : ejabberd 1.1.2 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2006-September/002209.html | title=ejabberd 1.1.2 released | work=ejabberd mailing list | first=Mickael | last=Remond | date=September 28 2006 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
*** | *** 2 february 2007 : ejabberd 1.1.3 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2007-February/002440.html | title=ejabberd 1.1.3 released: Security fix | work=ejabberd mailing list | first=Mickaël | last=Rémond | date=February 2 2007 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
*** | *** 3 september 2007 : ejabberd 1.1.4 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2007-September/003051.html | title=ejabberd 1.1.4 released | work=ejabberd mailing list | first=Jérôme | last=Sautret | date=September 17 2007 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
* | * 21 february 2008 : ejabberd 2.0.0 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2008-February/003520.html | title=ejabberd 2.0.0 has been released | work=ejabberd mailing list | first=Mickaël | last=Rémond | date=February 21 2008 | publisher=Jabber.ru | accessdate=2008-03-12}}</ref> | ||
** | ** 20 may 2008 : ejabberd 2.0.1 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2008-May/003736.html | title=ejabberd 2.0.1 released | work=ejabberd mailing list | first=Mickaël | last=Rémond | date=May 22 2008 | publisher=Jabber.ru | accessdate=2008-06-22}}</ref> | ||
** | ** 28 august 2008 : ejabberd 2.0.2 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2008-August/004133.html | title=Release of ejabberd 2.0.2 | work=ejabberd mailing list | first=Jérôme | last=Sautret | date=August 28 2008 | publisher=Jabber.ru | accessdate=2008-08-28}}</ref> | ||
** | ** 15 january 2009 : ejabberd 2.0.3 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2009-January/004593.html | title=Release of ejabberd 2.0.3 | work=ejabberd mailing list | first=Jérôme | last=Sautret | date=January 15 2009 | publisher=Jabber.ru | accessdate=2009-01-15}}</ref> | ||
** | ** 13 march 2009 : ejabberd 2.0.4 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2009-March/004748.html | title=Release of ejabberd 2.0.4 | work=ejabberd mailing list | first=Jérôme | last=Sautret | date=March 13 2009 | publisher=Jabber.ru | accessdate=2009-08-02}}</ref> | ||
** | ** 3 april 2009 : ejabberd 2.0.5 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2009-April/004836.html | title=Release of ejabberd 2.0.5 | work=ejabberd mailing list | first=Jérôme | last=Sautret | date=April 3 2009 | publisher=Jabber.ru | accessdate=2009-08-02}}</ref> | ||
* | * 13 november 2009 : ejabberd 2.1.0 released<ref>{{cite web | url=http://lists.jabber.ru/pipermail/ejabberd/2009-November/005470.html | title=ejabberd 2.1.0 finally released | work=ejabberd mailing list | first=Jérôme | last=Sautret | date=November 13 2009 | publisher=Jabber.ru | accessdate=2009-11-13}}</ref> | ||
== Publications == | == Publications == | ||
Line 86: | Line 86: | ||
"Démarrer avec ejabberd" in the french magazine PROgrammez! <ref>[http://www.programmez.com/magazine_articles.php?titre=Demarrer-avec-ejabberd&id_article=996&magazine=105 "Démarrer avec ejabberd" at magazine PROgrammez!]</ref> | "Démarrer avec ejabberd" in the french magazine PROgrammez! <ref>[http://www.programmez.com/magazine_articles.php?titre=Demarrer-avec-ejabberd&id_article=996&magazine=105 "Démarrer avec ejabberd" at magazine PROgrammez!]</ref> | ||
and | and | ||
"Passing notes in class" in | "Passing notes in class" in Free Software Magazine <ref>[http://www.freesoftwaremagazine.com/node/1746 "Passing notes in class" at Free Software Magazine]</ref> | ||
ejabberd is mentioned in several books related to the XMPP protocol and the Erlang language. | ejabberd is mentioned in several books related to the XMPP protocol and the Erlang language. | ||
XMPP The Definitive Guide ( | XMPP The Definitive Guide (O'Reilly Media, 2009) refers to ejabberd in those terms: ''The server is well-known for its scalability, and it can be clustered across multiple instances.'' <ref>[http://oreilly.com/catalog/9780596157197/ Peter Saint-André, Kevin Smith, and Remko Tronçon's XMPP The Definitive Guide]</ref>. | ||
Other published books that mention ejabberd are: | Other published books that mention ejabberd are: | ||
* "Programming Erlang: Software for a Concurrent World" (Pragmatic Bookshelf, 2008)<ref>Joe Armstrong (Pragmatic Bookshelf, 2007, ISBN 978-1-9343560-0-5)</ref> | * "Programming Erlang: Software for a Concurrent World" (Pragmatic Bookshelf, 2008)<ref>Joe Armstrong (Pragmatic Bookshelf, 2007, ISBN 978-1-9343560-0-5)</ref> | ||
* "Erlang Programming: A Concurrent Approach to Software Development" ( | * "Erlang Programming: A Concurrent Approach to Software Development" (O'Reilly Media, 2009)<ref>Francesco Cesarini, Simon J. Thompson (O'Reilly Media, 2009 ISBN 0-596-51818-8 | ISBN 978059651818) - [http://www.erlangprogramming.org/ Erlang Programming: A Concurrent Approach to Software Development]</ref> | ||
* "Openfire Administration: A practical step-by-step guide to rolling out a secure Instant Messaging service over your network" (Packt Publishing, 2008)<ref>[http://www.amazon.com/Openfire-Administration-practical-step-step/dp/1847195261 Mayank Sharma's Openfire Administration: A practical step-by-step guide to rolling out a secure Instant Messaging service over your network]</ref> | * "Openfire Administration: A practical step-by-step guide to rolling out a secure Instant Messaging service over your network" (Packt Publishing, 2008)<ref>[http://www.amazon.com/Openfire-Administration-practical-step-step/dp/1847195261 Mayank Sharma's Openfire Administration: A practical step-by-step guide to rolling out a secure Instant Messaging service over your network]</ref> | ||
* "Java Power Tools" ( | * "Java Power Tools" (O'Reilly Media, 2008)<ref>[http://www.amazon.com/Java-Power-Tools-Ferguson-Smart/dp/0596527934 John Ferguson Smart's Java Power Tools]</ref> | ||
* "Fedora 11 and Red Hat Enterprise Linux Bible" (Wiley, 2009)<ref>[http://www.amazon.com/Fedora-Red-Enterprise-Linux-Bible/dp/0470485043 Christopher Negus's Fedora 11 and Red Hat Enterprise Linux Bible]</ref> | * "Fedora 11 and Red Hat Enterprise Linux Bible" (Wiley, 2009)<ref>[http://www.amazon.com/Fedora-Red-Enterprise-Linux-Bible/dp/0470485043 Christopher Negus's Fedora 11 and Red Hat Enterprise Linux Bible]</ref> | ||
edits