当前位置:操作系统 > Unix/Linux >>

将Linux配置为一个FAX服务器

一. 介绍

  下面介绍的配置采用了Hylafax 4.0p2.rjc11,其运行于Mandrake7.1之上。在服务

  器端,Hylafax由三个守护程序组成:

  faxq: 主要的服务程序

  hfaxd: 管理网络连接

  faxgetty:管理调制解调器间的会话

  在客户端运行的程序如下(这些程序也可以在服务器上运行):

  sendfax:发送传真

  faxstat:检查传真队列

  faxrm:从队列中删除一项工作。

  相关的配置文件在/var/spool/fax/etc/文件夹内。

  二. 安装

  我强烈建议你安装以下软件包(它们都包含在Mandrake 7.1中):

  ghostscript ftp://ftp.cs.wisc.edu/pub/ghost/aladdin

  libtiff ftp://rufus.w3.org/linux/redhat

  也可以从官方网站http://www.hylafax.org/links.html获取这些资源。安装Hylafax,

  需要安装下列RPM包:

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

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

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

  三. 配置Hylafax

  运行下列命令对服务器进行配置:

  faxsetup -server (必须以root身份进行该操作)

  除了以下的几项外,对其它的询问选项都选取OK,即选取默认设值:

  · Country code [1]? enter 33 for France

  · Area code []? enter 1 for Paris

  · Long distance dialing prefix [1]? enter 0

  · International dialing prefix [011]? enter 00

  · Dial string rules file [etc/dialrules]? enter etc/dialrules.europe

  · Serial port that modem is connected to []? enter ttyS0 (for COM1) or

  ttyS1 (for COM2)

  Hylafax的默认设置在启动时并不自动的调用守护程序faxgetty,可以手工完成该

  过程。

  1、 编辑/etc/inittab文件,在文件的最后插入下面的内容:

  mo:2345:respawn:/usr/sbin/faxgetty -D ttyS0

  然后运行kill -HUP l 重启faxgetty。

  或者对rc.local文件进行改动:

  2、 在/etc/rc.d/rc.local文件中加入下面几行:

  /usr/sbin/faxgetty -D /dev/ttys0

  并运行命令:faxgetty -D /dev/ttys0

  注意:用faxaddmodem命令可以添加多个调制解调器。

  完成这些处理后,就为faxgetty创建了文件/var/spool/fax/etc/config.ttyS0

  (串口1),其中包括了/dev/ttyS0调制解调器的配置。文件/usr/share/fax/hfaxd.conf

  包含了hfaxd守护程序的配置,我没有对其进行任何改动。

  可能出现的问题:

  用probemodem命令来探测调制解调器,另外在/var/spool/fax/config中有一些典型

  的配置

  。

  我的调制解调器是3Com的US Robotics 56K,因此我将usr-2.0文件复制到

  /var/spool/fax/etc中,改名为config.ttyS0,并做如下修改:

  # Configuration for using the Class 2.0 command inte易做图ce

  # 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 inte易做图ce

  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

  接下来在/var/spool/fax/etc/host中添加以下几行:

  localhost

  192.168.0.1

  允许所有在域192.168.1.0中的机器使用传真。

  四. 启动Hylafax

  若要在启动的时候自动的运行Hylafax,在Mandrake中运行drakxservices命令,

  Red Hat中运行setup命令,接着手工运行下面的命令:

  /etc/rc.d/init.d/hylafax start

  如果进程列表(ps -e)中没有faxgetty,试试下面的命令:

  /usr/sbin/faxgetty -D /dev/ttyS0

  五. 如何使用Hylafax

  发送传真:

  sendfax -n -d number file1 file2

  检查结果:

  faxstat -s (显示队列中等发送的传真)

  faxstat -d (显示已发送的传真)

  faxstat -r (显示接收的传真)

  从队列中去除一个传真:

  faxrm number_of_job

  清除缓冲池:

  faxqclean

  显示统计结果:

  faxcron

  六. 在网络中使用Hylafax

  服务器的配置:

  在http://www.hylafax.org/links.html上你可以找到很多关于Hylafax的链接,

  我选择在

  http://www.boerde.de/~horstf下载Printfx和Repond

  。

  需要下载三个文件:

  printfax.pl(perl script)

  respond.zip(respond.exe的压强包)

  smb_conf.add(要添加到/etc/smb.conf的模块)

  将printfax.pl复制到/usr/bin/目录下,并做如下修改:

  ### 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 易做图:

  # @faxspool_args = qw(-D -R -s a4);

  注意:在修改前请检查printfax.pl的版本号,也许你下载的版本已经做了修改了。

  在/etc/smb.conf中添加smb_conf.add模块:

  [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

  检查print命令,特别是windows2000下的打印命令。

  重启Samba。/etc/rc.d/init.d/smb restart

  客户端的配置:

  下面是在WINDOWS95/98/NT/2000下典型的客户端配置。安装Respond.zip,其中包括

  config.exe和respond.exe:

  1、将这两个文件复制到widows目录下,如c:windows

  2、在START->PROGRAMS->Start下做一个respond.exe的链接(如何在win2000下做快

  捷链接,请查找win2000的帮助)。

  3、运行respond.exe
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,