以下文章來源:Hylafax server 安裝設定教學
Hylafax 是一款在 linux 底下的免費傳真伺服器,透過它,你的電腦就能用數據機來收發傳真,他可以為個人或者企業提供一個強大而可靠的傳真服務, 而且是免費的。 hyla 就是官網上的那個小青蛙。
Hylafax 官方網站
HylaFAX是一個開放源碼的傳真伺服器. 他可以為個人或者企業提供一個強大而可靠的傳真服務, 而且是免費的.
HylaFax基於Client - Server 架構, 就是說在局域網內, 只需要有一台的伺服器安裝了HylaFAX, 并且這個伺服器連結了一個或多個Fax Modem. 那麼HylaFAX就可以為局域網裡的所有電腦提供傳真服務. 在企業裡應用, 他擁有高負載力的功能. 在個人公司方面, 他將為你提供方便和節省金錢.以下是一些HylaFAX的特點,功能和應用例子:
* HylfaFax是免費的!
* 支持多個Fax Modem同時進行工作, 擁有高負載力.
* 支持Class 1, 1.0, 2.0 和 2.1 的Fax Modem.
* 每天發送和接收傳真可以超過1000個.
* 多國語言支持
* 自動打印接收的傳真
* 可以不打印傳真, 直接存檔到伺服器, 或以附件電郵發送
* 可以直接用伺服器發送傳真
* 自動加上水印
* 用HylaFAX發送短信SMS
* 只可以在Unix或者Linux機器上運行
***有了HalyFAX, 可以用HylaFAX電郵傳真,然後用BlackBerry 收傳真
以下內容,紅字部份皆為指令或是您需要修改的內容 ,藍字部份則為設定檔內容。
在安裝 hylafax 這程式之前,請先準備好你的數據機(modem),並確定電話線沒有問題後,再連接到電腦。
1.Modem
大部份內接的Fax Modem都是Winmodem (Softmodem), 意思就是說這些Fax Modem未必可以在Linux上運作, 因為Linux對這些softmodem的驅動程式比較少. 大部份外接的Fax Modem 都是Hardware modem, 所以理論上沒有問題.
參考資料:內接數據卡與外接數據機介紹(英文)
如果覺得麻煩的話,可以在Linmodem的網站裡下載scanModem, 他是一個小程式幫忙分析你的Fax Modem是用那種晶片組, 而且會提供安裝的方法和下載的地址.
scanModem的下載點
wget http://linmodems.technion.ac.il/packages/scanModem.gz
gunzip scanModem.gz
sudo ./scanModem
cd modem
在modem 裡有一個modemData.txt, 會告訴你一切關於Fax Modem的資料.
安裝好以後, 測試modem是否正常連接電腦
modem 連接在 com1 則對應為 ttyS0
modem 連接在 com2 則對應為 ttyS1
測試指令
紅字的部份為指令,也就是你要用鍵盤輸入的,藍字為電腦回應。
root@u11:~# cu -l ttyS0
如果設置成功, 會顯示以下內容:
Connected.
at+fclass=?
0,1,8
OK
~.
Disconnected.
root@u11:~#
撥號測試
root@u11:~# cu -l ttyS0
Connected.
at
OK ←這樣就算進入與數據機的連線了,就可以下AT指令來控制數據機
ATDT你的測試電話 ←撥通後,按一下ENTER就能斷線。
~.
某些 debian 可能沒有 cu 此指令,請下指令安裝 sudo apt-get install cu
某些 centOS/Fedora 沒有 cu 此指令,請下指令安裝 yum -y install uucp
可用probemodem命令來探測調制解調器,另外在/var/spool/fax/config中有一些典型的配置。
2.安裝hylafax主程式
↑請在此頁面依你的 linux 版本來下載, centOS / Fedora 下載 rpm 檔來安裝
centOS/Fedora 安裝法:
wget http://yum.trixbox.org/centos/5/RPMS/hylafax-4.4.4-1rhel5.i386.rpm
rpm -ivh hylafax-4.4.4-1rhel5.i386.rpm
PS:舊版的可能無法正常執行,請升級到最新版本
wget ftp://ftp.hylafax.org/binary/linux/redhat/6.0.3/hylafax-client-6.0.3-1rhel5.i386.rpm
wget ftp://ftp.hylafax.org/binary/linux/redhat/6.0.3/hylafax-server-6.0.3-1rhel5.i386.rpm
rpm -ivh hylafax-client-6.0.3-1rhel5.i386.rpm
rpm -ivh hylafax-server-6.0.3-1rhel5.i386.rpm
若出現如下錯誤
error: Failed dependencies:
ghostscript >= 5.5 is needed by hylafax-4.4.4-1rhel5.i386
sharutils is needed by hylafax-4.4.4-1rhel5.i386
表示你少了2個套件,請下指令安裝
yum -y install ghostscript sharutils
ubuntu 9.04 直接下一行指令就能安裝
sudo apt-get install hylafax-server hylafax-client
此指令會一併安裝 postfix email 發送程式,大概是要用來收到傳真後發email出去的,我目前用不著,但也不會阻止它安裝postfix。也許用 aptitude 指令安裝時就可以不用裝 postfix ,沒試過。
PS:如果是區網裡的其他電腦就安裝hylafax-client. Server 端可以不用安裝 hylafax-client.
debian/ubuntu 安裝過程中會跳出一些視窗讓你填資料,知道就填,不知就 enter 過去用預設值。
3.設定
這裡是重點,而且設定選項很多, faxsetup 和 faxaddmodem 都是設定用的,若你是第一次執行faxsetup,會帶 faxaddmodem。
所以這裡我們就執行 faxsetup 來設定吧
faxsetup
底下的選項,因為我是執行過一次了,所以有些預設值可能會跟你第一次執行的不一樣,沒關係,你參照著設定即可
底下的環境是在 ubuntu 9.04 所設
Should an entry be added for the FaxMaster to /etc/aliases [yes]? ←按enter 在/etc/aliases加入別名 Users to receive fax-related mail [root]? ←按enter root將收到的傳真相關的mail(如果統計報表等) HylaFAX configuration parameters are: You have a HylaFAX scheduler process running. faxq will be restarted shortly, as soon as some other work has been completed. 這行是說,它發現你的系統上正執行著 hylafax ,我可以關掉這程序嗎? 當然啦,若你從沒裝過 hylafsx 可能就不會跳出這行 Should I restart the HylaFAX server processes [yes]? ←按enter Should I run faxmodem for each configured modem [yes]? ←按enter 若你之前曾執行過faxsetup一次,到這裡它就會離開了,若是第一次 run faxsetup,那麼它會接著 run faxaddmodem Serial port that modem is connected to [...]? ← ttyS0 你的modem若是接在 com1的話,請輸入 ttyS0, 接com2,請輸入 ttyS1 The non-default server configuration parameters are: ↑因為我run過一次了,要重新設定,所以我輸入 no ,才能重新設定 Country code [1]? ←問你國碼是多少,台灣請輸入886 ↑傳真機的識別ID,一般使用電話號碼或是公司的英文縮寫不可太長 如 sony,當你傳真 Long distance dialing prefix [0]? ←長途碼 0 ,輸入0 Enter Timeout when converting PostScript documents (secs) [180]? ←按enter Maximum number of concurrent jobs to a destination[1]? ←按enter Define a group of modems [] ←按enter Time of day restrictions for outbound jobs ["Any"]? ←按enter Pathname of destination controls file (relative to /var/spool/hylafax) []? ←按enter Timeout before purging a stale UUCP lock file (secs) [30] ←按enter Max number of pages to permit in an outbound job [0xffffffff] ←按enter Syslog facility name for ServerTracing messages [daemon]? ←按enter The non-default scheduler parameters are: Should I restart the HylaFAX server processes [yes]? ←按enter Should I run faxmodem for each configured modem [yes]? ←按enter 若你之前曾執行過faxsetup一次,到這裡它就會離開了,若是第一次 run faxsetup,那麼它會接著 run faxaddmodem Protection mode for received facsimile [0644]? ←輸入644,按enter Protection mode for session logs [0644]? Protection mode for ttyS0 [0644]? Rings to wait before answering [1]? Modem speaker volume [off]? ←按enter Syslog facility name for ServerTracing messages [daemon]? ←按enter CountryCode: 886 ↑問你以上的設定對不對,若沒錯,enter即可,若想再修改,請輸入 no ,按enter 接下來其它的部份,看不懂的就按enter過去吧 最後 Do you want to run faxaddmodem to configure another modem [yes]? ←按 no
|
Probing for best speed to talk to modem:
測試你的數據機的速度,請選擇數據機使用class 1不管它是否支援class2 或是class2.0會比較不會有問題,如果你的支援且要使用2或2.0,最好是監測fax server數天或數週,因為和不同傳真機溝通過程中可能會出現問題(傳完後掛不斷,在溝通後立即斷線等)
不同的傳真機或數據機支援不同的class,但是便宜機器一般只支援class 1,且有一些bug會存在因此我測試的結果是好是使用class1
#很多人常問到它的數據機,無法正常的收送傳真:在/var/spool/hylafax/config中有不同的晶片組的設定檔,你可以到網路查詢你的
數據機的晶片組,使用上述目錄的相關設定檔來測試。
faxgetty
Hylafax的預設在啟動時並不自動的調用守護程序faxgetty,必須手工完成該過程。 faxgetty 是 hylafax 與 modem 的溝通工具。
此設定會影響 hylafax 收發傳真的正常,一定要設。
方法有二,擇其一用之:
1、 編輯/etc/inittab文件,在文件的最後加入下面的內容:
vim /etc/inittab
mo:2345:respawn:/usr/sbin/faxgetty -D ttyS0
然運行kill -HUP l 重啟faxgetty。
↑這行是幹什麼用的,我並不清楚
或對rc.local文件進行改動:
2、 在/etc/rc.d/rc.local (某些linux版,並沒有此文件) 文件中加入下面一行:
vim /etc/rc.d/rc.local
/usr/sbin/faxgetty -D /dev/ttyS0 ←注意 ttyS0 大小寫一定要正確
並運行命令:faxgetty -D /dev/ttyS0 立即啟用
ps -aux |grep faxgetty
↑檢查faxgetty是否有啟動
PS:此法雖能在一開機就啟動faxgetty,但是在重啟 hylafax service時, faxgetty 似乎不能自己啟動,須注意,若faxgetty沒有啟動,得自己下指令讓它啟動。
參考資料:完整介紹hylafax安裝及設定、永遠的unix
4.權限設定
修改權限,方法有二,則一用之。
一.填入可發傳真的 ip
vim /var/spool/hylafax/etc/hosts.hfaxd
這樣client端連到 server 端時就不會問帳密了
二.加帳號
faxadduser -p 密碼 帳號
這樣在連server端時就會問帳密,帳號管理的好處是可以查到誰發了哪些傳真
稍後在安裝WHFC時會問你帳密,請輸入這兒設定的帳密
5.fax server狀態
a.用faxstat命令查詢服務器狀態:
在某些機器上此指令無法正確回應
debian:~# faxstat
HylaFAX scheduler on debian: Not running
Modem ttyS0 (85789877): Running and idle
↑這才是正確狀態, server 處於閒置狀態(idle),但若出現:
Waiting for modem to come ready
↑這就是有問題了,不能收發傳真了, modem 不曉得什麼原因被卡住了
你可能換另一台系統試試,我也不會解,最後是換另一台電腦測試才ok.
b.用指令發傳真測試
sendfax -n -d 傳真號碼 test.txt
-n 不加封面
-d 後面接傳真號碼
faxstat -r 查詢/var/spool/hylafax/recvq 收到的傳真
faxstat -s 查詢/var/spool/hylafax/sendq 等待傳送的傳真
faxstat -d 查詢/var/spool/hylafax/doneq 完成的傳真
c.刪除傳真任務
telnet localhost 4559
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 u11 server (HylaFAX (tm) Version 4.4.4) ready.
user root
230 User root logged in.
jkill 23
200 Job 23 killed.
quit
221 Goodbye.
Connection closed by foreign host.
紅字的部份為指令,也就是你要用鍵盤輸入的,藍字為電腦回應。
- 所有的設定檔主要目錄是放在/var/spool/hylafax有的是/var/spool/fax
如果你要查詢所有的hylafax檔案所在的,請打rpm -ql hylafax
假設目錄在/var/spool/hylafax
其重要目錄說明如下:bin 這裡存放一些程式,如收傳真,及不同格式的轉換程式等 config 數據機的樣本設定檔 etc 所有真正的設定檔 pollq,docq,doneq,
sendq,recvq所有的queue log 記錄了每一筆的收送的交談內容 info 記錄了每一台曾經收送的傳真機(有call id)的一些參數,以加速傳真不用再查詢一次 status 傳真機的狀態檔
清除 done 的記錄
rm -fr /var/spool/hylafax/doneq/*
6.發傳真
Windows 底下
a.下載 WHFC
這程式是在 windows 底下用來連接 fax server 的程式,安裝就用預設值按下一步即可。
設定WHFC:
在Fax/SystemPreferences中,輸入相關資料
在Fax/UserPreferences中,輸入使用者資料
這裡若有問你帳密,請輸入你剛剛在 server 端設定的帳密
b.下載 Adobe PostScript Printer driver 安裝
其實是只要任何一台有支援 PostScript 的印表機即可,所以若你不想下載這個程式的話,你也可以安裝xp系統內的 apple 印表機"Apple LaserWriter 12/640 PS"
選擇本地印表機,在可用的連接埠中選擇 WHFCFAX ,再按下一步(共三次),在印表機名稱中輸入一個您可以識別名稱,如:HylaFAX ,取消「列印測試頁」,開始進行安裝。
若CLIENT的OS為WIN2K以上的,則在傳真前一定要先執行WHFC.exe,而在WIN9X下則是會自動啟動Whfc.exe。
c.開始發傳真
打開word或 notepad ,輸入些內容,選列印,然後選擇 HylaFAX 這台印表機。輸入傳真號碼就可傳真了。
預設傳真文字檔是不帶系統字型的,也就是說,你用標楷體打了些中文字傳真出去,對方收到的內容是不帶標楷體的。
解法如下:
開始==>設定==>控制台==>印表機與傳真==>HylaFAX==>右鍵==>內容==>列印喜好設定==>紙張/品質==>進階==>TrueType字型==>下載成軟體字型。
參照下圖操作:
Linux 底下
這裡介紹 ubuntu 9.04 底下透過 hylafax 發傳真的方法
我們將使用 gfax 這套軟體,但若直接透過 apt-get 指令安裝的版本是舊的 0.7.6
我們直接到 gfax 的官網去下載新版的 0.7.7 的 deb 檔來安裝,新版有一個最大的好處,就是它會自動幫你安裝 fax 印表機,能讓你透過列印的方式來傳真。
使用方法:
a.裝完之後,需先啟動 gfax 程式
從開始選單→辦公→Gfax Facsimile Program 記得設一下連接到 hylafax server 的帳號
b.開啟文字檔,選檔案→列印→印表機請選Gfax_Facsimile_Printer
c.就會跳出一視窗讓你輸入傳真號碼,即可傳真。
PS:每次要傳真之前,都一定要先開啟 "辦公→Gfax Facsimile Program" 此程式,這樣點選檔案列印時,才能呼叫它來傳真。
其它的 hylafax client端程式可參考此頁
http://www.hylafax.org/content/Desktop_Client_Software
常見問題
a. 傳真上方的Tagline變亂碼
修改/var/spool/hylafax/etc/hylafax.ttySx
TagLineFormat: "From:%%l %%n|%F %T|Page %%P of %%T"
b. 傳真中文字型時字體會分離
可將文件先轉成pdf, 再傳真
c. 送出的傳真缺行, 重疊或只顯示半行
若為class 2 Modem請改為class 1
若為class 1請調整Modem flow control為xonxoff試試
參考資料:
如何安裝 HylaFAX Server
Migrate Alone
Steven's Experience
Installing a fax viewer solution
RedHat Enterprise Linux Server 5.0 + HylaFAX + HylaFAX-clinet + JHylaFax
How to build a Hylafax server
留言列表