Wiadomości błyskawiczne z Prosody na Debian Squeeze

prozodia

Cześć przyjaciele!. Dziś przedstawiam Państwu nowoczesny i elastyczny serwer Jabber / XMPP, napisane w języku Luka i wcześniej znany jako Lxmppd. Charakteryzuje się wieloplatformowym systemem o bardzo niskim zużyciu zasobów, łatwym w użyciu i rozszerzalnym. I bez zbędnych ceregieli, przejdźmy do rzeczy! Może się wydawać, że jest to wiele aspektów, ale tak naprawdę są proste i krótkie. Zobaczymy teraz:

  • Serwer podstawowy
  • Instalujemy niezbędne pakiety
  • Nauczmy się konfigurować
  • Konfigurujemy parametry globalne
  • Tworzymy i konfigurujemy wirtualnego hosta
  • Generujemy certyfikaty SSL / TLS
  • Włączamy hosta
  • Tworzymy pierwszego użytkownika
  • Rejestrujemy naszą Prosody w DNS
  • Sprawdzamy wszystko

Serwer podstawowy
Niskie zużycie zasobów pozwala nam zainstalować Prosody nawet na własnej stacji roboczej i świadczyć z niej usługę Chat.

Instalujemy niezbędne pakiety
Aby zapoznać się z Prosody, będziemy używać oficjalnych pakietów, które znajdują się w repozytorium Squeeze:

aptitude zainstaluj prosody liblua5.1-sec0

Nauczmy się konfigurować
Przeczytajmy dołączoną dokumentację /usr/share/doc/prosody/doc/coding_style.txt, aby zapoznać się z formatem używanym w plikach konfiguracyjnych. Przejdźmy do folderu / etc / prosody i podajemy istniejące pliki i katalogi. Nazwy każdego folderu lub pliku są intuicyjne i jasno określają, do czego są używane:

  • certyfikaty: Katalog, w którym będą przechowywane certyfikaty SSL / TLS i ich klucze prywatne.
  • konf.dost.: Katalog zawierający pliki konfiguracyjne wirtualnych hostów, które deklarujemy jako dostępne. Działa bardzo podobnie do tego, co widzieliśmy w poprzednich postach dotyczących serwerów WWW, tak jak w przypadku folderu udostępnionego przez witryny Nginx.
  • conf.d: Folder, w którym zadeklarowano bezpośrednie łącza wirtualnych hostów w konf.avil i to chcemy umożliwić.
  • prosody.cfg.lua: główny plik konfiguracji Prosody.
  • README: Plik, który daje nam „wskazówkę”, aby przejść dalej. Nie przestawaj czytać!

Dzięki temu, co do tej pory przeczytaliśmy, możemy spróbować minimalnej konfiguracji początkowej.

Konfigurujemy parametry globalne
Dokładnie przestudiujemy główny plik konfiguracyjny/etc/prosody/prosody.cfg.lua, do którego wykonałem bezpłatne tłumaczenie i które na koniec możemy pobrać. Zapiszmy oryginalny plik zainstalowany za pomocą następującego polecenia:

cp /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.original

Opróżniamy plik konfiguracyjny. Dzięki nano, edytujemy prosody.cfg.lua już opróżnione i wklej zawartość pobranego pliku przykładu. Modyfikujemy go zgodnie z naszymi potrzebami i oszczędzamy jak zwykle CTL + o. Później sprawdzamy składnię pliku konfiguracyjnego:

cp / dev / null /etc/prosody/prosody.cfg.lua nano /etc/prosody/prosody.cfg.lua luac -p /etc/prosdy/prosody.cfg.lua

A jeśli nie odesłasz wiadomości, wszystko jest w porządku.

Tworzymy i konfigurujemy Virtual Host
Plik naszego wirtualnego hosta utworzymy go w katalogu /etc/prosody/conf.avail/z nazwą hosta i rozszerzeniem .conf.luai utworzymy go z plikuprzykład.com.cfg.lua istniejące w tym folderze:

mv /etc/prosody/conf.avail/example.com.cfg.lua /etc/prosody/conf.avail/web.amigos.cu.cfg.lua nano /etc/prosody/conf.avail/web.amigos.cu .cfg.lua

Modyfikujemy plik o poprawne parametry zgodnie z naszymi potrzebami. Wersję zgodną z tym przykładem możemy pobrać na końcu wpisu. Nie zapomnij usunąć linii enabled = false - Usuń tę linię, aby włączyć ten host.

Generujemy certyfikaty SSL / TLS
Wykonując polecenie wygenerowania certyfikatów, poproszą nas o informacje związane z naszą firmą.

cd / etc / prosody / certs openssl req -new -x509 -days 365 -nodes -out "web.amigos.cu.crt" -keyout "web.amigos.cu.key"

Sprawdzamy, czy certyfikaty zostały poprawnie wygenerowane przez ls -l.

Włączamy hosta
Aby włączyć hosta zadeklarowanego w /etc/prosody/conf.avail/web.amigos.cu.cfg.lua, musimy utworzyć dowiązanie symboliczne do tego pliku w folderze conf.d. Następnie musimy ponownie uruchomić usługę:

ln -s /etc/prosody/conf.avail/web.amigos.cu.cfg.lua /etc/prosody/conf.d/web.amigos.cu.cfg.lua /etc/init.d/prosody restart

Wskazówka: Otwórz dedykowaną konsolę, aby wyświetlić komunikaty dziennika Prosody za pomocą polecenia ogon -f /var/log/prosody/prosody.log. Jeśli ostatnia linijka mówi „Udało się zdemonizować do PID ####”, to wszystko działa na Kilo!. Jeśli pojawi się komunikat o błędzie, może być konieczne ręczne zabicie procesu „Lua” że działa PRZED ponownym uruchomieniem Prosody. Aby poznać Pid del Lua, uciekajps -e | gre lua. Aby zabić proces, zabić - zabić #pid del lua.

Tworzymy pierwszego użytkownika
Do tworzenia użytkowników używamy polecenia prozodyctl następująco:

prosodyctl adduser admin@web.amigos.cu

Polecenie poprosi nas o podanie pliku "Hasło" użytkownik. Zauważ, że tworzymy użytkownika "Admin", które deklarujemy jako Prosody Administrator w globalnym pliku konfiguracyjnym prosody.cfg.lua.

ZALECAMY NIE UŻYWAĆ polecenia prozodyctl zatrzymać, uruchomić lub ponownie uruchomić usługę, ale zrób to tradycyjnymi metodami, takimi jak:

/etc/init.d/prosody {start | stop | restart | reload} invoke-rc.d prosody {start | stop | restart | reload} usługa prosody {start | stop | restart | reload}

Rejestrujemy naszą Prosody w DNS
Usługa wiadomości błyskawicznych w dużym stopniu opiera się na usłudze DNS. Każdy użytkownik jest identyfikowany poprzez swój adres lub JID z użytkownik @ domena, gdzie domena wskazuje serwer, na którym przechowywane jest konto. Aby użytkownik mógł się połączyć i zalogować, konieczne jest znalezienie adresu IP serwera. Podobnie serwery zdalne muszą kontaktować się z użytkownik @ domena przekazać ci wiadomość. Dlatego konieczne jest, aby serwer Prosody miał typ rekordu A na serwerze DNS naszej sieci LAN. Na przykład:

192.168.10.20 W A web.amigos.cu.

Sprawdzamy wszystko
Mamy już uruchomiony serwer Prosody. Porozmawiajmy więc! Zainstaluj Pidgin lub Psi lub wybierz wybranego klienta XMPP i połącz się z serwerem. Jeśli mu się to udaje, to dlatego, że dokładnie dotrzymał treści tego artykułu. Jeśli nie, zapytaj, po to zostały stworzone blogi takie jak ten. Ahhh, jeśli chcesz rozmawiać z konsoli, zainstaluj Finch.

Zrobiliśmy paczkę z dokumentacją z oficjalnej strony Prosody, która, mamy nadzieję, będzie przydatna. Ci, którzy chcą pobrać pakiety bezpośrednio z repozytorium Prosody, odwiedź Repozytorium pakietów Prosody.

Wszystkim życzę powodzenia i szczęśliwego czatu!

Pobierz przykładowe pliki

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.   Eliotime3000 powiedział

    Dobry pomysł. Zobaczmy, czy mam czas na stworzenie klienta komunikatora internetowego.

    1.    pełen życia powiedział

      Inny klient XMPP? Człowieku, nie sądzę, żeby to było konieczne, chyba że zrobisz to, aby się uczyć i wyznaczysz to jako swój cel. Są to już Pidgin, Kopete, KDE-Telephaty, Empathy, PSI ... w każdym razie.

      1.    łowca powiedział

        No tak, jak inny klient nie sądzę ale fajnie by było pobawić się API XMPP i wysyłać wiadomości z aplikacji.

      2.    Zgnilizny87 powiedział

        Byłoby dobrze, gdybyś na przykład chciał zrobić coś w rodzaju czatu dla sieci wewnętrznej lub czegoś podobnego

      3.    braybaut powiedział

        Jeśli to prawda, ale ten samouczek służy do implementacji klienta XMPP w sieciach bezpłatnych

        1.    łowca powiedział

          Ten samouczek dotyczy serwera, jest już kilku darmowych klientów.

      4.    Eliotime3000 powiedział

        W przypadku Windowsa by służył bardzo dużo (gdyby nie mityczny Messenger, dobrze by było zrobić lepszego, prawda?).

  2.   Federico A. Valdes Toujague powiedział

    Dziękuję wszystkim za komentarze. Moim marzeniem jest mieć klienta internetowego do czatowania w mojej sieci LAN. Zainstalowałem ejabberd z JwChat i ponieważ interfejs w Squeeze był lepki (i brzydki i błędny), nawet tego nie próbowałem. Wypróbowałem serwer WWW Yaws i jego klienta WWW Yaws-chat i nie mogłem go zmusić do prawidłowego działania. Pobrali PHPFreeChat i nic. W Drupalu 6 Lenny'ego próbowałem skonfigurować wtyczki do czatu i wtedy się zmęczyłem, kilka lat temu. Marzę o tym, żeby nie polegać na instalacji klientów i nic więcej na czacie z przeglądarką. Wyzwanie zostało rozpoczęte.

    1.    Eliotime3000 powiedział

      Nie ma za co, kolego. Zobaczmy, czy uda mi się dokończyć pobieranie Wheezy DVD1, aby zrobić tutorial jak zainstalować ZPanelX w nowej wersji Debian Stable (mam nadzieję, że programiści ZPanel nie rezygnują ze wsparcia Ubuntu 12.04 LTS, bo inaczej bym nie mógł automatyczna instalacja tego panelu sterowania, który okazał się świetny, gdy testowałem go w systemie Windows).

  3.   Nowość w Debianie powiedział

    Witam, jeśli jakiś czas temu zainstalowałem Debiana 7. Jednak nie mam internetu, mówi mi, że brakuje mi oprogramowania. Jest to łącze usb tp tl-wn321g. Czy mogę go pobrać z systemu Windows? Przepraszam, że pytam o to, że nie chcę rejestrować się na żadnym forum Debiana, również nie znam dobrze angielskiego.

    1.    Eliotime3000 powiedział

      Jeśli TP-Link ma chipset Altheros, powinien rozpoznać go bez komplikacji.

      Sprawdź, czy Twój model TP-Link USB ma chipset Altheros, a także zanotuj identyfikator sprzętu.

    2.    komentator powiedział

      Jeśli chcesz pobrać iso tutaj, są to isos Debiana, ale są dostarczane z niewolnymi sterownikami i oprogramowaniem układowym.

      http://live.debian.net/cdimage/release/7.0.0+nonfree/i386/iso-hybrid/

  4.   Zgnilizny87 powiedział

    Chciałbym mieć dobre tuto z gwiazdką hehehe

    1.    Julio Cesar powiedział

      Polecam zacząć od Trixbox CE lub Elastix, oba są oparte na Asterisk

      http://www.elastix.org/

      http://www.trixbox.com/

  5.   msx powiedział

    Bardzo dobry przewodnik, bardzo dziękuję 🙂

  6.   alejandrodez powiedział

    Świetnie, bardzo dziękuję, było to bardzo przydatne.

  7.   @JlcMux. powiedział

    Przetestuję to w sieci Mesh Free Network, którą wdrażamy w moim mieście. Wtedy powiem ci, jak sobie z tym radzę.

    Twoje zdrowie.!

  8.   @JlcMux. powiedział

    Jaka szkoda. Zostałem na ostatnim kroku. Gdzie mam skonfigurować DNS? Jaka szkoda być jedynym, który pyta o to haha

  9.   Piccolo Lenza McKaya powiedział

    Mam kilka bardzo interesujących pytań:

    Czy znasz lub masz doświadczenie w instalacji w produkcji prozodii dla 3000 użytkowników, w których jednocześnie jest połączonych co najmniej 1000 rozmów na czacie?

    Wsparcie dla: transferu plików, VIP i tego najważniejszego dziennika konwersacji?

    ŚRODOWISKO: 3 tysiące użytkowników z wyłączoną rejestracją internetową i skryptami za pośrednictwem serwera wywoływanymi przez prawników cgi w celu rejestracji i manipulacji użytkowników, w 8-rdzeniowym DELL T110 z 8 Gb pamięci RAM do wyłącznego użytku lub dla ejabberd w lenny z portami erland i ejabberd

    Piłka puchnie, po przystosowaniu się do wielu problemów w ejabberze, uważam, że to naprawdę sprawia, że ​​czuję się, jakbym zmarnował czas.

    1.    Federico A. Valdes Toujague powiedział

      Pozdrawiam PICCORO Lenz McKAY !!!. Słuchaj, polecam odwiedzić oficjalną stronę Prosody http://prosody.imi rozwiń informacje. Nie mam doświadczenia, aby ponad 1000 klientów rozmawiało jednocześnie z Prosody. I nie sądzę, żebyś zmarnował czas z Ejabberdem. To decyzja, którą podjąłeś w czasach Lenny'ego. Nawiasem mówiąc, przyznaję, że Ejabberd był pierwszym, który zainstalowałem w mojej biznesowej sieci LAN, gdzie może rozmawiało 50 lub 60 użytkowników. Serwer nawet o tym nie wiedział i miał tylko 512 megabajtów pamięci RAM. 🙂 I tak, ciężko mi było ustawić to poprawnie. Prozodia jest bardzo prosta, ale zapraszam do bliższego poznania jej możliwości. Nie chodzi o to, że w niego wątpię, ale że nie mam takiego doświadczenia, jakiego potrzebujesz.