Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DiarioLinux Com Servidor de Faxes Con HYLAFAX PDF
DiarioLinux Com Servidor de Faxes Con HYLAFAX PDF
http://www.diariolinux.com/tiki-print_article.php?articleId=21
Introduccin
En este artculo vamos a dar paso a la instalacin de un servidor de faxes basada en Hylafax.
Hemos de decir que Hylafax goza de buena fama, en el sentido de que es una buena herramienta ofimtica, pero
tambin le precede su leyenda negra de que es muy difcil de instalar y configurar. En nuestro artculo vamos a
intentar hacer una configuracin, en cierto modo sencilla, pero con la profundidad necesaria para aplicar esta
tecnologa all donde vayamos.
Instalacin
Nuestro servidor tiene instalado Debian. An as si tenemos preferencia por otra distribucin no hay que hacer
otra cosa que instalar a su manera las herramientas expuestas aqu. En Debian se instala con apt-get.
Los paquetes de hylafax: hylafax-server hylafax-client hylafax-doc
Los paquetes necesarios para postscript:gs gsfonts gs-common
Los paquetes necesarios para tiff: libtiff3g libtiff-tools libtiff3g-dev
Otros paquetes que no vienen nada mal: mgetty mgetty-voice cu
Creo que no me dejo ninguna cosa. Cmo se que es lo que me hace falta en concreto? Mediante la ejecucin del
comando faxsetup del que hablaremos enseguida. Hay otro programa a instalar llamado cu que nos va a servir
para hablar con el modem.
As pues una vez instalado todo este conjunto, si no lo tenamos ya, hay que pasar al siguiente paso que es el de
1 of 9
06/09/2005 8:20
http://www.diariolinux.com/tiki-print_article.php?articleId=21
configuracin.
No es raro que los paquetes precompilados nos den problemas. Si por esta u otra causa queremos prescindir de
lo anterior basta con bajarnos las fuentes de su pgina, descomprimirlas en /usr/local/src y ejecutar un simple
./configure luego un make y al final make install. El resto se procede como veremos a continuacin.
Configuracin
Para empezar a configurar hay que saber de qu mdem disponemos, en qu puerto y la clase. Para saber en
qu puerto est yo uso un truco, chapucero pero que funciona, consistente en hacer un cat con un archivo
cualquiera y no muy grande al puerto que quiero comprobar. Cul usar? Pues el que desees, en mi caso suelo
usar el .bash_history por pura pereza. Haremos el cat y si parpadean las luces es que hemos acertado con el
puerto:
Luego tenemos que saber qu clases es o soporta. Para ello hay dos maneras, una es usar "cu" y la otra es con
"probemodem". "Cu" es buena solucin aunque requiere ms esfuerzo por nuestra parte, "probemodem", en
cambio, es una solucin automtica que va testeando e interrogando de forma exhaustiva al modem.
Con cu se hace as:
$ cu -l ttyS0
CONNECTED
at+fclass = ?
0,1,2.0
OK
faxsetup
Faxsetup sirve para verificar la instalacin de hylafax y para generar dos ficheros esenciales que cuelgan de
/var/spool/hylafax/:
etc/setup.cache
etc/setup.modem
Sin estos ficheros el servidor no funciona.
Cuando ejecutemos faxsetup se nos dar una serie de mensajes de cosas que nos faltan, que a veces son
absolutamente necesarias y otras son prescindibles aunque recomendables.
En Debian se queja de que no encuentra las rutas de las fuentes gs, aunque estn instaladas. Eso es porque la
ruta que sigue es diferente de la que est. Nosotros vamos a remediar eso creando enlaces simblicos:
2 of 9
06/09/2005 8:20
http://www.diariolinux.com/tiki-print_article.php?articleId=21
faxaddmodem
Esta es la herramienta principal para la configuracin. Nos va a hacer un montn de preguntas que en principio
(slo en principio) podemos contestar pulsando Enter. Pero somos administradores, y por tanto, estamos
obligados a conocer qu nos pregunta antes de aceptarlo ;-), as que vamos a describir una a una qu nos dice:
$ faxaddmodem ttyS0
Country code 1
Area code 4cfd0091e47306256174928e8c817374
En estas debemos contestar qu prefijos tenemos en nuestra localizacin telefnica. En el caso de Espaa
Country Code es 34 y el Area code depende del prefijo provincial. Pe en Navarra es 948.
3 of 9
06/09/2005 8:20
http://www.diariolinux.com/tiki-print_article.php?articleId=21
4 of 9
06/09/2005 8:20
http://www.diariolinux.com/tiki-print_article.php?articleId=21
La de arriba indica a hylafax server cunta calidad mnima queremos en la recepcin (porcentaje de nmero de
lneas buenas) y cuntas lneas malas seguidas aceptaremos.
Max number of pages to accept in a received facsimile 25?
Cuntas pginas aceptaremos como mximo. Ideal para evitar pesados. Por defecto est a 25 pginas.
Syslog facility name for ServerTracing? messages "local5"?
Ajustar la salida de logs. Mira la pgina de manual de syslog.conf. Al final veremos los logs de dos formas
diferentes. Por un lado (gracias al local5) en debian tenemos en el directorio /var/log/hylafax/ los logs generales.
Por el otro cada envo o recepcin de faxes genera un archivo log bastante completo en el directorio
/var/spool/hylafax/log/ con un nmero por nombre. Estos ltimos, como ya he dicho son muy completos,
encierran en cada archivo la sesin completa con negociacin y envos reflejados.
Set UID to 0 to manipulate CLOCAL ""? yes
Esta es la ltima y solo es necesaria para los sistemas silicon graphics.
Bien, lo casi peor ya est hecho. Hemos introducido las variables necesarias con un poco de cabeza. El programa
faxaddmodem nos va a volcar qu hemos introducido para preguntarnos si est todo bien. Mralo, por favor, y si
ves algo raro corrige los errores. No obstante, este programa va a generar el archivo donde, en definitiva, van a
estar todos estos ajustes: etc/config.ttyS0.
Una vez le hemos dicho yes el programa empieza a mirar qu modem tenemos instalado. Va a hacer algo
parecido al probemodem pero menos prolijamente. Primero testea la velocidad y, despues de saber que clase es
nos va a dar la opcin de elegir entre una clase u otra(s). Elegiremos la mejor posible, es decir, si soporta la 2.0
pues la elegimos, si es la 1 a secas, pues la 1. Este dato no nos puede dar lugar a sorpresas pues antes hemos
usado cu o probemodem para saber qu tenemos entre manos.
Os pego lo que sale en mi caso:
d8f5e1919e8840bdd1f0200706bd74cfd0091e47306256174928e8c817374b
...page... Luego viene otra preguntita queremos control por software o por hardware? Si damos a default es casi
seguro que lo pondr por hardware, y ms si se trata de clase 2 o 2.0:
DTE-DCE flow control scheme default?
Esto merece un momento, porque me ha dado mucha guerra.
Si tenemos clase 1 podemos elegir entre control por software o por hardware. Si elegimos por software habr
que bajar la velocidad a 14400 baudios o a 9600. Recomendable por software en este caso.
Si tenemos la 2 o 2.0 tambin podemos elegir entre una u otra. Si elegimos por hardware tenemos que tener o
disponer de un cable de conexin del modem al servidor del tipo RS232, de calidad!. Vamos que si no estamos
seguros de la conexin mejor elegir por software y bajar baudios.
Por hardware es rtscts y por software es xonxoff en el archivo de configuracin etc/config.ttyS0.
Os pego mi configuracin:
lo veis? Tengo suerte y me funciona por hardware. La velocidad se la he bajado de 38400 a 19200 para darme
mayor seguridad. La razn de esto es que algunos faxes que se enviaban llagaban con varias lneas borradas
como si el carro del fax de destino no hubiera corrido. Ahora parece que va pero an as no las tengo todas
conmigo. Cuando lleven mil o dos mil faxes borrar esta lnea o no.
Bueno, continuamos con nuestra configuracin.
Estamos en lo de elegir control por software o por hardware, elegimos uno u otro y continuamos. Luego vienen
ms preguntas o no, segn si el modem est soportado directamente. Hylafax-server tiene una serie de archivos
(que cuelgan en /var/spool/hylafax/config) que pega al principal en caso de reconocer el modem. Si tenemos esa
suerte poco ms hay que hacer, pero si no, nos molestar con ms preguntas. que hacer? Decirle que s a todo.
5 of 9
06/09/2005 8:20
http://www.diariolinux.com/tiki-print_article.php?articleId=21
Luego habr tiempo de cambiar cosas. En principio va a funcionar bien. Despus de esto va a volcar un resumen
de lo que hemos hecho:
A decirle que yes. Si queremos ajustar algo ms finamente (normalmente no har falta) bastar mirar la pgina
de manual de hylafax-config.
Ya tenemos el archivo de configuracin etc/config.ttyS0. Siempre lo podremos retocar as que a seguir sin miedo.
...page...
Envo de faxes
Podemos ajustar el comportamiento de hylafax para enviar faxes o no. Tambin podemos discriminar qu puesto
puede enviar faxes y cul no. Para ello tenemos que ajustar un archivo y, adems, poner en funcionamiento un
demonio. El archivo es etc/hosts.hfaxd y su contenido puede tener, por ejemplo estos valores:
localhost
127.0.0.1
192.168.0.2
192.168.1
El contenido hace referencia a los hosts que pueden enviar faxes. En esa lista hay descritos los localhost, su IP,
la IP de un puesto de la red (192.168.0.2) y una subred completa (192.168.1) podeis utilizar todos o parte.
El demonio a arrancar es
$ faxgetty -D ttyS0
Se debe arrancar al principio y para ello hay varias maneras. En debian se hace editando /etc/defaut/hylafax y
descomentar la lnea apropiada:
USE_FAXGETTY=yes
Otra manera es editando el archivo /etc/initab y aadir esta lnea:
S0:23:respawn:/usr/sbin/faxgetty ttyS0
6 of 9
06/09/2005 8:20
http://www.diariolinux.com/tiki-print_article.php?articleId=21
$ ps auxw|grep fax
uucp
uucp
uucp
root
S Apr01
S Apr01
S Apr01
pts/1 S
0:00 /usr/sbin/faxq
0:00 /usr/sbin/hfaxd -i 4559 -o 4557 -s 444
0:00 /usr/sbin/faxgetty ttyS0
11:54 0:00 grep fax
Vamos a enviar un fax de prueba. Para ello usa un archivo en postscript y lo envias.
Para hacer un postscript simplemente haz un documento en OpenOffice?.org y lo imprimes a un archivo, o usa vi
y haces al final un
:hardcopy > archivo_prueba.ps
Enviamos eso que hemos hecho:
sendfax -N -D 948XXXXXX archivo_prueba.ps
Miras los log (recomiendo que sea en /var/spool/hylafax/log/c0000...log)
Y esperas a ver qu pasa. Si no va bien mira a ver si tienes todo arrancado, si tienes al modem conectado a la
lnea del telfono etc.
Luego esperamos a que nos manden faxes. Solo necesitamos a alguien que lo haga.
Recibiremos un fax que se alojar en:
/var/spool/hylafax/recvq/
En formato tiff.
Hylafax enva una notificacin por correo electrnico al faxmaster indicndole que acaba de recibir un fax
accesible (via ftp en nuestro servidor). Esto esta bien pero queremos hacer mejor las cosas. qu tal si el fax lo
recibiera directamente en su cuenta de correo en pdf? a que sonaran campanas y los pjaros revolotaran? Si
quieres percibir esas sensaciones sigue leyendo :-)
...page...
7 of 9
06/09/2005 8:20
http://www.diariolinux.com/tiki-print_article.php?articleId=21
disponer del ejecutable mimencode que se halla en el paquete metamail. La modificacin consiste en aadir una
linea como esta:
Donde
FAX2PS es el ejecutable tiff2ps
FAX es el fax en formato tiff recibido
-a2 es la opcin que hace que se pase el tiff a postscript nivel 2
gs se encarga de pasarlo a pdf (con las opciones correspondientes)
mimencode transforma el fichero pdf resultante a un formato que pueda ser pegado a un mensaje.
Como veis no s mucho de shell script pero a m lo que realmente me sirvi fue la chuleta de Manel de la
pgina: http://perso.wanadoo.es/manel3/chuletas/faxrcvd
Para probar si funciona o no el script, y evitar que nos vayan enviando faxes y faxes hasta dar con la solucin lo
que hago es ejecutar con el ltimo fax recibido la instruccin que aparece al final de su log:
faxserver:/root# cd /var/spool/hylafax
faxserver:/var/spool/hylafax# cat log/c00000030
.....
abr 01 12:33:27.28: [13299]: RECV FAX: bin/faxrcvd "recvq/fax00001.tif" "ttyS0" "00000030" "" "" ""
abr 01 12:33:27.89: [13299]: RECV FAX: end
abr 01 12:33:27.89: [13299]: SESSION END
faxserver:/var/spool/hylafax#
faxserver:/var/spool/hylafax# __bin/faxrcvd "recvq/fax00001.tif" "ttyS0" "00000030" "" "" ""__
...page...
Configurando clientes
MSWindows
Para ello disponemos de varias soluciones. Una que pasa por configurar y tocar un poco de Samba y dos
soluciones que, a mi juicio, me parecen ms que aceptables, WHFC y Cypheus. Hay ms soluciones en la pgina
principal de hylafax en links.
La solucin consistente en tocar un poco la instalacin de Samba se trata en la pgina de Bulma:
http://bulmalug.net/body.phtml?nIdNoticia=1662 . Aconsejo leerlo si deseis hacer algo en este sentido.
De las otras dos una es libre whfc http://www.uli-eckhardt.de/whfc/ y la otra no http://www.cypheus.de/ . Esta
ltima solo es gratis para asociaciones sin nimo de lucro, no considerando como tales a religiosos ni a
organizaciones eclesisticas.
El caso concreto de WHFC se instala en Windows y crea un puerto (whfc). Ms adelante se instala una impresora
postscript (la appel laserwriter PS por ejemplo) como local, apuntando a ese puerto WHFC. Se configura y la
tenemos lista.
Se puede pasar a castellano descargndose una librera desde:
http://www.uli-eckhardt.de/whfc/download/langdll/whfclang_es_1.2.zip
y copindola al directorio (perdn carpeta) system32 que est alojada en la carpeta windows.
Linux
En OpenOffice?.org para enviar faxes se configura con spadmin agregando una impresora nueva. Nos preguntar
si queremos aadir Impresora nueva o Conectar a un fax o conectar a un convertidor pdf. Seleccionamos la
8 of 9
06/09/2005 8:20
http://www.diariolinux.com/tiki-print_article.php?articleId=21
de conectar a un fax.
Avanzamos y decimos que controlador predeterminado.
Avanzamos de nuevo y nos pide que le digamos qu ejecutar.
Buscamos dnde est el ejecutable sendfax (en nuestro caso en /usr/local/bin)y escribimos esto:
/usr/bin/sendfax -n -d "(PHONE)" "(TMP)"
Le damos nombre y cada vez que queramos enviar faxes nos pedir el nmero de telfono.
En la consola, lo hemos hecho anteriormente para probarlo.
...page...
Mantenimiento
No precisa mucho mantenimiento, basta vigilar los logs un poco.
Tambin disponemos de instrucciones como faxstat que nos va diciendo cmo estn las cosas:
Nada ms, espero que os sirva de ayuda. Me encantara leer vuestros comentarios sobre este artculo :-)
9 of 9
06/09/2005 8:20