Benutzer-Werkzeuge

Webseiten-Werkzeuge


heiko:tipps:fax-server:tipp_hylafax_02

Tipp HylaFAX (2)

letzte inhaltliche Überarbeitung: 01.01.2008

2. Installation und Konfiguration

2.1 Voraussetzungen

Für die Funktion von Hylafax werden folgende Voraussetzungen benötigt:

  • Modem oder CAPI 2.0-kompatible ISDN-Karte (ich verwende Fritz!Card PCI v.1)
  • die <libtiff-Bibliothek zum Umwandeln der Fax-Dateien
  • das Paket hylafax - der HylaFAX-Server
  • das Paket hylafax-client - die Client-Programme f&uuml;r den HylaFAX-Server
  • das Paket hylafax - der HylaFAX-Server
  • die AVM CAPI-Treiber (in meinem Fall fcpci-kmp-0.1_2.6.22.17_0.1-0.x86_64.rpm)
  • das Paket capi4linux
  • das Paket capi4hylafax

2.1.1 Zusatzhinweise zur CAPI-Variante

Wegen der selbst gemachten Erfahrungen hier einige Tipps bei der Umsetzung der CAPI-Variante:

AVM bietet die quellcode-offenen Treiber und die Sourcen dazu nur noch in einer Version für SuSE 9.3 an. In OpenSuSE werden keine closed-Source-Treiber mehr in die Zusammenstellung aufgenommen um die GPL-Kompatibilität beizubehalten.

Hat man also ein aktuelles (Open)SuSE-System muss man entweder selbst kompilieren oder man sucht sich im Internet ein vorkompiliertes Paket. Dabei muss das Kernelmodul mit den AVM Treibern zur Hardware UND zur Kernel-Version passen. Dank der fleißigen Mannen auf http://opensuse.foehr-it.de kann man dort die Kernelmodule für (bestimmt?) alle aktuellen AVM Produkte und für die neuesten OpenSuSE Kernelversionen herunterladen.

Dafür ein Riesen-DANKESCHÖÖÖÖÖN!!!

Ich bekam nun ein Problem, da ich die Fritz!CardDSL v.1.0 und einen 64-Bit Prozessor von AMD sowie den zugehörigen 64-bit Kernel im Rechner vereint hatte. Nach mehreren Versuchen der Installation und immer neuen Misserfolgen stellte ich fest, dass es für diese Hardware keine 64-bit-Treiber gibt. Daraufhin rüstete ich ab, da ich zum Glück inzwischen einen DSL-Router mein eigen nannte, und baute mir eine alte Fritz!Card PCI v.1 ein. Mit dieser und dem (Treiber) Kernelmodul fcpci-kmp-0.1_2.6.22.17_0.1-0.x86_64.rpm gelang es mir dann relativ einfach mein ISDN-System und den HylaFAX-Server zum Laufen zu bringen.

2.2 Installation und Konfiguration

Durch die Verwendung der RPM-Pakete gestaltet sich die Installation der o.g. Pakete relativ einfach. Entweder man erledigt das auf der Kommandozeile (siehe Tipps zu RPM auf dieser HP) oder man verwendet die Softwareverwaltung von YAST.

2.2.1 ISDN und CAPI testen

Hat man alle Pakete installiert und das ISDN-Paket mit rcisdn (re)start (OpenSuSE) bzw. /etc/init.d/isdn (re)start neu- bzw. gestartet, sollte man als erstes kontrollieren ob die CAPI-Treiber arbeiten.

Dies kann man mit folgendem Befehl prüfen: capiinfo. Daraufhin sollte einige Zeilen mit Informationen zu den von der CAPI unterstützten Funktionen angezeigt werden:

linsrv2:/tmp # capiinfo
Number of Controllers : 1
Controller 1:
Manufacturer: AVM GmbH
CAPI Version: 2.0
Manufacturer Version: 3.11-07  (49.23)
Serial Number: 1000001
BChannels: 2
Global Options: 0x00000039
   internal controller supported
   DTMF supported
   Supplementary Services supported
   channel allocation supported (leased lines)
B1 protocols support: 0x4000011f
   64 kbit/s with HDLC framing
   64 kbit/s bit-transparent operation
   V.110 asynconous operation with start/stop byte framing
   V.110 synconous operation with HDLC framing
   T.30 modem for fax group 3
   Modem asyncronous operation with start/stop byte framing
B2 protocols support: 0x00000b1b
   ISO 7776 (X.75 SLP)
   Transparent
   LAPD with Q.921 for D channel X.25 (SAPI 16)
   T.30 for fax group 3
   ISO 7776 (X.75 SLP) with V.42bis compression
   V.120 asyncronous mode
   V.120 bit-transparent mode
B3 protocols support: 0x800000bf
   Transparent
   T.90NL, T.70NL, T.90
   ISO 8208 (X.25 DTE-DTE)
   X.25 DCE
   T.30 for fax group 3
   T.30 for fax group 3 with extensions
   Modem

  0100
  0200
  39000000
  1f010040
  1b0b0000
  bf000080
  00000000 00000000 00000000 00000000 00000000 00000000
  01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
   Hold / Retrieve
   Terminal Portability
   ECT
   3PTY
   Call Forwarding
   Call Deflection
   MCID
   CCBS
Sollte es bei Dir auch so aussehen scheint alles geklappt zu haben und Du kannst mit der Konfiguration von HylaFAX weitermachen.

2.2.2 Konfiguration des HylaFAX-Servers

Bei OpenSuSE findet man die HylaFAX-Dateien im Pfad: /var/spool/fax.

Der Befehl faxsetup auf der Kommandozeile eingegeben, startet das Setup (die Konfiguration) des HylaFAX-Servers.

Es werden auf der Kommandozeile in einem Frage-Antwort-Dialog (Vorgabe von empfohlenen oder Defaultwerten in eckigen Klammern []) alle notwendigen Angaben abgefragt. Nachfolgend habe ich die Dialoge dargestellt.

Setup program for HylaFAX (tm) 4.4.0.

Created for x86_64-suse-linux-gnu on Sat Sep 22 00:29:04 UTC 2007.

Found converter: /usr/bin/tiff2pdf
Found uuencode encoder: /usr/bin/uuencode
Found base64 encoder: /usr/bin/mimencode
Found Quoted-Printable encoder: /usr/bin/mimencode -q
Looks like /usr/bin/mimencode supports base64 encoding.
Found mimencode for compatibilty: /usr/bin/mimencode
Checking system for proper client configuration.
Checking system for proper server configuration.


Warning: /usr/sbin/mgetty does not exist or is not an executable
program!

The file:

    /usr/sbin/mgetty

does not exist or this file is not an executable program.  The
HylaFAX software optionally uses this program and the fact that
it does not exist on the system is not a fatal error.  If the
program resides in a different location and you do not want to
install a symbolic link for /usr/sbin/mgetty that points to your
program then you must reconfigure and rebuild HylaFAX from source
code.


Warning: /usr/sbin/vgetty does not exist or is not an executable
program!

The file:

    /usr/sbin/vgetty

does not exist or this file is not an executable program.  The
HylaFAX software optionally uses this program and the fact that
it does not exist on the system is not a fatal error.  If the
program resides in a different location and you do not want to
install a symbolic link for /usr/sbin/vgetty that points to your
program then you must reconfigure and rebuild HylaFAX from source
code.


Warning: /usr/sbin/egetty does not exist or is not an executable
program!

The file:

    /usr/sbin/egetty

does not exist or this file is not an executable program.  The
HylaFAX software optionally uses this program and the fact that
it does not exist on the system is not a fatal error.  If the
program resides in a different location and you do not want to
install a symbolic link for /usr/sbin/egetty that points to your
program then you must reconfigure and rebuild HylaFAX from source
code.


Warning: /usr/share/ghostscript/Resource does not exist or is not
a directory!

The directory /usr/share/ghostscript/Resource does not exist or
thisfile is not a directory.
This is the directory where the HylaFAX client applications expect
to locate font metric information to use in formatting ASCII text
for submission as facsimile.  Without this information HylaFAX may
generate illegible facsimile from ASCII text.


Make /var/spool/fax/bin/ps2fax a link to
/var/spool/fax/bin/ps2fax.gs.


Make /var/spool/fax/bin/pdf2fax a link to
/var/spool/fax/bin/pdf2fax.gs.

Update /var/spool/fax/status/any.info.

        HylaFAX configuration parameters are:

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

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

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

The non-default scheduler parameters are:

CountryCode:            49
AreaCode:               3763
LongDistancePrefix:     0
InternationalPrefix:    00
ServerTracing:          527
SessionTracing:         527
ContCoverPage:          etc/cover.templ
ModemGroup:             "any:."
MaxSendPages:           30

Are these ok [yes]?

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

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

/etc/init.d/hylafax start
Starting service HylaFAX                                          done

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]?
/usr/sbin/faxmodem faxCAPI

Done verifying system setup.

Ich verweise hierzu auf eine sehr gute und ausführliche Darstellung dieses Dialogs auf einer anderen Website ⇒ http://de.gentoo-wiki.com/FAX_Server sowie eine weitere mit einem sehr guten Überblick über die Konfigurationsparameter ⇒ http://www.linux-user.de/ausgabe/2001/08/035-sedlbauer/sedlbauer.html

2.2.3 "faxaddmodem" bei capi4hylafax

Hat man capi4hylafax installiert wird nach dem Start der Modemkonfiguration gefragt:

linsrv2:/tmp # faxaddmodem
Do you want setup a CAPI 2.0 based ISDN modem [no]?
</sxk>
Antwortet man hier mit <span class="bold">yes</span> startet ein einfaches Konfigurationsprogramm mit einfachen Boxen. Man wird freundlich darauf hingewiesen, dass dieses Programm nur die Einstellungen f&uuml;r "Cotroller 1" vornimmt. Sollte man mehr als einen Controller verwenden wollen wird man auf die Möglichkeit der händischen Bearbeitung der Datei **config.faxCAPI** hingewiesen.

Im folgenden Dialog (mit den Pfeil- und der Eingabetaste navigier-/auswählbar) kann man folgende (sehr leicht verständliche) Einstellungen vornehmen:
<sxh bash; gutter: false;>
Outgoing MSN         50
Incoming MSNs        -- is set --  (2. Setup)
Accept Speech        Yes
Accept Global Calls  No
DDI Param            -- no DDI --
Fax Number           +49.3763.xxxxxxx
Fax Identifier       AVM CAPI4HylaFAX
Number Prefix        [   empty   ]  (leer/ohne)
Save & Exit

Beim Beenden des Setups mit „Save & Exit“ wird man noch folgendermaßen informiert:

Install was successfully!

The Fax Receive Daemon c2faxrecv was added to /etc/inittab and will
be started automatically on system start. You could start it
manually now with telinit q.
dass alles erfolgreich war und was gemacht wurde.

Eine Besonderheit hat hier die OpenSuSE 10.3 Distribution - die Setup-Datei config.faxCAPI wird einmal unter /etc mit dem vollen Inhalt abgelegt und dann noch eine abgespeckte Version im HylaFAX-Pfad (/var/spool/fax/etc) mit (bei mir) nur 3 Zeilen Inhalt:

HylafaxDeviceName:        faxCAPI
FAXNumber:                +49.3763.123456
LocalIdentifier:          "AVM CAPI4HylaFAX"

Da die vollständige Datei im Verzeichnis /etc sehr gut kommentiert ist verzichte ich hier auf weitere Ausführungen.

2.2.4 Feineinstellung - es ist doch noch einiges machbar/notwendig

An diesem Punkt ist man noch nicht ganz fertig - es warten noch ein paar Feinheiten auf ihre Einstellung:

a) Zugriff erlauben
In der Datei /var/spool/fax/etc/hfaxd müssen die erlaubten IP's oder Rechner-Namen eingegeben werden. Dabei kann man Muster mit dem Stern * als Platzhalter verwenden:

localhost
127.0.0.0
192.168.*

b) Benachrichtigung Faxmaster, Dateiformat und Sprache
In der Datei /var/spool/fax/bin/faxrcvd sollte man die dauerhafte Benachrichtigung des FaxMaster über jedes empfangene Fax abschalten. Dazu die Variable NOTIFY_FAXMASTER von always auf „never“ ändern:

NOTIFY_FAXMASTER=never

Mit der Variablen FILETYPE wird der Dateityp eingestellt, als der eingehende Faxe an Mailempfänger weitergeleitet werden. Als Standard ist hier mit ps Postscript eingestellt. Ich bevorzuge PDF und stelle dies deshalb ein:

FILETYPE=pdf
SENDTO=

Durch Einfügen der Variablen LANG=de_MX wird die Sprache für die per Mail versendeten Meldungen des FaxServers eingestellt. Diese Option ist mir aber erst seit den 4.4.x-Versionen bekannt. (zusätzliches Verzeichnis ./templates mit den unterschiedlichen Sprachdateien im fax-etc-Pfad)

TEMPLATE=de
Diese Variable habe ich in alle Dateien geschrieben, die die Variable benutzen und laut der Manpage von faxrcvd in FaxDispatch:
/var/spool/fax/bin/FaxDispatch
/var/spool/fax/bin/faxrcvd
/var/spool/fax/bin/notify

In der Datei /var/spool/fax/bin/notify kann man einstellen, dass von jedem versendeten Fax in der Rückinfo-Mail an den Sender das versandte Dokument noch einmal als Datei-Anhang mitgesendet wird:

NOTIFY_FAXMASTER=never
RETURNFILETYPE=pdf
Es sind noch andere Dateiformate möglich: tif, pdf, ps, original (siehe „man notify“).

c) Empfängereinstellung Fax2Email
Wenn man in die gleich anschließende Variable SENDTO einen Mailempfänger einträgt, erhält dieser alle eingehenden Faxe als Anhang per Mail zugesandt.

Man kann aber auch die Empfänger entsprechend der einkommenden (angewählten) MSN differenzieren und so die Mails entsprechend zustellen. Dazu wird die Datei /var/spool/fax/etc/users verwendet. Wie im Beispiel dargestellt erst die Mailadresse des Empfängers und dann - mit Leerzeichen getrennt - die zugehörige MSN eintragen.

user1@domain.com   50
user2@domain.com   52

Ich denke, dass ihr nun erst einmal genügend zu tun habt.

Nach dem Setup kann man mit: telinint q die geänderten Einträge in der /etc/inittab aktivieren.

Dann sollte man mit: rchylafax restart (/etc/init.d/hylafax restart - bei nicht-SuSE-Systemen) den Hylafax Server neu starten um alle Änderungen zu aktivieren.

2.2.5 Test zum Abschluss

Mit: faxstat kann man den Status des Fax-Servers abrufen, was ungefähr folgendermaßen aussehen sollte:

HylaFAX scheduler on linsrv2.teichmeier-gc.de: Running
Modem faxCAPI (+49.3763.123456): Running and idle

Als Test kann man dann eine Tif-Datei als Fax versenden (z.B. Beispieldatei aus dem Verzeichnis /usr/share/doc/capi4hylafax; in dieses Verzeichnis wechseln und) - folgenden Befehl auf der Kommandozeile/Shell eingeben:

sendfax -n -d 03764123456 fritz_pic.tif

In der Log-Datei in /var/spool/fax/log/c000<Job-Nr> kann man den Verlauf des Versandes nachvollziehen.

Wenn man in der Datei (/var/spool/fax)/etc/config.faxCAPI den LogLevel durch Entfernen des Kommentarzeichens (#) aktiviert hat und den Wert möglichst hoch gesetzt hat (max. 4), kann man auch in der Datei /var/log/capifax.log alle Meldungen über Versand und Empfang nachlesen.

heiko/tipps/fax-server/tipp_hylafax_02.txt · Zuletzt geändert: 2018/08/20 13:55 von 127.0.0.1