Der einfache Fax Server!

ArticleCategory:

Applications

AuthorImage:

HackLinux

TranslationInfo:

Original in fr HackLinux

fr to en:John Perr

P>en to de:Katja Socher

AboutTheAuthor:

Es ist schon lange her, daß ich Windows benutzt habe und das fühlt sich gut an...

Abstract:

Dieser Artikel erklärt, wie man einen Linuxrechner als Faxserver konfiguriert!

ArticleIllustration:[This is the title picture for your article]

www.hylafax.org

ArticleBody:

Einführung

Hier ist eine Konfiguration für einen Faxserver der Hylafax 4.0pl2.rjc11 und eine Mandrake 7.1distribution benutzt.

Auf der Serverseite besteht Hylafax aus 3 Daemonen :

Auf der Clientseite findet man die folgenden Programme (die auch auf dem Server laufen können) :

Relevante Konfigurationsdateien können im Ordner /var/spool/fax/etc/ gefunden werden.

Installation

Ich rate dir stark, die folgenden Pakete zu installieren (enthalten in Mandrake 7.1) :

Diese Ressourcen sind auch auf der offiziellen Seite verfügbar http://www.hylafax.org/links.html

Wenn Hylafax nicht per default installiert ist, muß man einfach die benötigten RPM Pakete hinzufügen:

rpm -ivh hylafax-common-4.0pl2.rjc11-3mdk
rpm -ivh hylafax-client-4.0pl2.rjc11-3mdk
rpm -ivh hylafax-server-4.0pl2.rjc11-3mdk

Konfiguration von Hylafax

Um den Server zu konfigurieren, laß den folgenden Befehl laufen:

faxsetup -server (as root)

Die die Voreinstellungen sind fast immer benutzbar außer für:

Hylafax startet den Daemon faxgetty nicht per default. Dies muß manuell gemacht werden:

1 - Editiere die Datei /etc/inittab und füge die folgende Zeile ans Ende der Datei hinzu:

mo:2345:respawn:/usr/sbin/faxgetty -D ttyS0
der Befehl kill -HUP 1 ist notwendig, um faxgetty erneut zu starten

Oder

wenn du die rc.local Datei benutzen willst:

2 - Füge zu /etc/rc.d/rc.local die folgende Zeile hinzu:
/usr/sbin/faxgetty -D /dev/ttyS0

und starte den Befehl:

faxgetty -D /dev/ttyS0

Beachte: Der Befehl faxaddmodem erlaubt dir das spätere Hinzufügen von einem oder mehreren Modems.

Nach diesen Änderungen ist die Datei /var/spool/fax/etc/config.ttyS0 (für com1) für faxgetty erzeugt worden.
Es enthält deine Modemkonfiguration für /dev/ttyS0
Die Datei /usr/share/fax/hfaxd.conf enthält die hfaxd Daemonkonfiguration, ich habe sie nicht angerührt!

Wenn Probleme auftauchen

Um das Modem zu erkennen, benutz Hylafax den probemodem Befehl. Darüberhinaus gibt es typische Konfigurationen verfügbar in /var/spool/fax/config/

Mein Modem ist ein 3Com US Robotics 56k, deshalb wähle ich die Datei usr-2.0, die ich nach /var/spool/fax/etc/ kopiert habe, während ich sie zu config.ttyS0 umbenenne und wie folgt verändere:

# Configuration for using the Class 2.0 command interface
# with a USR v.34 Courier or Sporster modem.
#
# CONFIG: CLASS2.0: USRobotics*-*
#
CountryCode:         33
AreaCode:            1
#FAXNumber:          your number ex (for france): 0134123412
LongDistancePrefix:  0
InternationalPrefix: 00
DiadStringRules:     etc/dialrules.europe (Important .europe !)
ServerTracing:       1
SessionTracing:      11
RecvFileMode:        0600
LogFileMode:         0600
DeviceMode:          0600
RingsBeforeAnswer:   1
SpeakerVolume:       off
GettyArgs:           "-h %l dx_%s"
#LocalIdentifier:    "Your Company"   (uncomment if wanted on the fax)
#TagLineFont:        etc/lutRS18.pcf  (idem)
#TagLineFormat:      "De %%l|%c|Page %%p sur %%t" (idem)
#MaxRecvPages:       25
ModemType:           Class2.0    # use class 2.0 interface
ModemRate:           57600        # 38400 DCE-DTE communication rate
ModemFlowControl:    rtscts       # XON/XOFF flow control assumed
ModemDialCmd:     ATDT0%s # I added 0 because I go through a PABX !!
#ModemNoFlowCmd:     AT&H0&I0&R1  # setup modem for no flow control
ModemHardFlowCmd:    AT&H1&I0&R2  # setup modem for hardware flow control
#ModemSoftFlowCmd:   AT&H2&I2&R1  # setup modem for software flow control
#ModemSetupDTRCmd:   ATS13=1&D2   # setup so DTR drop resets modem
#ModemSetupDCDCmd:   AT&C1        # setup so DCD reflects carrier (or not)
ModemResultCodesCmd: ATQ0X4       # enable extended result codes
#ModemSetupAACmd:    AT+FAA=1
#ModemSetVolumeCmd:  "ATM0 ATM1 ATM1 ATM1 ATM1"
Class2BUGCmd:        AT+FBU=0
Class2CQQueryCmd:    !(0),(0)    # override modem response
Class2NRCmd:         AT+FNR=1,1,1,0


Als nächstes werden die folgenden Zeilen zu /var/spool/fax/etc/host hinzugefügt:

  localhost
  192.168.1

Alle Rechner von Domain 192.168.1.0 haben die Erlaubnis, das Fax zu benutzen!

Starten von Hylafax

Um Hylafax automatisch beim Start laufen zu lassen, benutz den Befehl drakxservices (mit Mandrake) oder setup (mit Red Hat),
als nächstes laß manuell den Befehl:
/etc/rc.d/init.d/hylafax start 
laufen. Wenn faxgetty nicht in der Prozessliste (ps -e) existiert, versuch:
/usr/sbin/faxgetty -D /dev/ttyS0

Benutzen von Hylafax

Um ein Fax zu senden :
sendfax -n -d number file1 file2 ..
Um das Ergebnis zu überprüfen:
faxstat -s (shows fax in the queue waiting to be sent)
faxstat -d (shows faxes sent)
faxstat -r (shows faxes received)
 

Um ein Fax aus der Warteschlange zu entfernen:

faxrm number_of_job
Um den Zwischenspeicher (spool) zu löschen :
faxqclean
Um Statistiken anzuzeigen :
faxcron

Benutzen von Hylafax in einem Netzwerk

Konfiguration des Servers

Für die Netzwerkbenutzung wähle ich die Ressourcen, die unter http://www.hylafax.org/links.html verfügbar sind
Besonders Printfax und Repond, auf der Seite http://www.boerde.de/~horstf/:

Lade diese drei Dateien herunter:

Kopiere das Skript printfax.pl in /usr/bin/ und verändere es so, daß es mit hylafax zusammenarbeitet:

### Format of commandline
#    $cmdlinefmt='mgetty';
    $cmdlinefmt='hylafax';

### The faxspoolprogram
###   for mgetty+sendfax:
#    $faxspool = '/usr/bin/faxspool';
###   for hylafax:
    $faxspool = '/usr/bin/sendfax';

### Additional faxspool args (e.g. header, coverpage)
###   empty:
    @faxspool_args = qw(-n);
###   for mgetty+sendfax with a special header:
#   @faxspool_args = qw( -h /usr/local/etc/mgetty+sendfax/faxheader.smb);
###   for hylafax with send email when job is done or requeued and use
###   a4 sized paper:
#    @faxspool_args = qw(-D -R -s a4);


Beachte :Überprüfe umbedingt deine version dieses printfax.pl Skriptes , seit dem Schreiben des Artikels können Änderungen aufgetreten sein!

Füge das Modul smb_conf.add in /etc/smb.conf hinzu durch copy/paste:

  [Fax] comment = Fax Printer
  public = yes
  postscript = yes
  print command = ( /usr/bin/printfax.pl %I %s %U %m; rm %s ) &
  printable = yes
  writable = no
  path = /var/spool/samba

Überprüfe die Zeile print command , besonders mit windows2000

Samba muß jetzt erneut gestartet werden.

/etc/rc.d/init.d/smb restart

Konfiguration des Client

Hier ist eine typische Clientkonfiguration für WINDOWS 95,98,NT,2000... Installiere Respond.zip, die die Dateien config.exe und respond.exe enthält :

Als nächstes muß ein Netzwerkdrucker erzeugt werden:

Dies ist das Ende der Straße, öffne Wordpad, tippe irgendeinen Text und drucke es auf dem Faxdrucker aus! Die Antwortdialogbox erscheint dann (wenn du respond.exe gestartet hast) und fragt dich nach der Faxnummer. Gib einfach die Nummer ein und drücke auf Ok, dein Fax wird zum Faxserver hylafax geschickt.

Um das korrekte Verhalten zu überprüfen, gehe zum Server und tippe faxstat -s, dein Fax sollte dort sein.

Typische Clientkonfiguration für Linux :

Benutze die verfügbaren Programme auf der Hylafaxseite!

Mail schicken über Fax

Mail schicken über Fax wird lokal auf dem Server mit StarOffice gemacht.

Andererseits kann deine Datenbank irgendwo auf dem Netzwerk sein und es wird durch Benutzen von StarOffice(ODBC,JDBC,...) daraufzugegriffen. Benutz das spadmin Programm und konfiguriere die Telefaxausgabe: faxspool (PHONE) (TMP)

Innerhalb des zu faxenden Dokuments setz @@#num_tel_fax@@ transparent mit den Datenbankfeldnamen, anstelle der num_tel_fax

Lies die StarOffice Hilfe, alles ist erklärt!

Der Nachteil dieser Methode ist, daß StarOffice auf dem Faxserver installiert sein muß :-( Fax Mailing durch das Netzwerk unter Benutzen von respond ist nicht einfach mit StarOffice, weil eine Faxnummer manuell für jeden Empfänger eingegeben werden muß!
Ich untersuche momentan eine alternative Lösung.

Ressourcen

http://www-phase.c-strasbourg.fr/inform/faxdoc/expose_fax/fonctionnement.html
http://www.hylafax.org

Anmerkungen vom Autor

Wenn du dieses Dokument unvollständig oder voller Fehler findest, schreib bitte an contact@hacklinux.org Und wenn du ein bißchen freie Zeit hast, dann denk darüber nach, die no patents Petition zu unterzeichnen!