Inhaltsverzeichnis

Fax-Server mit HylaFAX+ unter CentOS5


HylaFAX+ ist eine OpenSource Fax-Serverlösung mit dem klingenden Slogan:

HylaFAX™ is an enterprise-class open-source system for sending and receiving facsimiles as well as for sending alpha-numeric pages. The „+“ means that it is better.The world's most advanced open source fax server.

Da es für HylaFAX+ ein bereits vorgefertigtes RPM gibt, brauchen wir nicht mehr selber Hand anlegen und HylaFAX aus den Quellen selbst übersetzen und installieren.
Ein ausführliches How-To findet man ebenso wie die Manpage-List auf der sourceforge.net Project Page.

Installation

Die Installation geht wie gewohnt sehr einfach von statten.

yum install hylafax

Nach der erfolgreichen Installation können wir uns mittels rpm -ql hylafax einen Überblick verschaffen, welche Dateien installiert und wohin dise gespeichert werden.

rpm -ql hylafax
/etc/cron.daily/hylafax
/etc/cron.hourly/hylafax
/etc/hylafax
/etc/hylafax/faxcover.ps
/etc/hylafax/faxmail
/etc/hylafax/faxmail.ps
/etc/hylafax/faxmail/application
/etc/hylafax/faxmail/application/octet-stream
/etc/hylafax/faxmail/application/pdf
/etc/hylafax/faxmail/image
/etc/hylafax/faxmail/image/tiff
/etc/hylafax/hfaxd.conf
/etc/hylafax/pagesizes
/etc/hylafax/typerules
/etc/rc.d/init.d/hylafax
/usr/bin/faxalter
/usr/bin/faxcover
/usr/bin/faxmail
/usr/bin/faxrm
/usr/bin/faxstat
/usr/bin/sendfax
/usr/bin/sendpage
/usr/lib/libfaxserver.so.5.2.5
/usr/lib/libfaxutil.so.5.2.5
/usr/sbin/choptest
/usr/sbin/cqtest
/usr/sbin/dialtest
/usr/sbin/edit-faxcover
/usr/sbin/faxabort
/usr/sbin/faxaddmodem
/usr/sbin/faxadduser
/usr/sbin/faxanswer
/usr/sbin/faxconfig
/usr/sbin/faxcron
/usr/sbin/faxdeluser
/usr/sbin/faxgetty
/usr/sbin/faxinfo
/usr/sbin/faxlock
/usr/sbin/faxmodem
/usr/sbin/faxmsg
/usr/sbin/faxq
/usr/sbin/faxqclean
/usr/sbin/faxquit
/usr/sbin/faxsend
/usr/sbin/faxsetup
/usr/sbin/faxsetup.linux
/usr/sbin/faxstate
/usr/sbin/faxwatch
/usr/sbin/hfaxd
/usr/sbin/hylafax
/usr/sbin/lockname
/usr/sbin/ondelay
/usr/sbin/pagesend
/usr/sbin/probemodem
/usr/sbin/recvstats
/usr/sbin/tagtest
/usr/sbin/textfmt
/usr/sbin/tiffcheck
/usr/sbin/tsitest
/usr/sbin/typetest
/usr/sbin/xferfaxstats
/usr/share/doc/hylafax-5.2.5
/usr/share/doc/hylafax-5.2.5/CHANGES
/usr/share/doc/hylafax-5.2.5/CONTRIBUTORS
/usr/share/doc/hylafax-5.2.5/COPYRIGHT
/usr/share/doc/hylafax-5.2.5/README
/usr/share/doc/hylafax-5.2.5/TODO
/usr/share/doc/hylafax-5.2.5/VERSION
/usr/share/man/man1/edit-faxcover.1.gz
/usr/share/man/man1/faxalter.1.gz
/usr/share/man/man1/faxcover.1.gz
/usr/share/man/man1/faxmail.1.gz
/usr/share/man/man1/faxrm.1.gz
/usr/share/man/man1/faxstat.1.gz
/usr/share/man/man1/hylafax-client.1.gz
/usr/share/man/man1/sendfax.1.gz
/usr/share/man/man1/sendpage.1.gz
/usr/share/man/man1/sgi2fax.1.gz
/usr/share/man/man1/textfmt.1.gz
/usr/share/man/man5/dialrules.5f.gz
/usr/share/man/man5/doneq.5f.gz
/usr/share/man/man5/hosts.hfaxd.5f.gz
/usr/share/man/man5/hylafax-config.5f.gz
/usr/share/man/man5/hylafax-info.5f.gz
/usr/share/man/man5/hylafax-log.5f.gz
/usr/share/man/man5/hylafax-server.5f.gz
/usr/share/man/man5/hylafax-shutdown.5f.gz
/usr/share/man/man5/pagermap.5f.gz
/usr/share/man/man5/pagesizes.5f.gz
/usr/share/man/man5/recvq.5f.gz
/usr/share/man/man5/sendq.5f.gz
/usr/share/man/man5/status.5f.gz
/usr/share/man/man5/tsi.5f.gz
/usr/share/man/man5/typerules.5f.gz
/usr/share/man/man5/xferfaxlog.5f.gz
/usr/share/man/man8/choptest.8c.gz
/usr/share/man/man8/cqtest.8c.gz
/usr/share/man/man8/dialtest.8c.gz
/usr/share/man/man8/faxabort.8c.gz
/usr/share/man/man8/faxaddmodem.8c.gz
/usr/share/man/man8/faxadduser.8c.gz
/usr/share/man/man8/faxanswer.8c.gz
/usr/share/man/man8/faxconfig.8c.gz
/usr/share/man/man8/faxcron.8c.gz
/usr/share/man/man8/faxdeluser.8c.gz
/usr/share/man/man8/faxgetty.8c.gz
/usr/share/man/man8/faxinfo.8c.gz
/usr/share/man/man8/faxlock.8c.gz
/usr/share/man/man8/faxmodem.8c.gz
/usr/share/man/man8/faxq.8c.gz
/usr/share/man/man8/faxqclean.8c.gz
/usr/share/man/man8/faxquit.8c.gz
/usr/share/man/man8/faxrcvd.8c.gz
/usr/share/man/man8/faxsend.8c.gz
/usr/share/man/man8/faxsetup.8c.gz
/usr/share/man/man8/faxstate.8c.gz
/usr/share/man/man8/faxwatch.8c.gz
/usr/share/man/man8/hfaxd.8c.gz
/usr/share/man/man8/jobcontrol.8c.gz
/usr/share/man/man8/mkcover.8c.gz
/usr/share/man/man8/notify.8c.gz
/usr/share/man/man8/pagesend.8c.gz
/usr/share/man/man8/pdf2fax.8c.gz
/usr/share/man/man8/pollrcvd.8c.gz
/usr/share/man/man8/ps2fax.8c.gz
/usr/share/man/man8/recvstats.8c.gz
/usr/share/man/man8/tagtest.8c.gz
/usr/share/man/man8/tiff2fax.8c.gz
/usr/share/man/man8/tiffcheck.8c.gz
/usr/share/man/man8/tsitest.8c.gz
/usr/share/man/man8/wedged.8c.gz
/usr/share/man/man8/xferfaxstats.8c.gz
/var/spool/hylafax
/var/spool/hylafax/FIFO
/var/spool/hylafax/archive
/var/spool/hylafax/bin
/var/spool/hylafax/bin/archive
/var/spool/hylafax/bin/common-functions
/var/spool/hylafax/bin/dict
/var/spool/hylafax/bin/dict/de
/var/spool/hylafax/bin/dict/en
/var/spool/hylafax/bin/dict/es
/var/spool/hylafax/bin/dict/fr
/var/spool/hylafax/bin/dict/it
/var/spool/hylafax/bin/dict/pl
/var/spool/hylafax/bin/dict/pt
/var/spool/hylafax/bin/dict/pt_BR
/var/spool/hylafax/bin/dict/ro
/var/spool/hylafax/bin/dict/sr
/var/spool/hylafax/bin/dict/tr
/var/spool/hylafax/bin/dict/zh
/var/spool/hylafax/bin/dictionary
/var/spool/hylafax/bin/faxrcvd
/var/spool/hylafax/bin/mkcover
/var/spool/hylafax/bin/notify
/var/spool/hylafax/bin/pcl2fax
/var/spool/hylafax/bin/pdf2fax.gs
/var/spool/hylafax/bin/pollrcvd
/var/spool/hylafax/bin/ps2fax.gs
/var/spool/hylafax/bin/qp-encode.awk
/var/spool/hylafax/bin/rfc2047-encode.awk
/var/spool/hylafax/bin/tiff2fax
/var/spool/hylafax/bin/tiff2pdf
/var/spool/hylafax/bin/wedged
/var/spool/hylafax/client
/var/spool/hylafax/config
/var/spool/hylafax/config/att-dataport
/var/spool/hylafax/config/att-dataport-2
/var/spool/hylafax/config/att-dataport-2.0
/var/spool/hylafax/config/att-dpexpress-2
/var/spool/hylafax/config/cirrus
/var/spool/hylafax/config/class1
/var/spool/hylafax/config/class1.0
/var/spool/hylafax/config/class2
/var/spool/hylafax/config/class2.0
/var/spool/hylafax/config/class2.1
/var/spool/hylafax/config/conexant-1.0
/var/spool/hylafax/config/davicom-2
/var/spool/hylafax/config/digi
/var/spool/hylafax/config/digi-2
/var/spool/hylafax/config/digi-20
/var/spool/hylafax/config/dsi-scout+
/var/spool/hylafax/config/e-tech
/var/spool/hylafax/config/eicon
/var/spool/hylafax/config/eicon-2
/var/spool/hylafax/config/elsa-microlink-56k-basic-2.0
/var/spool/hylafax/config/everex-2496d
/var/spool/hylafax/config/exar
/var/spool/hylafax/config/gvc-288
/var/spool/hylafax/config/gvc-288-2
/var/spool/hylafax/config/hayes
/var/spool/hylafax/config/iaxmodem
/var/spool/hylafax/config/intel-400e
/var/spool/hylafax/config/ip568x
/var/spool/hylafax/config/linux-isdn-2
/var/spool/hylafax/config/lucent
/var/spool/hylafax/config/lucent-isa
/var/spool/hylafax/config/lucent-mt-10
/var/spool/hylafax/config/lucent-mt-2
/var/spool/hylafax/config/lucent-mt-20
/var/spool/hylafax/config/lucent-mt-21
/var/spool/hylafax/config/mainpine-10
/var/spool/hylafax/config/mainpine-2
/var/spool/hylafax/config/mainpine-20
/var/spool/hylafax/config/mainpine-21
/var/spool/hylafax/config/moto-288
/var/spool/hylafax/config/mt-1432
/var/spool/hylafax/config/nuvo-voyager
/var/spool/hylafax/config/ppi-pm14400fxmt
/var/spool/hylafax/config/ppi-pm14400fxsa
/var/spool/hylafax/config/prometheus
/var/spool/hylafax/config/rc144ac
/var/spool/hylafax/config/rc144ac-1
/var/spool/hylafax/config/rc288dpi
/var/spool/hylafax/config/rc288dpi-1
/var/spool/hylafax/config/rc32acl
/var/spool/hylafax/config/rc32acl-1
/var/spool/hylafax/config/rockwell-k56
/var/spool/hylafax/config/rockwell-rc
/var/spool/hylafax/config/sierra
/var/spool/hylafax/config/skel
/var/spool/hylafax/config/t38modem
/var/spool/hylafax/config/telebit-qblazer
/var/spool/hylafax/config/telebit-t3000
/var/spool/hylafax/config/telebit-wb
/var/spool/hylafax/config/topic
/var/spool/hylafax/config/tricom2842
/var/spool/hylafax/config/uds-fastalk
/var/spool/hylafax/config/umc92144
/var/spool/hylafax/config/umc9624
/var/spool/hylafax/config/usr-2.0
/var/spool/hylafax/config/usr-rts
/var/spool/hylafax/config/usr-xon
/var/spool/hylafax/config/zyxel-1496e
/var/spool/hylafax/config/zyxel-1496e-1
/var/spool/hylafax/config/zyxel-1496e-2.0
/var/spool/hylafax/config/zyxel-2864
/var/spool/hylafax/dev
/var/spool/hylafax/docq
/var/spool/hylafax/doneq
/var/spool/hylafax/etc
/var/spool/hylafax/etc/cover.templ
/var/spool/hylafax/etc/dialrules
/var/spool/hylafax/etc/dialrules.europe
/var/spool/hylafax/etc/dialrules.ext
/var/spool/hylafax/etc/dialrules.sf-ba
/var/spool/hylafax/etc/dpsprinter.ps
/var/spool/hylafax/etc/hosts.hfaxd
/var/spool/hylafax/etc/lutRS18.pcf
/var/spool/hylafax/etc/xferfaxlog
/var/spool/hylafax/info
/var/spool/hylafax/log
/var/spool/hylafax/pollq
/var/spool/hylafax/recvq
/var/spool/hylafax/sendq
/var/spool/hylafax/status
/var/spool/hylafax/tmp

Konfiguration

Einrichtung des Modems

Zur Datenkommunikation gehen wir den klassischen Weg und nutzen einen vorhandenen ELSA-USB Modem. Nach dem Anstecken des Modems an den USB-Port wird dies im syslog entsprechend quittiert:

Nov  8 19:30:39 mnss kernel: ohci_hcd 0000:00:12.0: wakeup
Nov  8 19:30:40 mnss kernel: usb 3-1: new full speed USB device using ohci_hcd and address 10
Nov  8 19:30:40 mnss kernel: usb 3-1: configuration #2 chosen from 2 choices
Nov  8 19:30:42 mnss kernel: cdc_acm 3-1:2.0: ttyACM0: USB ACM device
Nov  8 19:30:42 mnss kernel: usbcore: registered new driver cdc_acm
Nov  8 19:30:42 mnss kernel: drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters

Somit ist schon mal sichergestellt, dass wir den Modem über das Gerät ttyACM0 ansprechen können.

[root@elwms hylafax]# ll /dev/ttyACM0 
crw-rw---- 1 root uucp 166, 0 27. Sep 16:10 /dev/ttyACM0

Da wir den Modem später über die Gerätedatei /dev/modem ansprechen wollen (wer will schon immer bei einem Gerätewechsel diverse Konfigscripte abändern?) setzen wir uns noch einen symbolischen link.

[root@elwms hylafax]# ln -s /dev/ttyACM0 /dev/modem
[root@elwms hylafax]# ll /dev/mo*
lrwxrwxrwx 1 root root 12 27. Sep 17:52 /dev/modem -> /dev/ttyACM0

Damit nun bei jedem Neustart des Systemes dieser symlink automatisch gesetzt wird, ergänzen wir in der /etc/udev/rules.d/50-udev.rules einfach folgende Zeilen:

[root@elwms]# vi /etc/udev/rules.d/50-udev.rules
# symlink dauerhaft für /dev/modem setzen                                                                                                                                  
KERNEL=="ttyACM0", SYMLINK+="modem" 

Konfiguration des Servers mit Hilfe von **faxsetup**

Die Konfiguration der des Faxservers wird am einfachsten mit Hilfe des Scriptes faxsetup durchgeführt:

faxsetup

Setup program for HylaFAX (tm) 5.2.5.

Created for i686-pc-linux-gnu on Sun Jun 22 23:24:30 CEST 2008.

Found encoder: /usr/bin/base64
Checking system for proper client configuration.
Checking system for proper server configuration.
...

...
There does not appear to be an entry for the FaxMaster either in
the YP/NIS database or in the /etc/aliases file.  The
FaxMaster is the primary point of contact for HylaFAX problems. 
The HylaFAX client-server protocol server identifies this alias as
the place to register complaints and HylaFAX directs automatic mail
messages to this user when problems are identified on a server
machine or when the routine server maintainence scripts are run
(e.g. faxcron).

Should an entry be added for the FaxMaster to /etc/aliases [yes]? yes
Users to receive fax-related mail [root]? 
/etc/aliases: 77 aliases, longest 10 bytes, 778 bytes total
Rebuilt /etc/aliases database.
Update /var/spool/hylafax/status/any.info.

        HylaFAX configuration parameters are:

        [1] Init script starts faxq:            yes
        [2] Init script starts hfaxd            yes
        [3] Start paging protocol:              no
Are these ok [yes]? yes

Modem support functions written to /var/spool/hylafax/etc/setup.modem.
Configuration parameters written to /var/spool/hylafax/etc/setup.cache.

No scheduler config file exists, creating one from scratch.
Country code [1]? 49
Area code [000]? 8121
Long distance dialing prefix [1]? 0
International dialing prefix [011]? 00
Dial string rules file (relative to /var/spool/hylafax) ["etc/dialrules"]? 
Tracing during normal server operation [1]? 527
Default tracing during send and receive sessions [0xFFF]? 527
Continuation cover page (relative to /var/spool/hylafax) []? 
Timeout when converting PostScript documents (secs) [180]? 
Maximum number of concurrent jobs to a destination [1]? 
Define a group of modems []? 
Time of day restrictions for outbound jobs ["Any"]? 
Timeout before purging a stale UUCP lock file (secs) [30]? 
Max number of pages to permit in an outbound job [0xffffffff]? 50
Syslog facility name for ServerTracing messages [daemon]? 

The non-default scheduler parameters are:

CountryCode:            49
AreaCode:               8121
LongDistancePrefix:     0
InternationalPrefix:    00
ServerTracing:          527
MaxSendPages:           50
SessionTracing:         527

Are these ok [yes]? yes

Creating new configuration file /var/spool/hylafax/etc/config...

Und weiter geht es mit der Einstellung des Konfigurationsfiles:

Restarting HylaFAX server processes.
Should I restart the HylaFAX server processes [yes]? yes

/etc/rc.d/init.d/hylafax start
Starting HylaFAX queue manager (faxq):                     [  OK  ]
Starting HylaFAX server (hfaxd):                           [  OK  ]

You do not appear to have any modems configured for use.  Modems are
configured for use with HylaFAX with the faxaddmodem(8C) command.
Do you want to run faxaddmodem to configure a modem [yes]? 
Serial port that modem is connected to []? modem

Ok, time to setup a configuration file for the modem.  The manual
page config(5F) may be useful during this process.  Also be aware
that at any time you can safely interrupt this procedure.

Reading scheduler config file /var/spool/hylafax/etc/config.

No existing configuration, let's do this from scratch.

Country code [49]? 
Area code [8121]? 
Phone number of fax modem [+1.999.555.1212]? +49 8121 883179
Local identification string (for TSI/CIG) ["NothingSetup"]? www.nausch.org
Long distance dialing prefix [1]? 0
International dialing prefix [011]? 00
Dial string rules file (relative to /var/spool/hylafax) [etc/dialrules]? 
Tracing during normal server operation [1]? 527
Tracing during send and receive sessions [0xFFF]? 527
Protection mode for received facsimile [0600]? 0644
Protection mode for session logs [0600]? 0600
Protection mode for modem [0600]? 0644
Rings to wait before answering [1]? 
Modem speaker volume [off]? 
Command line arguments to getty program ["-h %l dx_%s"]? "-r -b -s %s %l"
Pathname of TSI access control list file (relative to /var/spool/hylafax) [""]? 
Tag line font file (relative to /var/spool/hylafax) [etc/lutRS18.pcf]? 
Tag line format string ["From %%l|%c|Page %%P of %%T"]? 
Time before purging a stale UUCP lock file (secs) [30]? 
Hold UUCP lockfile during inbound data calls [Yes]? 
Hold UUCP lockfile during inbound voice calls [Yes]? 
Percent good lines to accept during copy quality checking [95]? 
Max consecutive bad lines to accept during copy quality checking [5]? 
Max number of pages to accept in a received facsimile [25]? 50
Syslog facility name for ServerTracing messages [daemon]? 
Set UID to 0 to manipulate CLOCAL [""]? 
Use available priority job scheduling mechanism [""]? 

The non-default server configuration parameters are:

CountryCode:            49
AreaCode:               8121
FAXNumber:              +49 8121 883179
LongDistancePrefix:     0
InternationalPrefix:    00
DialStringRules:        etc/dialrules
ServerTracing:          527
SessionTracing:         527
RecvFileMode:           0644
DeviceMode:             0644
RingsBeforeAnswer:      1
SpeakerVolume:          off
GettyArgs:              "-r -b -s %s %l"
LocalIdentifier:        www.nausch.org
TagLineFont:            etc/lutRS18.pcf
TagLineFormat:          "From %%l|%c|Page %%P of %%T"
MaxRecvPages:           50

Are these ok [yes]? yes

Und weiter geht es mit der Konfiguration des Modems:

Now we are going to probe the tty port to figure out the type
of modem that is attached.  This takes a few seconds, so be patient.
Note that if you do not have the modem cabled to the port, or the
modem is turned off, this may hang (just go and cable up the modem
or turn it on, or whatever).

Probing for best speed to talk to modem: 38400 OK.

About fax classes:

The difference between fax classes has to do with how HylaFAX interacts
with the modem and the fax protocol features that are used when sending
or receiving faxes.  One class isn't inherently better than another;
however, one probably will suit a user's needs better than others.
    
Class 1 relies on HylaFAX to perform the bulk of the fax protocol.
Class 2 relies on the modem to perform the bulk of the fax protocol.
Class 2.0 is similar to Class 2 but may include more features.
Class 1.0 is similar to Class 1 but may add V.34-fax capability.
Class 2.1 is similar to Class 2.0 but adds V.34-fax capability.
      
HylaFAX generally will have more features when using Class 1/1.0 than
when using most modems' Class 2 or Class 2.0 implementations.  Generally
any problems encountered in Class 1/1.0 can be resolved by modifications
to HylaFAX, but usually any problems encountered in Class 2/2.0/2.1 will
require the modem manufacturer to resolve it.

Use Class 1 unless you have a good reason not to.

This modem looks to have support for Class 1 and 2.
How should it be configured [1]? 

Hmm, this looks like a Class 1 modem.
Product code (ATI0) is "OK".
Other information (ATI3) is "Version 1.11 / 21.03.2000".
DTE-DCE flow control scheme [default]? RTSCTS
Modem manufacturer is "Unknown".
Modem model is "Unknown".

Using prototype configuration file class1...

There is no prototype configuration file for your modem, so we will
have to fill in the appropriate parameters by hand.  You will need the
manual for how to program your modem to do this task.  In case you are
uncertain of the meaning of a configuration parameter you should
consult the config(5F) manual page for an explanation.

Note that modem commands must be specified exactly as they are to be
sent to the modem.  Note also that quote marks (") will not be displayed
and will automatically be deleted.  You can use this facility to supply
null parameters as "".

Finally, beware that the set of parameters is long.  If you prefer to
use your favorite editor instead of this script you should fill things
in here as best you can and then edit the configuration file

"/var/spool/hylafax/etc/config.modem"

after completing this procedure.

Command to enter Class 1 [AT+FCLASS=1]? 
Command to stop and wait prior to sending PPM [AT+FTS=7]? 
Command to stop and wait prior to sending TCF [AT+FTS=7]? 
Command to stop and wait prior to sending EOP [AT+FTS=9]? 
Extra bytes in a received HDLC frame [4]? 
Maximum time to wait for OK after aborting a receive (ms) [200]? 
Maximum wait for initial identification frame (ms) [40000]? 
Command to ensure silence after receiving HDLC and before sending [AT+FRS=7]? 

The modem configuration parameters are:

Class1Cmd:              AT+FCLASS=1
Class1PPMWaitCmd:       AT+FTS=7
Class1TCFWaitCmd:       AT+FTS=7
Class1EOPWaitCmd:       AT+FTS=9
Class1FrameOverhead:    4
Class1RecvAbortOK:      200
Class1RecvIdentTimer:   40000
Class1SwitchingCmd:     AT+FRS=7
Class1TCFMaxNonZero:    10
Class1TCFMinRun:        1000

Are these ok [yes]? yes

Creating new configuration file /var/spool/hylafax/etc/config.modem...
Creating fifo /var/spool/hylafax/FIFO.modem for faxgetty... done.
Done setting up the modem configuration.

Checking /var/spool/hylafax/etc/config for consistency...
...some parameters are different.

The non-default scheduler parameters are:

CountryCode:            49
AreaCode:               8121
LongDistancePrefix:     0
InternationalPrefix:    00
DialStringRules:        etc/dialrules
ServerTracing:          527
MaxSendPages:           50
SessionTracing:         527

Are these ok [yes]? yes

Creating new configuration file /var/spool/hylafax/etc/config...
...saving current file as /var/spool/hylafax/etc/config.sav.

Don't forget to run faxmodem(8C) (if you have a send-only environment)
or configure init to run faxgetty on modem.
Do you want to run faxaddmodem to configure another modem [yes]? no

You do not appear to be using faxgetty to notify the HylaFAX scheduler
about new modems and/or their status.  This means that you must use the
faxmodem program to inform the new faxq process about the modems you
want to have scheduled by HylaFAX.  Beware that if you have modems that
require non-default capabilities specified to faxmodem then you should
read faxmodem(8C) manual page and do this work yourself (since this
script is not intelligent enough to automatically figure out the modem
capabilities and supply the appropriate arguments).

Should I run faxmodem for each configured modem [yes]? no

Done verifying system setup.

Die Frage Should I run faxmodem for each configured modem ist mit no zu beantworten, da wir HylaFAX+ nicht nur zum Senden, sondern auch zum Beantworten von Faksimileanrufen verwenden wollen.

cronjobs faxqclean und faxcron

Die beiden scripts faxqclean und faxcron sollen in regelmäßigen Abständen aufgerufen werden.

Das zweite script faxcron (ebenfalls beheimatet unter /usr/sbin/faxcron) erstellt für den Administrator des FAX-Servers einen Report mit Angaben zur den empfangenen und gesendeten Dokumenten, wie auch ggf. aufgetretenen Problemberichten.
Dank der RPM-Installation wurden für die beiden Aufgaben entsprechende Eintragungen bereits vorgenommen.
Das Sript faxqclean (beheimatet unter /usr/sbin/faxqclean) wird verwendet um das spooling-Verzeichnis von HylaFAX aufzuräumen, in dem es alte nicht mehr benötigte Dateien löscht.

ll /etc/cron.hourly/
insgesamt 4
-rwxr-xr-x 1 root root 39 20. Jun 15:08 hylafax
cat hylafax 
#!/bin/sh

/usr/sbin/faxqclean

exit 0

Das zweite script faxcron (ebenfalls beheimatet unter /usr/sbin/faxcron) erstellt für den Administrator des FAX-Servers einen Report mit Angaben zur den empfangenen und gesendeten Dokumenten, wie auch ggf. aufgetretenen Problemberichten.

ll /etc/cron.daily/hyla*
-rwxr-xr-x 1 root root 80 20. Jun 15:08 /etc/cron.daily/hylafax
cat /etc/cron.daily/hylafax
#!/bin/sh

/usr/sbin/faxcron | mail -s "HylaFAX Usage Report" faxmaster

exit 0

Der Report, den faxcron täglich erstellt, sieht exeplarisch wie folgt aus:

Facsimile transmitted since :

Sender           Pages      Time Pg/min  Errs TypRate TypData
-------------------------------------------------------------
Total                0      0:00    0,0     0

Facsimile transmitted since last week:

Sender           Pages      Time Pg/min  Errs TypRate TypData
-------------------------------------------------------------
Total                0      0:00    0,0     0

Facsimile received since :

Sender          CIDName         CIDNumber       Pages     Time Pg/min Errs TypRate TypData
------------------------------------------------------------------------------------------
Total                                               0     0:00    0,0    0

Facsimile received since last week:

Sender          CIDName         CIDNumber       Pages     Time Pg/min Errs TypRate TypData
------------------------------------------------------------------------------------------
Total                                               0     0:00    0,0    0

Report failed calls and associated session logs:

Nothing to purge in info directory.

Truncate merged session logs older than 30 days:

Nothing to purge in receive queue.

Nothing to purge in the tmp directory.

Faxserver starten

manuellen Start

Zum Starten und Stoppen bedienen wir uns am besten der scripe, die beim Installationsprozess in die dafür vorgesehenen Pfade kopiert wurden. Unter CentOS stoppen wir den Server einfach via service hylafax stop und der Start erfolgt dann analog via service hylafax start.

Den ersten Start unseres Fax-Servers nehmen wir wie folgt vor.

service hylafax start
Starting HylaFAX queue manager (faxq):                     [  OK  ]
Starting HylaFAX server (hfaxd):                           [  OK  ]

Im Syslog wird uns der erfolgreiche Start entsprechend quittiert.

Nov  8 20:02:56 nss FaxQueuer[25781]: HylaFAX (tm) Version 5.2.5
Nov  8 20:02:56 nss FaxQueuer[25781]: Copyright (c) 1990-1996 Sam Leffler
Nov  8 20:02:56 nss FaxQueuer[25781]: Copyright (c) 1991-1996 Silicon Graphics, Inc.
Nov  8 20:02:56 nss HylaFAX[25784]: HylaFAX INET Protocol Server: restarted.

Zur Kontrolle können wir ja noch genau nachprüfen, ob die benötigten deamon's auch wirklich laufen. Dies geschieht am einfachsten via:

ps auxw | grep fax
uucp     25781  0.0  0.0  10276  1372 ?        Ss   20:02   0:00 faxq
uucp     25784  0.0  0.0   7840  1000 ?        Ss   20:02   0:00 hfaxd -i hylafax

automatischer Faxempfang

Da wir Faxe nicht nur senden sondern auch empfangen wollen, veranlassen wir den Start des Programms faxgetty bereits beim Hochfahren des Servers. Hierzu tragen wir in die entsprechende Konfigurationsdatei /etc/inittab folgende Zeilen ein:

# faxgetty automatisch starten [HylaFAX]
fa:2345:respawn:/usr/local/sbin/faxgetty /dev/modem

Mit init q veranlassen wir das Neueinlesen der inittab-Datei durch den init-Prozeß.

automatischer Serverstart

Damit nun unser HylaFAX-Server beim Booten automatisch gestartet wird, nehmen wir noch folgende Konfigurationsschritte vor.

chkconfig hylafax on

Anschließend überprüfen wir noch unsere Änderung:

chkconfig --list | grep hylafax
hylafax         0:Aus   1:Aus   2:Ein   3:Ein   4:Ein   5:Ein   6:Aus