Messaggistica istantanea con Prosody su Debian Squeeze

prosodia

Ciao amici!. Oggi vi presento un server moderno e flessibile Jabber / XMPP, scritto nella lingua prendere e precedentemente noto come Lxmppd. Ha le caratteristiche di essere un sistema multipiattaforma, a bassissimo consumo di risorse, di facile utilizzo ed estensibile. E senza ulteriori indugi, mettiamoci al lavoro! Possono sembrare tanti aspetti, ma in realtà sono semplici e brevi. Vedremo ora:

  • Server di base
  • Installiamo i pacchetti necessari
  • Impariamo a configurare
  • Configuriamo parametri globali
  • Creiamo e configuriamo l'host virtuale
  • Generiamo certificati SSL / TLS
  • Abilitiamo l'host
  • Creiamo il primo utente
  • Registriamo la nostra Prosody in un DNS
  • Controlliamo tutto

Server di base
Il basso consumo di risorse ci permette di installare Prosody anche sulla nostra postazione di lavoro e da essa fornire il servizio di Chat.

Installiamo i pacchetti necessari
Per familiarizzare con Prosody, utilizzeremo i pacchetti ufficiali presenti nel repository Squeeze:

aptitude installa prosody liblua5.1-sec0

Impariamo a configurare
Leggiamo la documentazione di accompagnamento /usr/share/doc/prosody/doc/coding_style.txt, per familiarizzare con il formato utilizzato nei file di configurazione. Andiamo alla cartella / etc / prosody ed elenchiamo i file e le directory esistenti. I nomi di ciascuna cartella o file sono intuitivi e indicano chiaramente per cosa vengono utilizzati:

  • certs: Directory in cui verranno archiviati i certificati SSL / TLS e le relative chiavi private.
  • conf. disp: Directory che contiene i file di configurazione degli host virtuali che dichiariamo disponibili. Funziona in modo molto simile a quanto visto nei post precedenti relativi ai server web, come nel caso della cartella dei siti disponibili di Nginx.
  • conf: Cartella in cui vengono dichiarati i collegamenti diretti degli host virtuali conf.avil e che vogliamo abilitare.
  • prosody.cfg.lua: file principale della configurazione Prosody.
  • README: File che ci dà un "indizio" per andare avanti. Non smettere di leggerlo!

Con quello che abbiamo letto finora, possiamo provare una configurazione iniziale minima.

Configuriamo i parametri globali
Studiamo attentamente il file di configurazione principale/etc/prosody/prosody.cfg.lua, a cui ho fatto una traduzione gratuita e che possiamo scaricare alla fine. Salviamo il file originale installato utilizzando il seguente comando:

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

Svuotiamo il file di configurazione. Con il nano, modifichiamo il file prosody.cfg.lua già svuotato e incolla il contenuto del file di esempio scaricato. Lo modifichiamo in base alle nostre esigenze e salviamo con il solito ctl + o. Successivamente controlliamo la sintassi del file di configurazione:

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

E se non restituisci un messaggio, va tutto bene.

Creiamo e configuriamo il Virtual Host
Il file del nostro host virtuale, lo creeremo nella directory /etc/prosody/conf.avail/con il nome host, più l'estensione .conf.luae lo creeremo dal fileesempio.com.cfg.lua esistente in quella cartella:

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

Modifichiamo il file con i parametri corretti in base alle nostre esigenze. Possiamo scaricare una versione coerente con questo esempio alla fine del post. Non dimenticare di eliminare la riga enabled = false - Rimuovi questa riga per abilitare questo host.

Generiamo certificati SSL / TLS
Quando eseguiranno il comando per generare i certificati, ci chiederanno informazioni relative alla nostra azienda.

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

Controlliamo che i certificati siano stati generati correttamente da ls -l.

Abilitiamo l'host
Per abilitare l'host dichiarato in /etc/prosody/conf.avail/web.amigos.cu.cfg.lua, dobbiamo creare un collegamento simbolico di quel file nella cartella conf. Quindi dobbiamo riavviare il servizio:

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

Consiglio: Consente di aprire una console dedicata per visualizzare i messaggi di registro di Prosody utilizzando il comando tail -f /var/log/prosody/prosody.log. Se l'ultima riga dice "Demonizzato con successo a PID ####", quindi Tutto funziona al Kilo!. Se ti capita di ricevere un messaggio di errore, potresti dover terminare manualmente il processo "Lua" che sia in esecuzione PRIMA di riavviare Prosody. Per conoscere il pid del Lua, corrips -e | grep lua. Per uccidere il processo, uccidi - uccidi #pid del lua.

Creiamo il primo utente
Per creare utenti utilizziamo il comando prosoditto come segue:

utente aggiuntivo prosodyctl admin@web.amigos.cu

Il comando ci chiederà il file "parola d'ordine" dell'utente. Notare che creiamo l'utente "Admin", che dichiariamo come amministratore Prosody nel file di configurazione globale prosody.cfg.lua.

SI CONSIGLIA DI NON utilizzare il comando prosoditto per arrestare, avviare o riavviare il servizio, ma farlo con metodi tradizionali come:

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

Registriamo la nostra Prosody in un DNS
Il servizio di messaggistica istantanea fa molto affidamento sul servizio DNS. Ogni utente è identificato dal suo indirizzo o IADB nel modo di utente @ dominio, dove il dominio indica il server su cui è archiviato l'account. Affinché l'utente possa connettersi e accedere, è necessario trovare l'indirizzo IP del server. Allo stesso modo i server remoti devono contattare il utente @ dominio per passarti un messaggio. Pertanto, è necessario che il server Prosody abbia un tipo di record A nel server DNS della nostra LAN. Per esempio:

192.168.10.20 IN Un web.amigos.cu.

Controlliamo tutto
Abbiamo già il nostro server Prosody in esecuzione. Parliamo allora! Installa Pidgin o Psi o scegli il client XMPP di tua scelta e connettiti al server. Se ci riesce è perché ha seguito alla lettera il contenuto di questo articolo. In caso contrario, chiedi, è per questo che sono stati creati blog come questo. Ahhh, se vuoi chattare da una console, installa Finch.

Abbiamo realizzato un pacchetto con la documentazione dal sito ufficiale di Prosody che speriamo possa essere utile. Coloro che desiderano scaricare i pacchetti direttamente dal repository Prosody, visitare Repository di pacchetti Prosody.

A tutti, in bocca al lupo e buona chat!

Scarica file di esempio

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   eliotime3000 suddetto

    Buon suggerimento. Vediamo se ho tempo per creare un client di messaggistica istantanea.

    1.    vivace suddetto

      Un altro client XMPP? Amico, non penso sia necessario a meno che tu non lo faccia per imparare e impostarlo come obiettivo. Sono già Pidgin, Kopete, KDE-Telephaty, Empathy, PSI ... comunque.

      1.    cacciatore suddetto

        Bene, tanto quanto un altro client non credo, ma sarebbe divertente giocare con l'API XMPP e inviare messaggi dalle applicazioni.

      2.    marcisce87 suddetto

        Andrebbe bene se ad esempio ti servisse fare una specie di chat per una rete interna o qualcosa di simile

      3.    braybaut suddetto

        Se questo è vero, ma questo tutorial viene utilizzato per implementare un client XMPP nelle reti libere

        1.    cacciatore suddetto

          Questo tutorial è per il server, ci sono già alcuni client gratuiti.

      4.    eliotime3000 suddetto

        Per Windows servirebbe molto (in assenza del mitico Messenger, sarebbe bene realizzarne uno migliore, vero?).

  2.   Federico A. Valdes Toujague suddetto

    Grazie a tutti per i vostri commenti. Il mio sogno è avere un client web per chattare sulla mia LAN. Ho installato ejabberd con JwChat e poiché l'interfaccia in Squeeze era appiccicosa (e brutta e piena di bug), non l'ho nemmeno provata. Ho provato il server web di Yaws e il suo client web di chat di Yaws e non sono riuscito a farlo funzionare correttamente. Hanno scaricato PHPFreeChat e niente. Con Drupal 6 di Lenny ho provato a configurare i plugin per la chat e mi sono stancato allora, diversi anni fa. Sogno di non dipendere dall'installazione dei client e di chattare con un browser niente di più. La sfida è lanciata.

    1.    eliotime3000 suddetto

      Sei il benvenuto, amico. Vediamo se riesco a finire di scaricare il Wheezy DVD1 per fare un tutorial su come installare ZPanelX nella nuova versione di Debian Stable (spero che gli sviluppatori ZPanel non abbandonino il supporto di Ubuntu 12.04 LTS, perché altrimenti non potrei fare un automatizzato installazione di quel pannello di controllo che ho trovato fantastico quando l'ho provato su Windows).

  3.   Nuovo in Debian suddetto

    Ciao, se ho installato Debian 7 poco fa. Tuttavia non ho Internet, mi dice che mi manca il firmware. È un collegamento tp usb tl-wn321g. Posso scaricarlo da Windows? Mi dispiace chiedere qui è che non voglio registrarmi in nessun forum Debian, inoltre non conosco molto bene l'inglese.

    1.    eliotime3000 suddetto

      Se il TP-Link ha il chipset Altheros, dovrebbe riconoscerlo senza complicazioni.

      Verifica se il tuo modello USB TP-Link ha il chipset Altheros e prendi nota dell'ID hardware.

    2.    commentatore suddetto

      Se vuoi scaricare gli iso qui, sono iso Debian ma vengono forniti con driver e firmware non liberi.

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

  4.   marcisce87 suddetto

    Vorrei un buon tuto sull'asterisco hehehe

    1.    Julio Cesar suddetto

      Ti consiglio di iniziare utilizzando Trixbox CE o Elastix entrambi basati su Asterisk

      http://www.elastix.org/

      http://www.trixbox.com/

  5.   msx suddetto

    Ottima guida, grazie mille 🙂

  6.   alejandrodez suddetto

    Eccellente, grazie mille è stato molto utile.

  7.   @Jlcmux suddetto

    Lo proverò nella rete Mesh Free che stiamo implementando nella mia città. Allora ti dirò come sto facendo con questo.

    Saluti.!

  8.   @Jlcmux suddetto

    Che peccato. Sono rimasto nell'ultimo passaggio. Dove configuro il DNS? Che peccato essere l'unico che lo chiede ahah

  9.   Piccolo Lenz McKay suddetto

    Ho alcune domande molto interessanti:

    Conosce o ha esperienza per un'installazione in produzione di prosodia per 3000 utenti dove sono connessi contemporaneamente almeno 1000 chat contemporaneamente?

    Supporto per: trasferimento file, VIP e questo il registro delle conversazioni più importante?

    AMBIENTE: 3mila utenti, con web reg disabilitato e script tramite server richiamati tramite cgi prawns per la registrazione e manipolazione degli utenti, in un DELL T8 a 110 core con 8Gb di ram ad uso esclusivo o per ejabberd in lenny con ported erland ed ejabberd

    La palla si gonfia, dopo aver sistemato molti problemi nell'ejabberd, trovo questo, davvero questo mi fa sentire come se avessi perso il mio tempo ..

    1.    Federico A. Valdes Toujague suddetto

      I miei saluti PICCORO Lenz McKAY !!!. Guarda, ti consiglio di visitare il sito ufficiale di Prosody http://prosody.imed espandere le informazioni. Non ho esperienza con più di 1000 client che chattano contemporaneamente con Prosody. E non credo che tu abbia sprecato il tuo tempo con l'Ejabberd. È una decisione che hai preso ai tempi di Lenny. A proposito, confesso che Ejabberd è stato il primo che ho installato sulla mia rete aziendale, dove forse 50 o 60 utenti hanno chattato all'unisono. Il server non lo sapeva nemmeno e aveva solo 512 megabyte di RAM. 🙂 E sì, ho avuto difficoltà a configurarlo correttamente. Il Prosody è molto semplice, ma vi invito a saperne di più sulle sue potenzialità. Non è che dubiti di lui, ma che non ho l'esperienza di cui hai bisogno.