在板上看到FAX Server的介紹, 花了點時間架設, 跟大家分享, 如有不足還請大家幫忙補充
系統環境: Redhat 8
Modem: 聯強蝙蝠車 MD 56KVT-200 (AT&T Lucent Venus Chip)
1.至
http://www.hylafax.org下載並安裝hylafax, 目前最新版本為4.1.7
在這裡以hylafax-4.1.7-1rh8.i386.rpm為例
# rpm –Uvh hylafax-4.1.7-1rh8.i386.rpm
如果需要將接收的FAX轉為郵件給指定使用者, 那你需要安裝metamail, 或使用uuencode
2.加入Modem設定
# faxaddmodem
請依實際狀況設定您的modem, 系統會自動判斷Modem的速度及Class,大部分依預設值即可, 如果您的Modem支援度高那就不需修改, 如果很不幸的設定值無法使用, 那麼請到/var/spool/hylafax/config下找各廠牌的Modem設定試試
完成設定後的檔案為 /var/spool/hylafax/etc/hylafax.ttySx
3.預設Fax Server會啟動但卻不會自動掛載在對應的COM PORT
# faxgetty ttyS0 (將其掛載到COM 1)
如果需要開機即啟動你可以將下面這行加入inittab
S0:2345:respawn:/usr/sbin/faxgetty /dev/ttyS0
# ps –ef | grep hylafax
會有兩行
uucp 3731 1 0 Aug15 ? 00:00:00 hfaxd -i hylafax
uucp 3875 1 0 Aug15 ? 00:00:00 hfaxd -i hylafax
到這個步驟即可用commandline發送fax
# sendfax -n -d 123-4567 testpage
4.接收FAX的部份修改/var/spool/hylafax/etc/FaxDispatch
SENDTO=FaxMaster; # 給 FaxMaster
FILETYPE=pdf; # 支援pdf及tiff
沒裝metamail需要加一行
MIMENCODE=bin/uuencode_it;
並產生下面內容的shell script放在/var/spool/hylafax/bin下
#!/bin/sh
uuencode -m $1 $1 | grep -E -v "^begin|^====$" 2>/dev/null
另可依照傳送者的TSI, Caller-ID,Device指定接收的電子信箱
如果有裝openwebmail那可開個公用帳號給使用者查詢,省的設定麻煩^^
5. 至http://www.boerde.de/~horstf/ 下載respond及printfax.pl, 修改printfax.pl將預設的mgetty改為hylafax
# $cmdlinefmt='mgetty';
$cmdlinefmt='hylafax';
### The faxspoolprogram
### for mgetty+sendfax:
# $faxspool = '/usr/bin/faxspool';
### for hylafax:
$faxspool = '/usr/bin/sendfax
另外可以修改下面兩行開啟debug對期初測試有幫助
$debug = 1;
$nosendondebug = 0;
修改smb.conf增加
[FAX]
comment = FAX Server
postscript = yes
print command = ( /usr/bin/printfax.pl %I %s %U %m; rm %s ) &
; For WinNT terminal server and Win2000 comment out the previous two lines
; and uncomment the next two if you are using a printfax.pl version below 1.5.0
; postscript = no
; print command = (echo -e '1i\n%!\n.\nw\nq'|ed %s; /usr/bin/printfax.pl %I %s
printable = yes
writable = no
path = /var/spool/samba
將respond加到client端電腦啟動列, 並安裝PostScript印表機驅動程式到samba分享出來的印表機上(建議HP LaserJet IIIP PS)
如果嫌一台台去安裝印表機沒效率, 您可以增加samba端的印表機(含server端驅動程式安裝)讓Window Client自動安裝下載印表機驅動程式
I. samba須有root帳號
II.修改smb.conf新增分享
[global]
printer admin = root
[print$]
path = /home/printers
guest ok = yes
browseable = yes
read only = yes
write list = root
III.建立Driver分享目錄及次目錄
printers---
|-W32X86 ; "Windows NT x86"
|-WIN40 ; "Windows 95/98"
|-W32ALPHA ; "Windows NT Alpha_AXP"
|-W32MIPS ; "Windows NT R4000"
|-W32PPC ; "Windows NT PowerPC"
IV.在Windows 2000 or XP以root帳號登入samba server ( \\server )
V.開啟印表機與傳真, 選擇FAX印表機安裝HP LaserJet IIIP PS驅動程式
驅動程式會被安裝在\\server\print$\W32X86下供W2Kclient使用
95.98.ME則擺在\\server\print$\WIN40
接下就測試將文件列印到Samba的FAX印表機, respond會出現, 輸入目的傳真電話….如果傳送不成功請檢查/var/spool/hylafax/log及/var/log/messages
至於email to fax沒用到這邊就不再說明啦
6.常見問題(自己遇到的^^”…希望大家遇不到)
I.開啟印表機時顯示無存取權限
此問題發生在”client端手動安裝驅動程式”時容易發生, 請在smb.conf加入
[global]
use client driver = yes
或者改採上面將驅動程式放在samba的方式
II.送出的傳真缺行, 重疊或只顯示半行
若為class 2 Modem請改為class 1
若為class 1請調整Modem flow control為xonxoff試試
III.傳真上方的Tagline變亂碼
預設使用英文Portable Compiled Font字型, 但是locale為中文顯示, 修改方式
方法一: 修改/var/spool/hylafax/etc/hylafax.ttySx
TagLineFormat: "From %%l | %F %T %Z | Page %%P of %%T"
%F %T %Z 參數請man date
方法二: 把字型那行拿掉不顯示Tagline(有些地區是不允許的)
#TagLineFont : etc/lutRS18.pcf
方法三: 使用X11提供的中文字型
zcat /usr/lib/X11/fonts/misc/taipei20.pcf.gz > /var/spool/hylafax/etc/taipei20.pcf
修改/var/spool/hylafax/etc/hylafax.ttySx
TagLineFont : etc/taipei20.pcf
這方式沒成功不知有人試過嗎??
Hylafax的功能可不只這些, 還有撥號規則, 離峰時間傳送等
它的功能應該可以滿足大部分人的需求......