2016/01/17 08:12 1/6 Instalacja serwera Instalacja serwera # poldek -uvh ejabberd Konfiguracja Edytujemy naszym ulubionym edytorem plik /etc/jabber/ejabberd.cfg {acl, admin, {user, "admin"}}. % user z prawami administratora, dowolny login {acl, local, {user_regexp, ""}}. {access, pubsub_createnode, [{allow, all}]}. {access, configure, [{allow, admin}]}. {access, register, [{deny, all}]}. {welcome_message, {"Welcome!", "Welcome to Jabber.", "For information about Jabber visit http://jabber.org"}}. {registration_watchers, ["user@localhost"]}. % user, który będzie powiadamiany o rejestracjach do serwera jabbera {access, announce, [{allow, admin}]}. {access, c2s, [{deny, blocked}, {allow, all}]}. {shaper, normal, {maxrate, 1000}}. {shaper, fast, {maxrate, 50000}}. {access, c2s_shaper, [{none, admin}, {normal, all}]}. {access, s2s_shaper, [{fast, all}]}. {access, muc_admin, [{allow, admin}]}. {access, muc, [{allow, all}]}. {access, local, [{allow, local}]}. PLD-users.org - http://www.pld-users.org/
Last update: 2009/04/12 18:11 pl:przewodniki:ejabberd http://www.pld-users.org/pl/przewodniki/ejabberd {auth_method, internal}. {hosts, ["localhost", "jabber.nasza_domena.pl"]}. % nasze hosty, które będziemy używać (zewnętrzne domeny muszą istnieć) {max_user_sessions, 10}. {language, "en"}. {listen, [{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}, {max_stanza_size, 65536}, starttls, {certfile, "/etc/jabber/jabber.pem"} ]}, {5223, ejabberd_c2s, [{access, c2s}, {max_stanza_size, 65536}, tls, {certfile, "/etc/jabber/jabber.pem"}]}, {5269, ejabberd_s2s_in, [{shaper, s2s_shaper}, {max_stanza_size, 131072} ]}, {5348, ejabberd_service, [{access, all}, {host, "msn.jabber.nasza_domena.pl", [{password, "hasło z /etc/jabber/secret"}]}]}, {5349, ejabberd_service, [{access, all}, {host, "gg.jabber.nasza_domena.pl", [{password, "hasło z /etc/jabber/secret"}]}]}, {5347, ejabberd_service, [{access, all}, {hosts, ["ircnet.jabber.nasza_domena.pl", "freenode.jabber.nasza_domena.pl"], [{password, "hasło z /etc/jabber/secret"}]}]}, {5280, ejabberd_http, [http_poll, web_admin]} ]}. {s2s_use_starttls, true}. {s2s_certfile, "/etc/jabber/jabber.pem"}. {domain_certfile, "jabber.nasza_domena.pl", "/etc/jabber/jabber.pem"}. {outgoing_s2s_port, 5269}. {modules, [ {mod_register, [{access, register}]}, {mod_roster, []}, {mod_privacy, []}, {mod_adhoc, []}, {mod_configure2, []}, {mod_disco, []}, {mod_stats, []}, {mod_vcard, []}, {mod_offline, []}, {mod_echo, [{host, "echo.nasza_domena.pl"}]}, http://www.pld-users.org/ Printed on 2016/01/17 08:12
2016/01/17 08:12 3/6 Instalacja serwera {mod_private, []}, {mod_irc, []}, {mod_muc, [{access, muc}, {access_create, muc}, {access_admin, muc_admin}]}, {mod_pubsub, [{access_createnode, pubsub_createnode}]}, {mod_time, []}, {mod_last, []}, {mod_version, []} ]}. Certyfikaty dla połączeń SSL/TLS # openssl genrsa -out /etc/jabber/jabber.key 1024 # openssl req -new -x509 -days 365 -key /etc/jabber/jabber.key -out /etc/jabber/jabber.crt # cat /etc/jabber/jabber.crt >> /etc/jabber/jabber.key # mv /etc/jabber/jabber.key /etc/jabber/jabber.pem # rm -f /etc/jabber/jabber.crt Transport Gadu-Gadu # poldek -uvh jggtrans Ustawiamy najważniejsze opcje w /etc/jabber/jggtrans.xml <service jid="gg.jabber.nasza_domena.pl"/> <connect id="gglinker"> <ip>127.0.0.1</ip> <port>5349</port> <secret>hasło z /etc/jabber/secret</secret> </connect> <spool>/var/spool/jabber/gg.jabber.atwa.us/</spool> <admin>admin@jabber.nasz_domena.pl</admin> <acl> <allow who="admin@jabber.nasza_domena.pl" what="iq/query?xmlns=http://jabber.org/protocol/stats"/> <deny who="*" what="iq/query?xmlns=http://jabber.org/protocol/stats"/> <allow who="*"/> <deny what="iq/query?xmlns=jabber:x:register"/> <allow what="presence"/> <deny/> </acl> Następnie tworzymy katalog, w którym będą trzymane dane userów używających transportu PLD-users.org - http://www.pld-users.org/
Last update: 2009/04/12 18:11 pl:przewodniki:ejabberd http://www.pld-users.org/pl/przewodniki/ejabberd # mkdir -p /var/spool/jabber/gg.jabber.nasza_domena.pl # chown -R root:jabber /var/spool/jabber/ # chmod -R g+w /var/spool/jabber/ Transport MSN Instalujemy najważniejsze rzeczy: # poldek -uvh python-twisted python-twisted-ssl python-twistedwords python- TwistedWeb python-twistedxish python-imaging python-pyopenssl Teraz trzeba już ręcznie ściągnąć transport stąd. Wypakowujemy go i ustawiamy config. W src/config.py: jid = "msn.jabber.nasza_domena.pl" host = "127.0.0.1" compjid = "" spooldir = "/var/lib/ejabberd/" disconame = "MSN Transport" mainserver = "127.0.0.1" website = "" port = "5348" secret = "hasło z /etc/jabber/secret" Natomiast w config.xml (jeśli nie ma to tworzymy z templatu) ustawiamy te same opcje tylko w formacie XMLowym. Musimy niestety utworzyć jeszcze 2 symlinki bo PyMSNt źle szuka naszych zainstalowanych rozszerzeń pythona: # ln -s /usr/share/python2.4/site-packages/twisted/words /usr/lib[64]/python2.4/site-packages/twisted/words # ln -s /usr/share/python2.4/site-packages/twisted/xish /usr/lib[64]/python2.4/site-packages/twisted/xish Odpalamy PyMSNt: #./PyMSNt & Konfiguracja domeny W domenach które ma obsługiwać nasz jabber dopisujemy odpowiednie rekordy SRV. Dzięki temu adres jabbera może być inny od adresu rekordu A danej domeny: jabber.example.net. A 1.2.3.4 _jabber._tcp.example.net. SRV 20 0 5269 http://www.pld-users.org/ Printed on 2016/01/17 08:12
2016/01/17 08:12 5/6 Instalacja serwera jabber.example.net. _xmpp-server._tcp.example.net. SRV 20 0 5269 jabber.example.net. _xmpp-client._tcp.example.net. SRV 20 0 5222 jabber.example.net. Uruchamiamy ejabberda i tworzymy konto administratora # service ejabberd start # ejabberdctl ejabberd@localhost register admin jabber.nasza_domena.pl hasło_do_konta_admina # service jggtrans start I to praktycznie cała filozofia. Pod adresem http://server:5280/admin/ zastaniemy ładnego web admina dzięki któremu możemy trochę monitorować nasz serwer, dodawać i usuwać userów, zmieniać im hasła itd. Sam user ma oczywiście możliwość zmiany hasła przez swojego klienta jabbera. Czy ja czasem nie zapomniałem o transporcie ircowym? Nie, ejabberd ma wbudowany transport IRCa i stąd wystarczyło tylko odblokować odpowiedni port i usługę w ejabberd.cfg i transport od razu działa. Podziękowanie Powyższe howto jest w dużywm stopniu przepisane z blogu shadzika. Oryginał można obejrzeć pod tym adresem: http://shadzik.jogger.pl/2007/08/09/ejabberd-on-pld-msn-irc-gg-transports/ Polecam również drugi artykuł shadzika dotyczący konfiguracji ejabberd: http://shadzik.jogger.pl/2007/09/26/ejabberd-migrating-from-mnesia-to-mysql-native-driver/ TODO * Zaktualizować powyższe howto do configów aktualnych wersji ejabberd i jggtrans. * pymsnt podobno już działa z paczki PLD PLD-users.org - http://www.pld-users.org/
Last update: 2009/04/12 18:11 pl:przewodniki:ejabberd http://www.pld-users.org/pl/przewodniki/ejabberd From: http://www.pld-users.org/ - PLD-users.org Permanent link: http://www.pld-users.org/pl/przewodniki/ejabberd Last update: 2009/04/12 18:11 http://www.pld-users.org/ Printed on 2016/01/17 08:12