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