De Easy Fax Server!

ArticleCategory:

Applications

AuthorImage:

HackLinux

TranslationInfo:

Original in fr HackLinux

fr to en:John Perr

en to nl:HJ Heins

AboutTheAuthor:

Het is al lang geleden dat ik Windows heb gebruikt en dat voelt goed...

Abstract:

Dit artikel legt uit hoe je een Linux machine kunt configureren als een fax server!

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

www.hylafax.org

ArticleBody:

Inleiding

Hier is een configuratie voor een fax server die gebruik maakt van Hylafax 4.0pl2.rjc11 en een Mandrake 7.1 distributie

Op de server bestaat Hylafax uit 3 daemons:

Op de client vindt je de volgende programma's (die ook kunnen draaien op de server):

Relevante configuratie bestanden kunnen worden gevonden in de /var/spool/fax/etc/ directory

Installatie

Ik adviseer je ten sterkste om de volgende pakketten te installeren (meegeleverd bij Mandrake 7.1):

Deze pakketten zijn ook beschikbaar op de officiele site http://www.hylafax.org/links.html

Als Hylafax niet standaard is geinstalleerd, hoef je alleen maar de benodigde RPM pakketten te installeren:

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

Configuratie van Hylafax

Start, om de server te configureren het volgende commando:

faxsetup -server (als root)

De standaard instellingen zijn correct bij vrijwel iedere vraag, behalve bij:

Hylafax start niet standaard de daemon faxgetty. Dit moet met de hand worden gedaan:

1 - Bewerk het bestand /etc/inittab en voeg de volgende regel toe aan het einde van het bestand:

mo:2345:respawn:/usr/sbin/faxgetty -D ttyS0
Het commando kill -HUP 1 is nodig om faxgetty te herstarten

Of

als je gebruik wilt maken van het bestand rc.local:

2 - voeg dan de volgende regel toe aan /etc/rc.d/rc.local:
/usr/sbin/faxgetty -D /dev/ttyS0

en start het commando:

faxgetty -D /dev/ttyS0

Opmerking: Het commando faxaddmodem maakt het mogelijk om achteraf een of meerdere modems toe te voegen.

Na deze veranderingen wordt het bestand /var/spool/fax/etc/config.ttyS0 (voor com1) gemaakt voor faxgetty.
Het bevat de configuratie voor je modem op /dev/ttyS0
Het bestand /usr/share/fax/hfaxd.conf bevat de configuratie van de hfaxd daemon, ik heb er niet aangezeten!

Als er problemen optreden

Gebruik, om het modem te detecteren, het probemodem commando. Er zijn standaard configuraties beschikbaar in /var/spool/fax/config/

Mijn modem is een 3Com US Robotics 56k, daarom kies ik het bestand usr-2.0 dat ik copieer naar /var/spool/fax/etc/ en hernoem het naar config.ttyS0 en verander het als volgt:

# 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


De volgende regels zijn toegevoegd aan /var/spool/fax/etc/host:

  localhost
  192.168.1

Alle machines in domein 192.168.1.0 mogen de fax gebruiken!

Hylafax starten

Om Hylafax automatisch te starten bij het opstarten van de machine, gebruik je het commando drakxservices (bij Mandrake) of setup (bij Red Hat),
draai daarna het volgende commando handmatig:
/etc/rc.d/init.d/hylafax start 
Als faxgetty niet bestaat in de process list (ps -e) probeer dan:
/usr/sbin/faxgetty -D /dev/ttyS0

Hylafax Gebruiken

Om een fax te sturen:
sendfax -n -d number file1 file2 ..
Om het resultaat te controleren:
faxstat -s (toont faxen in de queue die wachten om verzonden te worden)
faxstat -d (toont verzonden faxen)
faxstat -r (toont ontvangen faxen)
 

Om een fax te verwijderen uit de queue:

faxrm number_of_job
Om de spool op te schonen:
faxqclean
Om de statistieken te tonen:
faxcron

Hylafax gebruiken in een netwerk

Configuratie van de server

Voor netwerk gebruik, heb ik gekozen om gebruik te maken van de documentatie op http://www.hylafax.org/links.html
Vooral Printfax en Repond, op de site http://www.boerde.de/~horstf/:

Download deze drie bestanden:

Copieer het script printfax.pl in /usr/bin/ en verander het zodat het werkt met hylafax:

### 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);


Opmerking: Controleer je script versie van printfax.pl, aangezien je veranderingen aanbrengt!

Voeg de module smb_conf.add toe aan /etc/smb.conf met behulp van 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

Controleer de regel print command vooral voor windows2000

Samba moet nu opnieuw worden opgestart,

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

Configuratie van een client

Hier is een standaard Client Configuratie voor WINDOWS 95,98,NT,2000... Installeer Respond.zip, dat de bestanden config.exe en respond.exe bevat:

Hierna met een netwerk printer worden aangemaakt:

Dit is alles, open Wordpad, type een tekstje en druk het af op de fax printer! De respond dialog box verschijnt nu (als je respond.exe hebt gestart) die je vraagt om het fax nummer, geef nu gewoon het nummer in en druk op Ok, je fax wordt nu naar de hylafax fax server gestuurd

Om nu te controleren of alles goed verloopt, ga je naar de server en typed faxstat -s, je fax zou hier nu moeten staan.

Een Typische Client Configuratie voor Linux :

Gebruik de beschikbare gereedschappen van de Hylafax site!

Mailen met de Fax

Mailen met de fax kan lokaal op de server worden geregeld met StarOffice.

Maar je database kan overal op het netwerk staan en kan worden geopend met behulp van StarOffice(ODBC,JDBC,...). Gebruik het spadmin gereedschap en configureer de telefax output: faxspool (PHONE) (TMP)

Plaats in het document dat je wilt faxen transparant @@#num_tel_fax@@ met een database veld naam in plaats van num_tel_fax

Lees de StarOffice help, alles wordt hierin uitgelefd!

Het nadeel van deze methode is dat je StarOffice moet installeren op de fax server :-( Fax Mailen via het netwerk met behulp van respond is niet zo eenvoudig met StarOffice omdat het faxnummer voor iedere ontvanger met de hand moet worden ingegeven!
Ik ben op dit moment op zoek naar een alternatieve oplossing.

Bronnen

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

Opmerkingen van de auteur

Als je vindt dat dit document niet compleet is, of vol zit met fouten, schrijf dan naar contact@hacklinux.org En als je wat tijd over hebt, denk er dan eens over om de "no patents" petitie te tekenen!