ejabberd je XMPP (nekadašnji Jabber protokol) chat server napisan u Erlang-u, a radi na unix-like i windows platformama i besplatan je.
Poseduje svoj web interfejs, mogućnost konfiguracije virtualnih hostova; podržava MySQL, PostgreSQL, ODBC; LDAP autorizaciju i login preko SSL/TLS, SASL i STARTTLS protokola. Proširiv je uz pomoć različitih modula, npr. za snimanje offline poruka, povezivanje sa IRC kanalima, proksija za slanje fajlova, itd.
A kao klijent program možete korstiti Pidgin.
Ako nekog zanimaju druge server/client varijante ceo spisak dostupnog softvera za XMPP protokol možete naći ovde.
Za download imate instalere na ovom linku.
Kao root napravite installer izvršnim i pokrenite ga.
Vodiće vas kroz sledeće korake:
1. izabor jezika,
2. prihvatanje licence,
3. izbor instalacionog direktorijuma; default ponuđeni je /opt/ejabberd-13.10/ (za trenutnu verziju),
4. izbor ejabberd server domena. Par napomena, ovde možete upisati šta hoćete, ali imajte u vidu da vaši klijenti moraju da resolve-uju IP vašeg servera. Ako vam je server samo u lokalnoj mreži postarajte se da lokalni DNS može da uputi klijente na odgovarajući IP, a ako pravite server koji će biti dostupan spolja onda unesite ime vašeg domena, npr. primer.com ili primer.no-ip.info ako koristite no-ip.info za dinamički IP. Ja ću u ovom tutorijalu koristiti slackware-srbija.org. Kasnije možete dodati više domena (pomenuti vhost-ovi), uz mogućnost podešavanja da korisnički nalozi sa različitih domena komuniciraju između sebe ili ne.
5. izbor administratorskog korisničkog imena; default admin, a ja ću u primeru koristiti abraxas,
6. postavljanje administratorske šifre,
7. deo klastera ili ne; default je ne, tako i ostavite za sad.
8. potvrđivanje unetih parametara i instalacija.
Pre pokretanja servera napravite ejabberd grupu i korisnika sa komandama kao root:
Code: Select all
groupadd ejabberd
useradd -g ejabberd -d /home/ejabberd -s /bin/bash -m ejabberd
Da bi ste ejabberd pokrenuli pri startup-u sistema u /etc/rc.d/ napravite fajl sa nazivom rc.ejabberd koji treba da izgleda ovako:
Code: Select all
#! /bin/sh
set -o errexit
set -o nounset
DIR=/opt/ejabberd-13.10
CTL="$DIR"/bin/ejabberdctl
USER=ejabberd
test -d "$DIR" || {
echo "ERROR: ejabberd not found: $DIR"
exit 1
}
grep ^"$USER": /etc/passwd >/dev/null || {
echo "ERROR: System user not found: $USER"
exit 2
}
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
case "$1" in
start)
test -x "$CTL" || exit 0
echo "Starting ejabberd..."
# $CTL start
su - $USER -c "$CTL start"
su - $USER -c "$CTL started"
echo "done."
;;
stop)
test -x "$CTL" || exit 0
echo "Stopping ejabberd..."
# $CTL stop
su - $USER -c "$CTL stop"
su - $USER -c "$CTL stopped"
echo "done."
;;
force-reload|restart)
"$0" stop
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload}"
exit 1
esac
exit 0
Code: Select all
/etc/rc.d/rc.ejabberd start
Code: Select all
/etc/rc.d/rc.ejabberd stop
Code: Select all
chown ejabberd:ejabberd /opt/ejabberd-13.10/ -R
Pokrenite server komandom:
Code: Select all
/etc/rc.d/rc.ejabberd start
Novog korisnika možete dodati preko web interfejsa ili komandom:
Code: Select all
/opt/ejabberd-13.10/bin/ejabberdctl register imekorisnika slackware-srbija.org sifra
Ako želite da ovog korisnika unapredite u administratora otvorite /opt/ejabberd-13.10/conf/ejabberd.cfg u tekst editoru i ispod linije (u ovom slučaju):
Code: Select all
{acl, admin, {user, "abraxas", " slackware-srbija.org "}}.
Code: Select all
{acl, admin, {user, "imekorisnika", " slackware-srbija.org "}}.
Konfiguracija Pidgin-a je jednostavna: Accounts -> Manage Accounts -> Add..., za protokol izaberite XMPP i polja popunite prema slici.
Detaljan guide za ejabberd imate ovde.
Happy chating!