Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| voip:fax:hylafax [25.09.2009 15:20. ] – neu angelegt (aus alter Datei übernommen) django | voip:fax:hylafax [31.10.2023 19:25. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Fax-Server mit HylaFAX+ unter CentOS5 ====== | ||
| + | {{: | ||
| + | \\ | ||
| + | **HylaFAX+** ist eine OpenSource Fax-Serverlösung mit dem klingenden Slogan:\\ | ||
| + | \\ **// | ||
| + | \\ | ||
| + | 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 [[https:// | ||
| + | |||
| + | ===== Installation ===== | ||
| + | Die Installation geht wie gewohnt sehr einfach von statten. | ||
| + | < | ||
| + | Nach der erfolgreichen Installation können wir uns mittels **rpm -ql hylafax** einen Überblick verschaffen, | ||
| + | < | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | ===== 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: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/ | ||
| + | Somit ist schon mal sichergestellt, | ||
| + | < | ||
| + | crw-rw---- 1 root uucp 166, 0 27. Sep 16:10 / | ||
| + | </ | ||
| + | Da wir den Modem später über die Gerätedatei **/ | ||
| + | < | ||
| + | [root@elwms hylafax]# ll /dev/mo* | ||
| + | lrwxrwxrwx 1 root root 12 27. Sep 17:52 /dev/modem -> / | ||
| + | Damit nun bei jedem Neustart des Systemes dieser symlink automatisch gesetzt wird, ergänzen wir in der **/ | ||
| + | < | ||
| + | < | ||
| + | KERNEL==" | ||
| + | ==== Konfiguration des Servers mit Hilfe von **faxsetup** ==== | ||
| + | Die Konfiguration der des Faxservers wird am einfachsten mit Hilfe des Scriptes faxsetup durchgeführt: | ||
| + | < | ||
| + | |||
| + | 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: / | ||
| + | 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 / | ||
| + | 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 / | ||
| + | Users to receive fax-related mail [root]? | ||
| + | / | ||
| + | Rebuilt / | ||
| + | Update / | ||
| + | |||
| + | HylaFAX configuration parameters are: | ||
| + | |||
| + | [1] Init script starts faxq: yes | ||
| + | [2] Init script starts hfaxd yes | ||
| + | [3] Start paging protocol: | ||
| + | Are these ok [yes]? yes | ||
| + | |||
| + | Modem support functions written to / | ||
| + | Configuration parameters written to / | ||
| + | |||
| + | 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 / | ||
| + | Tracing during normal server operation [1]? 527 | ||
| + | Default tracing during send and receive sessions [0xFFF]? 527 | ||
| + | Continuation cover page (relative to / | ||
| + | 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 [" | ||
| + | Timeout before purging a stale UUCP lock file (secs) [30]? | ||
| + | Max number of pages to permit in an outbound job [0xffffffff]? | ||
| + | Syslog facility name for ServerTracing messages [daemon]? | ||
| + | |||
| + | The non-default scheduler parameters are: | ||
| + | |||
| + | CountryCode: | ||
| + | AreaCode: | ||
| + | LongDistancePrefix: | ||
| + | InternationalPrefix: | ||
| + | ServerTracing: | ||
| + | MaxSendPages: | ||
| + | SessionTracing: | ||
| + | |||
| + | Are these ok [yes]? yes | ||
| + | |||
| + | Creating new configuration file / | ||
| + | Und weiter geht es mit der Einstellung des Konfigurationsfiles: | ||
| + | < | ||
| + | Should I restart the HylaFAX server processes [yes]? yes | ||
| + | |||
| + | / | ||
| + | Starting HylaFAX queue manager (faxq): | ||
| + | Starting HylaFAX server (hfaxd): | ||
| + | |||
| + | 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. | ||
| + | page config(5F) may be useful during this process. | ||
| + | that at any time you can safely interrupt this procedure. | ||
| + | |||
| + | Reading scheduler config file / | ||
| + | |||
| + | No existing configuration, | ||
| + | |||
| + | Country code [49]? | ||
| + | Area code [8121]? | ||
| + | Phone number of fax modem [+1.999.555.1212]? | ||
| + | Local identification string (for TSI/CIG) [" | ||
| + | Long distance dialing prefix [1]? 0 | ||
| + | International dialing prefix [011]? 00 | ||
| + | Dial string rules file (relative to / | ||
| + | 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" | ||
| + | Pathname of TSI access control list file (relative to / | ||
| + | Tag line font file (relative to / | ||
| + | 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: | ||
| + | AreaCode: | ||
| + | FAXNumber: | ||
| + | LongDistancePrefix: | ||
| + | InternationalPrefix: | ||
| + | DialStringRules: | ||
| + | ServerTracing: | ||
| + | SessionTracing: | ||
| + | RecvFileMode: | ||
| + | DeviceMode: | ||
| + | RingsBeforeAnswer: | ||
| + | SpeakerVolume: | ||
| + | GettyArgs: | ||
| + | LocalIdentifier: | ||
| + | TagLineFont: | ||
| + | TagLineFormat: | ||
| + | MaxRecvPages: | ||
| + | |||
| + | Are these ok [yes]? yes</ | ||
| + | Und weiter geht es mit der Konfiguration des Modems: | ||
| + | < | ||
| + | of modem that is attached. | ||
| + | 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. | ||
| + | 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' | ||
| + | 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 " | ||
| + | Other information (ATI3) is " | ||
| + | DTE-DCE flow control scheme [default]? RTSCTS | ||
| + | Modem manufacturer is " | ||
| + | Modem model is " | ||
| + | |||
| + | 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. | ||
| + | and will automatically be deleted. | ||
| + | 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 | ||
| + | |||
| + | "/ | ||
| + | |||
| + | 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: | ||
| + | Class1PPMWaitCmd: | ||
| + | Class1TCFWaitCmd: | ||
| + | Class1EOPWaitCmd: | ||
| + | Class1FrameOverhead: | ||
| + | Class1RecvAbortOK: | ||
| + | Class1RecvIdentTimer: | ||
| + | Class1SwitchingCmd: | ||
| + | Class1TCFMaxNonZero: | ||
| + | Class1TCFMinRun: | ||
| + | |||
| + | Are these ok [yes]? yes | ||
| + | |||
| + | Creating new configuration file / | ||
| + | Creating fifo / | ||
| + | Done setting up the modem configuration. | ||
| + | |||
| + | Checking / | ||
| + | ...some parameters are different. | ||
| + | |||
| + | The non-default scheduler parameters are: | ||
| + | |||
| + | CountryCode: | ||
| + | AreaCode: | ||
| + | LongDistancePrefix: | ||
| + | InternationalPrefix: | ||
| + | DialStringRules: | ||
| + | ServerTracing: | ||
| + | MaxSendPages: | ||
| + | SessionTracing: | ||
| + | |||
| + | Are these ok [yes]? yes | ||
| + | |||
| + | Creating new configuration file / | ||
| + | ...saving current file as / | ||
| + | |||
| + | 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. | ||
| + | faxmodem program to inform the new faxq process about the modems you | ||
| + | want to have scheduled by HylaFAX. | ||
| + | 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, | ||
| + | ==== 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 /// | ||
| + | \\ | ||
| + | Dank der RPM-Installation wurden für die beiden Aufgaben entsprechende Eintragungen bereits vorgenommen. | ||
| + | \\ | ||
| + | Das Sript **faxqclean** (beheimatet unter /// | ||
| + | < | ||
| + | insgesamt 4 | ||
| + | -rwxr-xr-x 1 root root 39 20. Jun 15:08 hylafax</ | ||
| + | < | ||
| + | #!/bin/sh | ||
| + | |||
| + | / | ||
| + | |||
| + | exit 0</ | ||
| + | Das zweite script **faxcron** (ebenfalls beheimatet unter /// | ||
| + | < | ||
| + | -rwxr-xr-x 1 root root 80 20. Jun 15:08 / | ||
| + | < | ||
| + | #!/bin/sh | ||
| + | |||
| + | / | ||
| + | |||
| + | exit 0</ | ||
| + | Der Report, den **faxcron** täglich erstellt, sieht exeplarisch wie folgt aus: | ||
| + | < | ||
| + | |||
| + | Sender | ||
| + | ------------------------------------------------------------- | ||
| + | Total 0 0:00 0,0 0 | ||
| + | |||
| + | Facsimile transmitted since last week: | ||
| + | |||
| + | Sender | ||
| + | ------------------------------------------------------------- | ||
| + | Total 0 0:00 0,0 0 | ||
| + | |||
| + | Facsimile received since : | ||
| + | |||
| + | Sender | ||
| + | ------------------------------------------------------------------------------------------ | ||
| + | Total | ||
| + | |||
| + | Facsimile received since last week: | ||
| + | |||
| + | Sender | ||
| + | ------------------------------------------------------------------------------------------ | ||
| + | Total | ||
| + | |||
| + | 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. | ||
| + | < | ||
| + | Starting HylaFAX queue manager (faxq): | ||
| + | Starting HylaFAX server (hfaxd): | ||
| + | Im Syslog wird uns der erfolgreiche Start entsprechend quittiert. | ||
| + | < | ||
| + | Nov 8 20:02:56 nss FaxQueuer[25781]: | ||
| + | Nov 8 20:02:56 nss FaxQueuer[25781]: | ||
| + | Nov 8 20:02:56 nss HylaFAX[25784]: | ||
| + | Zur Kontrolle können wir ja noch genau nachprüfen, | ||
| + | < | ||
| + | uucp | ||
| + | uucp | ||
| + | ==== 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 **/ | ||
| + | < | ||
| + | fa: | ||
| + | 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. | ||
| + | < | ||
| + | Anschließend überprüfen wir noch unsere Änderung: | ||
| + | < | ||
| + | hylafax | ||
| + | |||