Web2Fax Gateway
如果您有數據機,可能想用 PC 作傳真之用。網頁界面可以讓本地網絡的所有使用者使用一部數據機傳真文件。
在網絡上傳送傳真
有很多軟件也可以利用 Hylafax 伺服器在網絡上送出傳真,伺服器能夠透過特別的用戶端,傳送傳真或讀取外界送來的傳真。
大量的用戶端已有存在,而 SuSE java 用戶端似乎是當中最好的,因為它可以獨立用於任何作業系統。缺點是這個用戶端程式必須安裝在網絡上每部電腦,而管理員要預計使用者會有很多問題,因為程式一點也不易用。
對使用者來說最容易的方法是使用一個簡單的網頁界面,只需輸入文字和電話,其餘的都會自動完成。
自製的界面
我們很有野心,自己寫整個網頁界面,而不使用現成的軟件。
在您害怕太多 工作前,可以讓您放心的是,不會需要太多編程。
網頁伺服器及 hylafax 伺服器在同一台電腦執行,您不需要使用 hylafax 伺服器的網絡功能,而可以直接處理傳真。
留意:在下列步驟中,假設您已安裝 hylafax 伺服器。
步驟一:網頁
首先,我們要建立一個網頁讓使用者輸入傳真的文字,在網頁伺服器建立一個叫 Fax 的子目錄,在該目錄之下再建立一個叫 cgi-bin 的子目錄,script 就是放在這兒:
>> mkdir /usr/local/httpd/htdocs/Fax(在 SuSE 中,網頁伺服器的目錄在 /usr/local/httpd/htdocs/。目錄位置可能會視乎不同的發行本而有不同,例如 /var/www/ 或 /home/www。)
>> mkdir /usr/local/httpd/htdocs/Fax/cgi-bin
接著我們會建立一個網上表格如下:
|
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Homepage</title> </head> <body> <form METHOD=POST action="/Fax/cgi-bin/faxout.cgi"> <pre> Recipient <input type="text" name="ToName" size=30> Fax number <input type="text" name="ToNumber" size=20> <input type="hidden" name="ToCompany" value=" " size=20> <input type="hidden" name="FromName" value="my@email.de" size=30> <hr> Subject <input type="text" name="Regarding" size=30> <center> Text: <textarea name="Comments" rows=10 cols=60></textarea> </center> </pre> <center> <input type="submit" value="Send fax!"> <input type="reset" value="Delete"> </center> </body> </html> |
出來的界面如下:
當然可以有圖像的裝飾,如果沒有移除 <input>-tags 的話。
步驟二:設定 Apache
為了方便查看,處理傳真伺服器的輸入文字的 cgi script 會在同一個子目錄,因此您需要告訴
Apache 那些 cgi scripts 可能會由該目錄執行。
除了現有的設定,您需要在 /etc/httpd/srm.conf 檔案加上以下記錄:
|
#ScriptAlias: This controls which directories contain server scripts. |
您需要重新啟動 Apache 伺服器,才能讓新的設定生效:
(在 SuSE)
>> /sbin/init.d/apache restart(在 RedHat)
>> /etc/rc.d/init.d/apache restart如新設定仍未能運作,就需要重新啟動系統 (即使這個做法並不建議)
步驟三:cgi script
實際的 script 很快就寫好了,它只是將文字儲存在 /tmp/.fax/
目錄,在下一步,cron job 會將文字從該目錄送往伺服器。
"faxout.cgi" 這 script 應該在 Fax 目錄下的 "cgi-bin" 子目錄內。
|
#!/usr/bin/perl |
這個 script 必須讓網頁使用者有所需的權限才能執行 (以 root執行 )
>> chmod og+x /usr/local/httpd/htdocs/Fax/cgi-bin/faxout.cgi需要建立 /tmp/.fax 子目錄,這就是輸入文字暫時儲存的地方:
>> mkdir /tmp/.fax
步驟四:cron job
實際的工作由 cron job 呼叫另一個 script 來完成。
這個 script 會將輸入的文字從 /tmp/.fax 目錄傳送至 Hylafax 伺服器。
基於保安理由,這個 script 應該會放在 /root 。
您也應該在那兒建立一個 .cron_jobs 子目錄,儲存所有定期由 root 執行的 scripts 。
>> mkdir /root/.cron_jobs我們會在那兒建立一個名為 htmlfax.sh 的 script。
|
|
此外還要將這 script 變成可執行:
>> chmod u+x /root/.cron_jobs/htmlfax.sh這個 script 會定期搜尋 /tmp/.fax/ 目錄,查看有沒有傳真要發送。
要令這個功能運作,您需要將記錄加在 crontab 內:
|
|
您可以透過圖像界面如 VCron 或 Kcrontab 修改 crontab,或使用指令也可 (以 root 執行﹗)
>> crontab -e這項記錄每隔十五分鐘便將所有新的傳真傳送至所有收件者。
再多加一項記錄的話,甚至可以在指定時間 (例如由下午六時開始)發放傳真,那就可以繳交較平的電話費。
步驟五:完成
web2fax gateway 現在可以運作無誤了,可以立刻測試,這個簡單的方法當然並不容易,而且頗為費力。在本例中您可以清楚知道
UNIX 系統的幾個元件如何一同運作。
您只需花很少的編程功夫,就能得到很多的功能。
有些「作業系統」應該以本例作簡單的例子 (特別在伺服器服務方面)。
留言列表