Se il settore dell'automobile si fosse sviluppato come l'industria informatica, oggi avremmo veicoli che costano 25 dollari e fanno 500 Km con un litro.

— Bill Gates

ArchLinux Small Business Server (35) - Instant Messaging (4)

http://www.stenoweb.it/files/blog/archlogo.png Terminamo la breve cavalcata (ma neanche tanto) sui servizi "Messaging" del nostro SBS Server dedicandoci ai clients e all'integrazione con la nostra struttura aziendale. A questo punto il server dovrebbe essere funzionante e operativo, basterebbe usare/installare/configurare un qualsiasi client che supporti XMPP/jabber sui PC della rete. Ma non mi pare "elegante". Molto meglio centralizzare la gestione ed assegnare dal server chi debba o meno usare il messaging senza dover intervenire manualmente su ogni macchina della rete. Ecco come si fà (o meglio: ecco come ho fatto io).

Il client PSI

Il Partito Socialista Italiano ... :D ok dai era troppo ghiotta.
Ho usato PSI, che è solo uno dei tanti client jabber disponibili, per questi motivi:

  • E' sviluppato con le QT4: questo significa multipiattaforma.
  • E' monoprotocollo: E' un client jabber e basta, e questo mi và bene dal momento che non voglio vengano usati canali alternativi.
  • E' trasportabile: questo significa che, in ambiente Windows, può essere usato (con un accorgimento) senza essere installato, con un doppio click sul file eseguibile. Questo è fondamentale per me dal momento che metterò PSI su una cartella condivisa sul server per essere usato dai clients.
  • E' completo. Se guardate il link con il client disponibili notate la sua posizione privilegiata.

Roster

Come abbiamo visto jabber chiama roster la lista dei contatti. Per fare in modo che ogni utente al primo collegamento sia dotato della lista contatti aziendale di default dobbiamo andare ad armeggiare con il file di configurazione relativo :

sudo nano /etc/jabberd/templates/roster.xml

eccone uno spaccato :
<!-- This is the roster template. If enabled in sm.xml, new users will
get this roster by default. -->
<query xmlns='jabber:iq:roster'>
<item name='Antonio' jid='antonio@im.mede.it' subscription='both'>
Commerciale

<item name='Lucia' jid='lucia@im.mede.it' subscription='both'>
Commerciale

<item name='Sergio' jid='sergio@im.mede.it' subscription='both'>
Tecnico



Come vedete si possono anche dividere in comodi gruppi. Al primo collegamento l'utente prenderà quasta lista e la inserirà nel suo roster. Attenzione, solo al primo collegamento.

Installazione del client

Vi avviso che la procedura è un po' laboriosa. Il fatto che ho deciso di "centralizzare" la gestione non significa che non c'e' lavoro da fare: per ogni utente che andremo ad abilitare c'e' una procedura manuale da fare prima di poterlo far collegare.

  • Eseguiamo la normale installazione di PSI su di un client Windows che verrà usato come "modello".
  • Lanciamo il client
  • Creiamo un account (uno di quelli messi sul template roster.xml). Ricordo che gli utenti esistono già, e sono stipati sull'albero LDAP. Quindi dovete usare un utente esistente nel dominio.
  • Configuriamo a puntino PSI come ci sembra debbe essere il default ottimale.
  • Sulla configurazione account l'unica cosa a cui bisogna prestare attenzione è il flag obbligatorio in Ignore SSL warnings sulla TAB Connection: altrimenti riceverete sempre un fastidioso messaggio quando si tenta il collegamento dato che il certificato SSL che abbiamo generato è self signed.

A questo punto dovremmo avere il modello configurato a puntino. La configurazione è stata salvata in c:\documents and settings\\PsiData.

Continuiamo, che abbiamo appena iniziato ;):

  • Trasferiamo tutto sul server in una cartella condivisa (nel mio caso X:\PSI per gli utenti) copiandoci pari/pari il contentuto di c:\programmi\psi.
  • Creiamo la cartella x:\psi\psidata che conterrà le configurazioni utente
  • Creiamo una cartella per ogni utente sotto psidata: la cartella deve corrispondere al nome utente. Es. x:\psi\psidata\antonio
  • Copiate il contenuto della c:\documents and settings\\PsiData generata prima in x:\psi\psidata\antonio
  • Editiamo il file x:\psi\psidata\antonio\profiles\default\config.xml e modifichiamo quello che stà sotto il tag per far corrispondere i dati al nostro Antonio.

Gli ultimi tre punti lo dovete fare per ogni utente a cui pensate di dare i servizi di messaging. Una bella faticaccia, ma ne guadagnate dopo in comodità di gestione. Garantisco.

Avvio del client

Alt ! Fermi non abbiamo finito! Non lanciare il client !
PSI di default memorizza i dati nella cartella home dell'utente localmente sul PC. Noi non vogliamo che sia così, vogliamo il PC pulito e le configurazioni centralizzate sul server. Per fare questo bisogna definire una variabile di ambiente PSIDATADIR con il valore che ci interessa. Ma come farlo centralmente per ogni PC ?
Semplice ;), ricordate il file logon.pl visto nel capitolo File Server ?
Questo file generava lo script di login (un file .BAT) "al volo" per ogni utente secondo le nostre esigenze. Bene riprendiamo in mano il file :

sudo nano /etc/samba/logon.pl

Creiamo una nuova variabile che contenga gli utenti da abilitare al servizio messaging:
$JABBER = "-antonio-lucia-giovanni-";

e aggiungiamo la nostra regola in fondo :

# JABBER su PC
if (index($JABBER,"-".lc($ARGV[0])."-") >=0)
{
print LOGON "set PSIDATADIR=\\\\ARCHI\\APPS\\psi\\psidata\\$ARGV[0]\r\n";
print LOGON "start \\\\ARCHI\\APPS\\PSI\\PSI.EXE\r\n";
}

Ricordo che $ARGV[0] contiene il nome dell'utente che esegue il logon. Salviamo il file e via. Tutto a posto.
Al prossimo collegamento al server gli utenti specificati avranno una sorpresa...

Ammetto che questa parte non è necessaria e poteva essere fatta anche in altri modi, ma secondo me è molto pratico: dobbiamo dare il servizio messaging a Maria ?
Senza nemmeno andare a trovarla (anche se magari con Maria ne vale la pena :D)

  • creiamo x:\psi\psidata\maria clonandone una esistente da un altro utente
  • sistemiamo il file config.xml
  • aggiungiamo "maria" nella variabile JABBER sul file logon.pl
  • diciamo a Maria di scollegarsi e ricollegarsi al dominio

Fatto.

Alla prossima, con i servizi ....

Estes cães devem, preferencialmente, ser mantidos em uma trela quando retirado para uma caminhada.
Você pode aprender como acalmar um cão energético , como exercitar com seu animal de estimação e
como treinar seu cachorro para parar de mastigar em seus dedos .
A liderança deve ser menor para obter um filhote de cachorro , na verdade, de 6 pernas.