Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

28.3. jabber XMPP

jabber homepage XMPP

28.3.1. ejabberd - Distributed, fault-tolerant Jabber/XMPP server written in Erlang

http://www.ejabberd.im/

  1. install

    				
    $ sudo apt-get install ejabberd
    				
    				
  2. configure.

    				
    $ sudo cp /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberd.cfg.old
    $ sudo ls /etc/ejabberd/
    ejabberd.cfg  ejabberd.cfg.old  ejabberd.pem  inetrc
    				
    $ sudo vim /etc/ejabberd/ejabberd.cfg		
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% Options which are set by Debconf and managed by ucf
    
    %% Admin user
    {acl, admin, {user, "neo", "netkiller.8800.org"}}.
    
    %% Hostname
    {hosts, ["netkiller.8800.org"]}.
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    		
    				
    				
  3. create a admin

    # ejabberdctl register <username> <server> <password> # ejabberdctl unregister <username> <server>
    				
    $ sudo ejabberdctl register neo netkiller.8800.org your_password		
    				
    				

    admin page: http://localhost:5280/admin/

  4. firewall

    				
    $ sudo ufw allow xmpp-server
    Rule added
    
    $ sudo ufw allow xmpp-client
    Rule added
    				
    				
  5. test

    				
    $ sudo apt-get install sendxmpp
    				
    				

    Create config file ~/.sendxmpprc

    				
    $ vim ~/.sendxmpprc
    
    #account@host:port password
    neo@netkiller.8800.org chen
    
    $ sudo chmod 600 .sendxmpprc	
    				
    				

    send messages

    				
    $ echo -n hi | sendxmpp -r echocmd neo@netkiller.8800.org
    				
    				
ejabberdctl

set-password

			
$ sudo ejabberdctl set-password eva netkiller.8800.org eva			
			
			

28.3.2. tigase

http://www.tigase.net/

28.3.3. Openfire

http://www.igniterealtime.org/index.jsp

28.3.4. DJabberd

http://www.danga.com/djabberd/

28.3.5. freetalk - A console based Jabber client

$ sudo apt-get install freetalk

$ freetalk		
		

28.3.6. library

python-xmpp
			
$ sudo apt-get install python-xmpp			
			
			
			
$ cat jabber.py
import xmpp
jid=xmpp.protocol.JID('neo@netkiller.8800.org')
cl=xmpp.Client(jid.getDomain(),debug=[])
cl.connect()
cl.auth(jid.getNode(),'chen')
cl.send(xmpp.protocol.Message('neo@netkiller.8800.org','hi there'))
cl.disconnect()