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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 56 ::
收藏到网摘: 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