~~NOCACHE~~
~~META:
date issued = 2008-01-01
~~
{{tag>faxserver hylafax installation konfiguration linux heiko_teichmeier glauchau sachsen}}
===== 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ü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 [[heiko:tipps:linux-grundlagen:tipp_linuxgrundlagen_01#software-installation_-_RPM|(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]?
Antwortet man hier mit yes startet ein einfaches Konfigurationsprogramm mit einfachen Boxen. Man wird freundlich darauf hingewiesen, dass dieses Programm nur die Einstellungen fü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:
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'' 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.
[<>]
~~DISQUS~~