XMPP Server Install

Chat Server in 5 minutes

Bear (aka Mike Taylor)

What is XMPP

What is XMPP

What is XMPP

What is XMPP

What can you do with XMPP

XMPP is ...

more information about XMPP

OK, Enough with the Adverts

Installing Prosody

Configuration

Server-wide Settings

-- Generally required
        "roster"; -- Allow users to have a roster. Recommended ;)
        "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
        "tls"; -- Add support for secure TLS on c2s/s2s connections
        "dialback"; -- s2s dialback support
        "disco"; -- Service discovery

-- Not essential, but recommended
        "private"; -- Private XML storage (for room bookmarks, etc.)
        "vcard"; -- Allow users to set vCards
        "privacy"; -- Support privacy lists
        "compression"; -- Stream compression

Server-wide Settings

-- Nice to have
        "legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
        "version"; -- Replies to server version requests
        "uptime"; -- Report how long server has been running
        "time"; -- Let others know the time here on this server
        "ping"; -- Replies to XMPP pings with pongs
        "pep"; -- Enables users to publish their mood, activity, playing music and more
        "register"; -- Allow users to register on this server using a client and change passwords
        "adhoc"; -- Support for "ad-hoc commands" that can be executed with an XMPP client

Server-wide Settings

-- Other specific functionality
        "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
        --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
        --"httpserver"; -- Serve static files from a directory over HTTP
        --"groups"; -- Shared roster support
        --"announce"; -- Send announcement to all online users
        --"welcome"; -- Welcome users who register accounts
        "watchregistrations"; -- Alert admins of registrations
        --"motd"; -- Send a message to users when they log in

Server-wide Settings

VirtualHost "code-bear.com"
        -- Assign this host a certificate for TLS, otherwise it would use the one
        -- set in the global section (if any).
        -- Note that old-style SSL on port 5223 only supports one certificate, and will always
        -- use the global one.
        ssl = { 
                key = "/etc/prosody/certs/code-bear.com.key";
                certificate = "/etc/prosody/certs/code-bear.com.cert";
        }

Resources

Thanks to the many XMPP slide decks I used for information