Zainstaluj serwer XMPP (Jabber) z Prosody [Zaktualizowano]


Wielu z nas korzysta Gtalk o Facebook Chat nie wiedząc, że protokół, którego używamy do komunikacji, to nic innego jak XMPP (Rozszerzony protokół przesyłania wiadomości i obecności) który jest również otwarty.

En GNU / Linux Mamy kilka aplikacji do skonfigurowania własnego serwera XMPP o paplanie jak wiadomo, niektóre bardziej skomplikowane niż inne podczas konfiguracji. Na przykład mamy ejabberd, co jest dość proste i lekkie, ale jeśli chcemy zoptymalizować znacznie więcej, mamy Prozodia.

Zostawiam cię poniżej artykuł opublikowane w GUTL przez jednego z naszych użytkowników (Hugo) i pokazuje nam, jak skonfigurować nasz własny serwer XMPP z Prozodia.

Wprowadzenie

Podczas instalowania serwera protokołu XMPP (Jabber) do wewnętrznej komunikacji w sieci lokalnej, wielu wybiera jabber, ejabberd lub openfire, ale chociaż aplikacje te działają, mogą wymagać sporo zasobów.

Jeśli masz małą lub średnią sieć i potrzebujesz prostego komunikatora, na szczęście istnieje lekka alternatywa dla serwera o nazwie prosody, która chociaż jest napisana w LUA, który jest językiem interpretowanym, według jej twórców działa bardzo dobrze dzięki luajit.

Ten krótki samouczek wyjaśni, jak zainstalować i skonfigurować prozodię w stabilnym Debianie.

Przygotowania i instalacja

Pakiety prosody znajdują się w repozytorium Debiana, ale twórcy tego oprogramowania przygotowali repozytorium dla Debiana i pochodnych, które zawiera najnowsze pakiety i dodatkowe moduły, których możemy użyć w następujący sposób:

echo "deb http://packages.prosody.im/debian stabilny główny" | sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -sudo aptitude update

Po dodaniu repozytorium możemy przystąpić do instalacji prozodii (dodatkowo dodając moduły do ​​wykorzystania sasl jako mechanizm uwierzytelniania, jeśli to konieczne, który umożliwia integrację prozodii pam, LDAP, Etc.).

sudo aptitude zainstaluj sasl2-bin libsasl2-modules-ldap prosody liblua5.1-{sec0,cyrussasl0,event-prosody0}

Następnie przystępujemy do generowania samopodpisanych certyfikatów dla naszej domeny:

cd /etc/prosody/certs sudo openssl req -new -x509 -days 1095 -nodes -out "mydomain.cu.cert" -keyout "mydomain.cu.key"

Asystent poprosi nas o szereg danych, z których tak naprawdę istotne to „Nazwa zwyczajowa (np. server Nazwa FQDN lub TWOJE imię)”, w którym musimy umieścić naszą domenę, ponieważ będziemy jej używać w sekcji Wirtualny Host z pliku konfiguracyjnego.

Dodatkowo, jeśli na serwerze, na którym instalujemy prozodię mamy skonfigurowaną iptables Przy domyślnych zasadach odmowy musimy otworzyć wymagane porty dla naszej sieci, na przykład:

sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m state --state ESTABLISHED, RELATED -j ACCEPT sudo iptables -A INPUT -i eth1 -s 192.168.0.0/24 -p tc p -m tcp -m wieloportowy --dports 5222,5223,5269 -m stan --stan NOWY -j AKCEPTUJ

konfiguracja

Następnie przystępujemy do modyfikacji niektórych linii pliku konfiguracyjnego, dla których musimy edytować /etc/prosody/prosody.cfg.lua aby wyglądało to tak:

porty = { 5222, 5269 } ssl_ports = { 5223 } admins = { "john@midomain.cu", "pedro@midomain.cu" } use_libevent = true; -- domyślna opcja jest oparta na funkcji select(), zamiast tego libevent używa epoll(), która jest bardziej wydajna i skalowalna. module_enabled = { "lista"; "saslauth"; "tls"; „oddzwanianie”; "dysk"; "prywatny"; "vcard"; "Prywatność"; "kompresja"; "starsze uwierzytelnienie"; "wersja"; „czas pracy”; "czas"; "świst"; "energia"; "rejestr"; -- nie wyłączaj tego modułu, umożliwia on nie tylko rejestrację, ale także zmianę haseł „adhoc”; "admin_adhoc"; „posiks”; "brednie"; -- dodaj tę linię, jeśli chcesz włączyć jabber przez http }; Zezwól na rejestrację = fałsz; -- wyłączone ze względów bezpieczeństwa -- zmień na true, jeśli chcesz włączyć tworzenie konta z samego klienta ssl = { key = "/etc/prosody/certs/localhost.key"; certyfikat = "/etc/prosody/certs/localhost.cert"; } magazyn = "wewnętrzny"; -- domyślną pamięcią jest plik xml -- opcjonalnie możemy użyć metody "sql" -- pozwala to na użycie SQLite, MySQL lub PostgreSQL jako backendu (chociaż trzeba dodać pewne parametry) Authentication = "internal_hashed"; -- możemy użyć "internal_plain", jeśli klient nie obsługuje SCRAM-SHA-1 -- jeśli chcemy użyć metody sasl do późniejszego korzystania z LDAP, musimy użyć "cyrus" log = { error = "/var/log/prosody/prosody.err"; info = "/var/log/prosody/prosody.log"; } pidfile = "/var/run/prosody/prosody.pid"; VirtualHost "localhost" VirtualHost "mydomain.cu" ssl = { key = "/etc/prosody/certs/mydomain.cu.key"; certyfikat = "/etc/prosody/certs/mojadomena.cu.crt"; }

Po zmodyfikowaniu pliku konfiguracyjnego zrestartujemy usługę:

sudo odejmowanie prozodii usługi

Teraz przystąpimy do tworzenia kont. W tym przypadku, ponieważ w pliku konfiguracyjnym wyłączyliśmy rejestrację od klientów, konta będą musiały zostać utworzone ręcznie na serwerze. Metoda uwierzytelniania, którą wybieramy w konfiguracji (internal_hashed) oznacza, że ​​hasła nie są zapisywane w sposób jawny, ale z mechanizmem SCRAM-SHA-1. Jeśli klient wiadomości, którego zamierzamy użyć, nie obsługuje tego mechanizmu, w konfiguracji można użyć metody „internal_plain”.

Najpierw utworzymy konta administratorów serwisu, które deklarujemy w konfiguracji (zadeklarowanie ich nie oznacza, że ​​są tworzone automatycznie):

sudo prosodyctl adduser juan@midomain.cu sudo prosodyctl adduser pedro@midomain.cu

Możemy użyć tego samego polecenia dla dowolnego innego konta, które chcemy utworzyć.

Na koniec sprawdzamy, czy usługa działa:

sudo status prozodyczny

Powinniśmy otrzymać komunikat podobny do następującego:

Prosody działa z PID 1310

Konfiguracja klienta

Konfiguracja zależy od każdego klienta, ale generalnie szczegóły są proste. Na przykład dla Pidgin:

Zakładka „Podstawowe”.

Użytkownik: John
Domena: mojadomena.cu
Ratunek: PC-Juan

Zakładka „Zaawansowane”.

Bezpieczeństwo połączenia: Jeśli to możliwe, użyj szyfrowania
Port połączenia: 5222
Połącz się z serwerem: mojserwer.mojadomena.cu

Banknoty

Więcej informacji (w tym korzystanie z Cyrus SASL z LDAP i jak tworzyć wpisy DNS) W ten artykuł z Wiki Debiana.

Użytkownik komentuje za pośrednictwem DesdeLinux aby naprawdę zatrzymać usługę, którą musiałeś wykonać pkill lua5.1


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   KZKG ^ Gaara powiedział

    Podoba mi się…zobaczymy, czy raz na zawsze zamienię OpenFire na ejabberd lub tę Prosody 🙂

    1.    pełen życia powiedział

      Robię już testy w VirtualBox właśnie w tym celu... bo jeśli czekamy na ciebie mój synu... ¬¬

      1.    KZKG ^ Gaara powiedział

        ^-^ Ty… hehe…
        Teraz wysyłam zgłoszenie do dostawcy usług hostingowych z pytaniem o rekord DNS potrzebny do usunięcia „jabbera”.______

        1.    pełen życia powiedział

          Dobra. Jabber, IRC, Facebook, Gtalk, nie wiem jak i gdzie, ale połącz...

  2.   Ernest Infante powiedział

    Jak przebiega integracja z LDAP firmy Prosody? a DB?

  3.   Zgnilizny87 powiedział

    Kilka obrazków dla mniej zorientowanych nie byłoby złe ^.^

  4.   łowca powiedział

    W domu mam prozodię, zainstalowałem ją na próbę i spodobała mi się za jej prostotę. Szczegół podczas zatrzymywania serwera Muszę wykonać pkill lua5.1, aby naprawdę go zatrzymać.

  5.   auroszx powiedział

    To ciekawe. Czy istnieje sposób, w jaki inne osoby mogą tworzyć użytkowników za pomocą GUI (może to być sieć)? Jak by to zrobić, aby uzyskać domenę, aby z niej korzystać? 😛

    1.    łowca powiedział

      Włączasz rejestrację w configu iz tego samego klienta jabber są rejestrowani poprzez zaznaczenie opcji utworzenia konta na serwerze.

      Zezwól na rejestrację = prawda;

  6.   Ferran powiedział

    Szukam pakietów prozodii w slackware, świetny tutorial. Pozdrowienia

  7.   Artur Molina powiedział

    Jak mogę sprawdzić, czy użytkownikowi udało się uwierzytelnić? lub skąd mogę wiedzieć, czy użytkownik jest połączony z serwerem?

  8.   @JlcMux. powiedział

    Udało się 😀 Udało mi się poprawnie zainstalować i skonfigurować. Zainstaluj serwer na jednym komputerze, a klientem jest inny komputer. ale mam problem. Aby klient wiedział, że mój serwer z domeną (medellinlibre.org) jest LOKALNY. Muszę dodać do pliku hosts IPDELSERVIDOR medellinlibre.org. W przeciwnym razie nie łączy się z oczywistych powodów. Martwię się, czy nie ma sposobu, aby wszystkie komputery w sieci wiedziały domyślnie, że wspomniana domena znajduje się w sieci LAN pod określonym adresem IP?

    1.    Ltd powiedział

      ta sama wątpliwość! wiedziałeś na końcu? Zaczynam od prozodii...

    2.    łowca powiedział

      Bardzo proste, w pidgin określ ip serwera w zaawansowanych opcjach, drugą opcją jest ustawienie dns w twojej sieci LAN.

  9.   Francisco powiedział

    Ten temat jest bardzo interesujący i chciałem wiedzieć, czy Prosody obsługuje websockets. Jestem zainteresowany stworzeniem klienta sieciowego xmpp

    1.    @JlcMux. powiedział

      Mogłeś to zobaczyć. http://code.google.com/p/xmppwebchat/

  10.   Inukaze powiedział

    Cześć, czy nie masz wersji samouczka z konfiguracją, która jest przeznaczona tylko dla domowego intranetu?Bez domeny lub czegoś w tym rodzaju. prawie tak, że tylko 1 komputer z Linuksem jest serwerem i inne komputery, które się z nim łączą

    Chodzi wyłącznie o możliwość czatowania między zespołami w intranecie za pośrednictwem pidgin.