OpenBSD+Samba+eFax架设传真服务器

1、编译安装相关程序 , Samba,GhostScript,eFax , 下面是自己处理过的三个port , 解压到/usr/ports目录直接make install即可
http://zenz.minidns.net/download/samba-3.0.1-port.tgz
http://zenz.minidns.net/download/ghostscript-7.05-port.tgz
http://zenz.minidns.net/download/efax-0.9-port.tgz2、配置efax
把/usr/local/share/examples/efax.rc.sample复制到/etc/efax.rc并修改以下项目:
DEV=tty00 # 这里是你的Modem所在位置 , 在COM1就是tty00 , COM2则是tty01 , 如此类推
FROM=" 86 21 00000000" # 这里填入对方回发传真时应该发到哪个号码
NAME="zenz.minidns.net" # 这里是对方看到传真时的发送者
ANSRINGS=1 # 铃响几次后自动接受传真
ANSFNAME="%Y%m%d%H%M%S" #接受到的传真保存的格式(20040118114509)
FAXMGR=zenz # 接受到传真后 , 发邮件通知此用户
INCOMINGDIR=/var/spool/fax/incoming # 接受到的传真存放位置
LOGDIR=/var/log/fax # 运行纪录存放位置
然后建立相关的目录:

mkdir -p /var/spool/fax/incoming
mkdir -p /var/log/fax
chown -R daemon /var/spool/fax
chmod -R 777 /var/spool/fax
chmod 660 /var/log/fax
修改/etc/printcap文件 , 加入以下打印设备设置:

fax|Fax Printer:
:lp=/dev/null:sd=/var/spool/fax:if=/usr/local/bin/faxlpr:
配置完毕后 , 可以发送传真试一试
lpr -Pfax -J 12345678 /usr/local/share/ghostscript/7.05/examples/golfer.ps
其中12345678是接收方传真号码
配置接收很简单 , 修改/etc/ttys , 找到tty00(跟你的Modem对应)一行
修改成这样:

tty00 "/usr/local/bin/fax answer" unknown on
重新启动机器后 , 从另一传真机发传真过来看看 。
在console上发送跟接受正常后 , 就可以做下一步 , 用Samba来做传真共享 , 这涉及到Samba的配置 , 就不详细说了 , 主要是传真打印机的设置

[Fax]
comment = Fax Printer
path = /tmp
read only = No
guest ok = No
force user = root
printable = Yes
print command = (num=`/usr/local/sbin/faxnumber %M`;
lpr -Pfax -J "$num" %s;
rm %s; /usr/local/bin/faxpopup %m "$num") &
这里用到一个叫做faxnumber的程序 , 这其实是一个很简单的telnet客户端 , 一旦有文件被打印到这个传真打印机 , 就启动这个faxnumber , 登录到发送者的机器 , 等待返回的信息(发送到的传真号码) 。
修改/etc/services加入:

faxnumber 5555/tcp # FaxNumber Service
以下为faxnumber的源程序:
faxnumber.c
http://zenz.minidns.net/download/faxnumber.c
在Windows机器上面 , 要运行这个响应服务器:
respond-1.6.0beta.zip
http://www.boerde.de/~horstf/download/respond-1.6.0beta.zip
【OpenBSD Samba eFax架设传真服务器】参考资料:
http://robert.silve.free.fr/doc/fax/
http://www.boerde.de/~horstf/

    推荐阅读