当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 构建简单易用的FAX服务器

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 构建简单易用的FAX服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 43 ::
收藏到网摘: n/a


作者:CCID


摘要:本文说明了如何将Linux配置为一个FAX服务器



一.介绍

下面介绍的配置采用了Hylafax4.0p2.rjc11,其运行于Mandrake7.1之上。在服务器端,Hylafax由三个守护程序组成:
faxq:主要的服务程序
hfaxd:管理网络连接
faxgetty:管理调制解调器间的会话
在客户端运行的程序如下(这些程序也可以在服务器上运行):
sendfax:发送传真
faxstat:检查传真队列
faxrm:从队列中删除一项工作。
相关的配置文件在/var/spool/fax/etc/文件夹内。
二.安装

我强烈建议你安装以下软件包(它们都包含在Mandrake7.1中):
ghostscriptftp://ftp.cs.wisc.edu/pub/ghost/aladdin
libtiffftp://rufus.w3.org/linux/redhat
也可以从官方网站http://www.hylafax.org/links.html获取这些资源。安装Hylafax,需要安装下列RPM包:
rpm-ivhhylafax-common-4.0pl2.rjc11-3mdk
rpm-ivhhylafax-client-4.0pl2.rjc11-3mdk
rpm-ivhhylafax-server-4.0pl2.rjc11-3mdk
三.配置Hylafax

运行下列命令对服务器进行配置:
faxsetup-server(必须以root身份进行该操作)
除了以下的几项外,对其它的询问选项都选取OK,即选取默认设值:
·Countrycode[1]?enter33forFrance
·Areacode[]?enter1forParis
·Longdistancedialingprefix[1]?enter0
·Internationaldialingprefix[011]?enter00
·Dialstringrulesfile[etc/dialrules]?enteretc/dialrules.europe
·Serialportthatmodemisconnectedto[]?enterttyS0(forCOM1)orttyS1(forCOM2)
Hylafax的默认设置在启动时并不自动的调用守护程序faxgetty,可以手工完成该过程。
1、编辑/etc/inittab文件,在文件的最后插入下面的内容:
mo:2345:respawn:/usr/sbin/faxgetty-DttyS0
然后运行kill-HUPl重启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的USRobotics56K,因此我将usr-2.0文件复制到/var/spool/fax/etc中,改名为config.ttyS0,并做如下修改:
#ConfigurationforusingtheClass2.0commandinterface
#withaUSRv.34CourierorSporstermodem.
#
#CONFIG:CLASS2.0:USRobotics*-*
#
CountryCode:33
AreaCode:1
#FAXNumber:yournumberex(forfrance):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%ldx_%s"
#LocalIdentifier:"YourCompany"(uncommentifwantedonthefax)
#TagLineFont:etc/lutRS18.pcf(idem)
#TagLineFormat:"De%%l|%c|Page%%psur%%t"(idem)
#MaxRecvPages:25
ModemType:Class2.0#useclass2.0interface
ModemRate:57600#38400DCE-DTEcommunicationrate
ModemFlowControl:rtscts#XON/XOFFflowcontrolassumed
ModemDialCmd:ATDT0%s#Iadded0becauseIgothroughaPABX!!
#ModemNoFlowCmd:AT&H0&I0&R1#setupmodemfornoflowcontrol
ModemHardFlowCmd:AT&H1&I0&R2#setupmodemforhardwareflowcontrol
#ModemSoftFlowCmd:AT&H2&I2&R1#setupmodemforsoftwareflowcontrol
#ModemSetupDTRCmd:ATS13=1&D2#setupsoDTRdropresetsmodem
#ModemSetupDCDCmd:AT&C1#setupsoDCDreflectscarrier(ornot)
ModemResultCodesCmd:ATQ0X4#enableextendedresultcodes
#ModemSetupAACmd:AT+FAA=1
#ModemSetVolumeCmd:"ATM0ATM1ATM1ATM1ATM1"
Class2BUGCmd:AT+FBU=0
Class2CQQueryCmd:!(0),(0)#overridemodemresponse
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命令,RedHat中运行setup命令,接着手工运行下面的命令:
/etc/rc.d/init.d/hylafaxstart
如果进程列表(ps-e)中没有faxgetty,试试下面的命令:
/usr/sbin/faxgetty-D/dev/ttyS0
五.如何使用Hylafax

发送传真:
sendfax-n-dnumberfile1file2
检查结果:
faxstat-s(显示队列中等发送的传真)
faxstat-d(显示已发送的传真)
faxstat-r(显示接收的传真)
从队列中去除一个传真:
faxrmnumber_of_job
清除缓冲池:
faxqclean
显示统计结果:
faxcron

六.在网络中使用Hylafax

服务器的配置:
在http://www.hylafax.org/links.html上你可以找到很多关于Hylafax的链接,我选择在
http://www.boerde.de/~horstf下载Printfx和Repond


需要下载三个文件:
printfax.pl(perlscript)
respond.zip(respond.exe的压强包)
smb_conf.add(要添加到/etc/smb.conf的模块)
将printfax.pl复制到/usr/bin/目录下,并做如下修改:
###Formatofcommandline
#$cmdlinefmt=mgetty;
$cmdlinefmt=hylafax;
###Thefaxspoolprogram
###formgetty+sendfax:
#$faxspool=/usr/bin/faxspool;
###forhylafax:
$faxspool=/usr/bin/sendfax;
###Additionalfaxspoolargs(e.g.header,coverpage)
###empty:
@faxspool_args=qw(-n);
###formgetty+sendfaxwithaspecialheader:
#@faxspool_args=qw(-h/usr/local/etc/mgetty+sendfax/faxheader.smb);
###forhylafaxwithsendemailwhenjobisdoneorrequeuedanduse
###a4sizedpaper:
#@faxspool_args=qw(-D-R-sa4);
注意:在修改前请检查printfax.pl的版本号,也许你下载的版本已经做了修改了。
在/etc/smb.conf中添加smb_conf.add模块:
[Fax]comment=FaxPrinter
public=yes
postscript=yes
printcommand=(/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/smbrestart
客户端的配置:
下面是在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或者重启计算机。
接着必须创建网络打印机:
1、点击START->printers->add
2、选择网络打印机
3、点击"browse"选择网络上的FA