[Poradnik] Jak postawić własny serwer Jabber/XMPP alternatywa dla innych środków komunikacji

Poradniki społeczności
LinGruby
LinGruby Pionier

Najpierw wyjaśnię co co to jest Extensible Messaging and Presence Protocol (XMPP, dawniej Jabber)– protokół bazujący na języku XML umożliwiający przesyłanie w czasie rzeczywistym wiadomości oraz statusu. Protokół ma zastosowanie nie tylko w komunikatorach, ale również w innych systemach natychmiastowej wymiany informacji.

Po więcej informacji odsyłam do https://pl.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol

A teraz przejdźmy do instalacji i konfiguracji serwera eJabberd 2

apt-get install ejabberd

można powiedzieć to wszystko co do instalacji serwera ( bo serwer już działa ).

Teraz przejdźmy do konfiguracji żeby nasz serwer był widoczny na zewnątrz

musimy w DNS dodać rekordy SRV

_jabber._tcp.domena.pl. 86400 IN SRV 5 0 5269 domena.pl.
_xmpp-server._tcp.domena.pl. 86400 IN SRV 5 0 5269 domena.pl.
_xmpp-client._tcp.domena.pl. 86400 IN SRV 5 0 5222 domena.pl.

oczywiście w miejsce domena.pl podajemy swoją domenę jeśli posiadamy, jeśli nie mamy domeny pomijamy dodanie rekordu SRV w DNS.

Za pomocą edytora którego używamy otwieramy plik

/etc/ejabberd/ejabberd.yml

przeglądając go zauważymy że prawie wszystko jest ustawione poza podstawowymi wpisami które musimy uzupełnić, odnajdujemy

hosts:
- "localhost"

i podmieniamy na domenę którą posiadamy lub podajemy IP na którym ma stać serwer eJabberd 2

odnajdujemy następnie uzupełniamy

admin:
 user:
     - "admin": "localhost"

podobnie jak w hosts zmieniamy na swoją domenę lub IP.

Temat konfiguracji można powiedzieć że zakończony robimy teraz

/etc/init.d/ejabberd restart

pozostaje jeszcze zarejestrowanie admina

ejabberdctl register admin domena.pl hasło

zamiast domeny jak nie mamy podajemy IP

hasło nie muszę tłumaczyć każdy podaje swoje

Teraz otwieramy przeglądarkę wpisujemy

http://domena.pl:5280/admin/

i logujemy się na konto admin

a w środku wygląda to tak

Teraz możemy przejść do klientów Jabber/XMPP są to programy które obsługuję protokół XMPP

na linuxa i nie tylko mogę polecić Tkabber żeby pobrać paczki na linuxa tkabber Download (DEB, RPM, XZ)

na telefony z androidem polecam apk Bruno the Jabber Bear (XMPP)

strona programisty https://yaxim.org/bruno/

Podejrzewam że może być to ciekawa alternatywa dla administracji serwerów TS etc.

Sam korzystam już od 2008 roku z protokołu Jabber/XMPP i nie narzekam ;-)

SystemZ
SystemZ Admin lvlup.pro

Polecam też od siebie Openfire, dla początkujących może nawet prostszy. http://www.igniterealtime.org/projects/openfire/

Kwestia instalacji paczki i wszystko da się spokojnie załatwić przez panel webowy. Jest też całkiem sporo pluginów i integracji. Inne serwery raczej mają kiepskie web gui, choć nie sprawdzałem prosody, to chyba jeden z ciekawszych serwerów był, nie pamiętam czy ten miał integrację z komunikatorem na www czy był jeszcze jakiś inny.

Profugus
Profugus

Gdzie edytuje się rekordy SRV w DNS?

LinGruby
LinGruby Pionier

Tam gdzie masz domenę podpiętą

Profugus
Profugus

W panelu nie mam pola do edycji rekordu SRV

LinGruby
LinGruby Pionier

Bo to musisz w panelu dodać bynajmniej u mnie jest taka opcje jak w ovh tak i cloudflare gdzie mam wszystkie domeny podpięte

Profugus
Profugus

U mnie takiej opcji nie ma. Zrobiłem standardowe przekierowanie domeny na IP serwera.

Tylko w katalogu o jakim wspomniano nie mam pliku ejabberd.yml

Profugus
Profugus

Mam tylko cfg i pem

Czyżby instalacja nie przebiegła prawidłowo?

LinGruby
LinGruby Pionier

to zobacz w .cfg bo co distro to inaczej ja na debianie miałem


a na ubuntu korzystam już z innej wersji która ma wszystkie pliki w opt ;-)

Profugus
Profugus

%% Admin user {acl, admin, {user, "", "localhost"}}.

%% Hostname {hosts, ["localhost"]}.

To będzie to?

LinGruby
LinGruby Pionier

Tak

Profugus
Profugus

Ok. Wpisać adres domeny z tym http? czy czysty?

LinGruby
LinGruby Pionier

samo domena.pl

a możesz też na samym IP tak jak pisałem wyżej

LinGruby:

jeśli nie mamy domeny pomijamy dodanie rekordu SRV w DNS.

Profugus
Profugus

Zadziałało przekierowanie po IP

LinGruby
LinGruby Pionier

To się cieszę 😃

Powodzenia

Profugus
Profugus

Działa dzięki :D

Profugus
Profugus

Pytanko moje. Istnieje klient działający z poziomu strony www?

LinGruby
LinGruby Pionier

musisz poszukać bo nigdy tym się nie interesowałem, nie był mi potrzebny ;-)

SystemZ
SystemZ Admin lvlup.pro

Tak, są klienty webowe.

Dawno nie korzystałem ale patrząc na wyniki wyszukiwarki frazy xmpp web client można by się zainteresować tym https://conversejs.org/

SystemZ
SystemZ Admin lvlup.pro

Znalazłem przy okazji jeszcze dwa projekty webowego XMPP warte uwagi

http://candy-chat.github.io/candy/ http://getkaiwa.com/

JanekJaran
JanekJaran

Fakt jest to pewnego rodzaju alternatywa. Ma jednak (jak wszystko) swoje wady i zalety dlatego ja wolę zostać przy discordzie, który jest darmowy i nie zużywa zasobów serwera. Jednak poradnik bardzo dobrze opisał proces instalacji, za co należy się like.

Profugus
Profugus

Dla mnie jabber jest lepszym rozwiązaniem niż standardowy czat na stronie. Mam nadzieje że uda mi się to ogarnąć.