Instalación del Hylafax
Nota: Ésta es la vista de impresión del Manual de referencia completo en una sola página. Si lo prefiere puede encontrar la versión original aquí.
1. Tras instalar Debian
Tras haber instalado Debian a pelo, hemos tenido que actualizar al tipo de Debian que queríamos tocando el fichero /etc/apt/sources.list Una vez tocado hacemos el apt-get dist-upgrade, luego el apt-get upgrade y el apt-get update
PAQUETES BÁSICOS QUE VAMOS A INSTALAR
Instalamos el entorno gráfico kde
apt-get install kde
El sistema x-windows, para poder tener el servidor en en modo gráfico:
apt-get install x-windows-system
Nos fallaba el teclado (quizá porque es USB)
apt-get install kdm
Otros
apt-get install sux
Sux is a wrapper around the standard su command which will transfer your X credentials to the target user. Sux is released under the terms of the X11 license.
apt-get install mozilla-firefox
2. Prerrequisitos del Hylafax
libtiff conseguirlo en http://www.remotesensing.org/libtiff/
- Ghostscript – conseguirlo en http://www.cs.wisc.edu/~ghost/
- zlib: normalmente disponible con libtiff o Ghostscript
- awk, gawk, mawk, or nawk - consigue mawk en ftp://ftp.whidbey.net/pub/brennan/ Muchas distribuciones vienen ya con ello.
- sendmail o SMTP compatible: consíguelo en http://www.sendmail.org/ Muchas distribuciones vienen ya con ello.
- metamail or uuencode Para uso opcional en pasarelas fax-to-mail
GHOSTSCRIPT
Voy a http://www.cs.wisc.edu/~ghost/ y de ahí a http://www.cs.wisc.edu/~ghost/doc/gnu/gpl815.htm y me bajo http://prdownloads.sourceforge.net/ghostscript/ghostscript-8.15.tar.gz?download
Lo dejo en la carpeta de root.
Para descomprimir:
tar zxvf ghostscript-8.15.tar.gz
y me crea una carpeta llamada ghostscript-8.15. Entro en ella y hago:
./configure
me da un error de que no puede encontrar una copia de la librería jpeg. Para instalarla me hace falta compilar ghostscript.
Para bajármela voy a http://www.ijg.org y de ahí me bajo el siguiente enlace
http://www.ijg.org/files/jpegsrc.v6b.tar.gz. Me dice para descomprimirlo en el directorio de arriba del árbol de las fuentes de ghostscript y que lo renombre como jpeg
Vuelvo a hacer el ./configure en el Gs, pero no hay forma, me da error ahora de zlib. Me bajo los fuentes de http://www.gzip.org/zlib/zlib-1.2.1.tar.gz
los dejo en /root y descomprimo el fichero entro en la carpeta que me acaba de crear y compilo e instalo:
tar zxvf zlib-1.2.1.tar.gz
cd /root/zlib-1.2.1
./configure
make
make install
Ahora ya tenemos el zlib instalado, vamos a probar si nos permite instalar el ghostscript. Volvemos al
directorio de /root/ghostscript-8.15
cd /root/ghostscript-8.15
./configure
make
make install
GAWK, SENDMAIL, METAMAIL
apt-get install gawk
apt-get install sendmail
apt-get install metamail
INSTALACIÓN DEL SERVIDOR HYLAFAX
apt-get install hylafax-serverTras hacer esto, ejecutaremos el faxsetup. El faxsetup acaba antes de que te enteres. Puedes aceptar todo lo que viene por defecto. Una vez que la instalación finaliza, el script te pregunta si ejecutar el faxaddmodem para todos los dispositivos disponibles. Puedes elegir si o luego ejecutarlo manualmente en el prompt del root . Tras la ejecución del faxsetup se habrán creado 2 ficheros
/var/spool/hylafax/etc/setup.cache--> parámetros de configuración del servidor
/var/spool/hylafax/etc/setup.modem--> parámetros de configuración del módem
3. Ficheros de configuración del Hylafax
Una cosa que tenemos que tener en cuenta es que existen dos directorios /etc/hylafax y /var/spool/hylafax/etc
Los ficheros que existen en ambos sitios duplicados, son una copia. Hay que modificar los ficheros que están en /etc/hylafax y al reiniciar el servidor de hylafax automáticamente serán copiados en /var/spool/hylafax/etc
– /ETC/HYLAFAX/HFAXD.CONF:
Fichero de configuración para el hfaxd, el daemon del servidor HylaFAX . En él se define donde están los ficheros de configuración adicionales. La versión instalada de este fichero raramente suele tener que ser modificado. Los parametros que se cambian aquí se aplican a todas la transmisiones.
– /ETC/HYLAFAX/HYLA.CONF
Paramatros de configuración para cliente desde este host envían faxes con sendfax.
– /ETC/HYLAFAX/CONFIG:
Configuración general Hylafax para el sistema local. Aquí especificas cómo llamar a teléfonos (incluyendo cómo distinguir llamadas de larga distancia e internacionales de locales) , tema de logs, nº máximo de trabajos concurrentes (no debe ser superior al nº de módems conectados al sistema), máximo tamaño de página para faxes (enviar y recibir, incluyendo página de cubierta), y el nº máximo de llamadas de teléfono e intentos de conexión que se harán para enviar cada fax.
– /ETC/HYLAFAX/CONFIG.TTYSO:
Especifica el fichero de dispositivo serie conectado a cada módem (ej., ttyS0) y contiene configuraciones relacionadas con comunicación específicas de módem.
– /ETC/HYLAFAX/HOSTS.HFAXD
El fichero especifica los equipos y usuarios a los que se les permite acceder a los servicios, por medio del proceso hfaxd
Se añaden y se borran usuarios con el comando faxadduser y faxdeluser.
– VAR/SPOOL/HYLAFAX/INFO
Directorio con información sobre las máquinas a las que ya se ha enviado algún fax.
– VAR/SPOOL/HYLAFAX/DOCQ
Directorio con los documentos enviados
4. Arrancar el servidor Hylafax
Tenemos los siguientes procesos:
- faxgetty: proceso que esta escuchando a ver si llegan faxes de entrada al módem
- faxq: encola faxes que están saliendo y entando. El proceso se ejecuta continuamente y no puede correr más de uno simultáneamente.
- hfaxd: se comunica con clientes, tales como cliente Windows de Hylafax, Cypheus,SMBFax.....
Si vas a recibir faxes además de enviar, deberás tener el servicio faxgetty en marcha en el servidor. Este servicio estará escuchando en un puerto específico para responder a llamadas entrantes.
Para arrancar el servicio que acabamos de comentar, tenemos que añadir una línea al /etc/inittab
t2:23:respawn:/usr/sbin/faxgetty ttyS0
Cuando hagas el cambio, reinicia la máquina y ejecuta
ps ax # deberías ver dicho servicio en ejecución.
Para arrancar el servicio de cola de fax, debes ejecutar
/usr/sbin/faxq
Una vez que el servicio se ha iniciado, le enlazas un módem usando "faxmodem devicename", en nuestro caso "faxmodem ttyS0". Con esto se le dice al servicio faxq que cuando tenga un trabajo en la cola, puede usar ttyS0 para mandarlo fuera. El servidor fax, que acepta trabajos entrantes de clientes, está representado por el demonio hfaxd. Para iniciar el servicio en su configuración estandar, usa
"hfaxd -i 4559".
Esto arranca hfaxd usando un protocolo cliente-servidor y escuchando en el puerto 4559.
5. Automatizando el arranque del servidor
Quizá con la misma instalación te haya quedado OK el arranque, entonces no tendrías que hacer esto.
Para conseguir que algo arranque en el inicio de la mayoría de las distribuciones linux, configuras un script que cargue los demonios y pones el script en el sitio donde será llamado por el proceso init. El script que podemos usar , podemos llamarlo fax.sh, consiste en 3 comandos
faxq
faxmodem ttyS0
hfaxd -i 4559
en líneas separadas y en orden. Para añadir el script a los scripts que son llamados por init, tienes que ponerlo en el directorio /etc/init.d Para tener el script configurado con las configuraciones de Debian por defecto para servicios estandar, hay que ejecutar el siguiente comando:
update-rc.d fax.sh defaults
6. Pruebas de funcionamiento
Una vez hecho esto, probar que se puede enviar un fax desde el sistema. Para ello, cogemos un documento y lo imprimimos a fichero (así nos creara un fichero PostScript), Tras ello ejecutamos:
sendfax -n -d n_fax file.ps
Tendrá que llegar un fax al fax destino.
Ahora debemos probar si nos pueden mandar faxes desde el exterior. Para ello decimos que alguien nos envíe un fax. En caso de llegar, quedaría en el directorio /var/spool/hylafax/recvq en formato de fichero TIFF.
Para poder verlo, deberíamos usar una aplicación como kfax para ver el fax recibido.
Si algo no ha funcionado, echar un vistazo a /var/log/messages a ver si vemos el motivo del error.
7. Recibir un fax en formato pdf en un buzón de correo.
Para ello crear el fichero FaxDispatch (en /etc/hylafax/FaxDispatch) que contenga los siguientes comandos:
FILETYPE=pdf; #sustituye tif por pdf si quieres
SENDTO=FaxBandeja;
Se requiere para enviar los faxes entrantes como anexos. Con estas líneas estamos consiguiendo que los faxes entrantes sean enviados como anexo al FaxBandeja (en nuestro caso una base de datos de correo de Lotus Notes)
Y además en /etc/aliases añadir
FaxMaster: email@dominio.X
FaxBandeja: email2@dominio.X #buzón correo al que queremos que lleguen los faxes
y ejecutar comando:
newaliases
Para que nos envíe un email con un pdf anexado cuando el fax ha sido enviado: tocar el fichero
/etc/hylafax/FaxNotify
NOTIFY_FAXMASTER=yes;
RETURNFILETYPE=pdf;
8. Configuración del sendmail
/etc/init.d/sendmail stop
/etc/init.d/sendmail start
Editar fichero de configuración/etc/mail/sendmail.cf, buscamos una línea similar a la siguiente:
#”Smart” relay host (may be null)
DS
Esta línea hay que cambiarla de forma que referencie a nuestro servidor de correo saliente o smtp (para que sendmail envie a dicho servidor nuestro correo).
#”Smart” relay host (may be null)
DSnombre_servidor_correo
Ahora tenemos que enmascarar nuestra dirección de correo (es decir, modificar el fichero de configuración para que las direcciones de retorno de emails no sean las que tenemos en nuestra máquina (como sromero@localhost), sino las direcciones de retorno reales. Para ello buscamos la siguiente línea:
#Who I masquerade as (null for no masquerading)
DM
A esta línea se le añade el dominio de nuestra dirección de correo. Si mi dirección email es usuario@dominio.com, el dominio es dominio.com:
#Who I masquerade as (null for no masquerading)
DMdominio.com
Una vez realizada la configuración, supongamos que desde un usuario cualquiera enviamos un email a jose@proveedor.es, mediante el comando mail jose@proveedor.es. Dicho email se grabará en /var/spool/mqueue a la espera de ser enviado a nuestro ISP quien a su vez lo enviará al usuario jose. Es decir, los emails que enviemos a Internet se guardarán en el directorio del correo hasta que se realice su envío mediante sendmail en la próxima conexión a Internet, gracias al comando "sendmail -q". Los mensajes en cola de envío se encuentran en /var/spool/mqueue (por si queremos releerlos o borrar alguno), y podemos consultarlos mediante el comando mailq.
Al final y no sé por qué para hacer esto, hemos tenido que editar el fichero /src/share/sendmail/cf/debian/sendmail.mc
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.13.2-1 2004-12-16 01:32:38 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
MASQUERADE_AS(nuestro_dominio.es)dnl
define(`SMART_HOST', `nombre_servidor_correo')
Y luego hacer lo siguiente (que es lo que me crea el fichero de configuracin .cf)
m4 sendmail.mc > /etc/mail/sendmail.cf