Hanno detto:

Mai fidarsi di un computer che non è possibile gettare dalla finestra.

— Steve Wozniak

ArchLinux Small Business Server (37) - Fax Server (2)

http://www.stenoweb.it/files/blog/archlogo.png Vediamo ora come mettere in piedi questo benedetto server fax. Questa parte è un po' pallosa, ci sono un sacco di codicini e codicioni, ma che ci posso fare ? I modem parlano un linguaggio un po' strano :). Partiamo con la semplice installazione.

Installazione

L'installazione non presenta particolari difficoltà. Hylafax è presente in nei repo standard di Archlinux e quindi può essere installato così:

sudo pacman -S hylafax gsfonts

Ho aggiunto gsfonts, che a mio parere dovrebbe essere inclusa tra le dipendenze, che provvederà ad installare anche ghostscript universalmente usato in ambiente linux quando ci sono di mezzo file postscript, PDF e immagini. Ma se non installiamo gsfonts (ovvero la libreria fonts di ghostscript) hylafax risulta completamente inservibile non potendo fare alcuna conversione in tiff da ps o pdf.

Configurazione

Configurazione generale

Dalla console digitiamo:

sudo /usr/sbin/faxsetup

Partirà lo script di configurazione in cui, se non si hanno esigenze particolari, occorre inserire solo pochi parametri tra quelli richiesti, lasciando ai valori di default gli altri.
Vediamo quelli più importanti:
CountryCode: 0039 (ossia, il prefisso internazionale dell'Italia)
AreaCode: 02 (il proprio prefisso (qui è stato indicato quello di Milano)
FAXNumber: 20304050 (il proprio numero della linea telefonica utilizzata per ricevere i fax)
RingsBeforeAnswer: 5 (il numero di squilli prima della risposta in automatico alla ricezione dei fax)
SpeakerVolume: on (o off se non si vuole "sentire" il modem quando viene utilizzato)
LocalIdentifier: "Società X" (intestazione che appare sui fax inviati).

Configurazione del/dei modems

Appena terminata la configurazione generale faxsetup lancia automaticamente faxaddmodem per configurare, appuno, il primo modem (che dovreste avere, ovviamente).
Sarà possibile configurare in seguito ulteriori modem con il comando:

sudo /usr/sbin/faxaddmodem ttyS0

dove ttyS0 indica, ad esempio, un modem collegato alla porta COM1, ttyS1 alla porta COM2 eccetera. Generalmente, il modem (e le sue caratteristiche) vengono rilevate in automatico.

I parametri da inserire sono praticamente gli stessi del settaggio generale di Hylafax visto prima, e comunque basta lasciare le impostazioni di default per quelli che non si capiscono e inserire le informazioni "intuibili" quali, ad esempio, il numero massimo di pagine ricevibili (MaxRecvPages).
Importanti sono le due stringe successive che consentono di utilizzare il comando X3, di non attendere il segnale di linea per comporre il numero, e di comporre un eventuale numero per uscire da un centralino (ad esempio lo "0")

ModemResultCodesCmd: ATQ0X3
ModemDialCmd: ATDP0,%s

Il risultato della configurazione di un modem è un file config.ttyS0 (o config.ttyS1 ecc... per le altre porte COM) presente nella directory /var/spool/hylafax/etc. E' un normale file di testo e come tale possiamo editarlo e modificarlo a piacimento. Se il modem non viene rilevato dal programma di setup (son cazzi in genere se succede...), è possibile configurarlo con i files presenti in /var/spool/hylafax/config relativi ai modem piu' comunemente utilizzati. Ad esempio, se il modem è un class1 collegato sulla COM2 (non sapete cosa sia un class1, class2, class2.0 ? informatevi ...), le procedure da compiere sono le seguenti:
cd /var/spool/hylafax/config
cp class1 ../etc/config.ttyS1
cd ../etc
sudo nano config.ttyS1

e via di configurazione manuale. Buona fortuna ! :D

inittab

Cosè inittab? A non mi ricordo, leggete qua ;)

sudo nano /etc/inittab

E aggiungiamo
f1:2345:respawn:/usr/lib/fax/faxgetty ttyS0

In questo modo dovrebbe partire faxgetty e prendere possesso del vostro modo restando anche in attesa dei fax in arrivo.

Utenti e permessi

La gestione degli utenti e dei relativi permessi in Hylafax segue la sua via. Niente integrazione con OpenLDAP insomma. Peccato.
Dobbiamo farla manualmente e possiamo seguire tre strade:

  • aggiungere nel file /var/spool/hylafax/etc/hosts.hfaxd gli indirizzi ip da cui ci si puo' collegare a Hylafax server (come standerd è indicato 127.0.0.1, ossia l'indirizzo relativo all'accesso dalla macchina server stessa);
  • utilizzare /usr/local/sbin/faxadduser: ad esempio, per inserire l'utente gino con password ginetto, occorre eseguire il comando
sudo /usr/local/sbin/faxadduser -p ginetto gino
  • o infine possiamo aprire alla democratica anarchia: permettere a tutti i pc della rete di inviare fax. Vi confesso che io faccio proprio cosi. Nel file indicato prima, e cioè /var/spool/hylafax/etc/hosts.hfaxd basta aggiungere la magic string:
^.*@.*$

che utilizzado le wildcards abilita qualsiasi utente da qualsiasi indirizzo. Sicurezza ? Bè, fate un po voi, diamo per assunto che un fax server sia interno ad una azienda, o che il firewall non permetta l'accesso ai servizi fax alla porta 4559 utilizzata da Hylafax.

Avvio del servizio

Ora possiamo avviare il servizio

sudo /etc/rc.d/hylafax start

e metterno nell'array DAEMONS come al solito per far avviare il servizio all'avvio del server.

La prossima volta vedremo una comoda interfaccia web per amministrare il server e non solo.

A quando la terza parte? ;)