Subject: [介紹] HyperNews 系統.


以下是有關 HyperNews 這個系統的 介紹及安裝. 今天先簡介這個東西 , 並且說明安裝 過程 , 至於使用指令 ... 應該是很簡單啦 ... 留到以後講 ...

*** HyperNews 1.8版已經出了,增加了許多新功能! ***若這篇文章中 有任何寫錯的地方 , 除了原諒我的 愚笨之外 , 請還是去參考在 NCSA 完整資訊為佳 ( 只是 那是英 文的 ! ) .

http://union.ncsa.uiuc.edu/HyperNews/get/hypernews.html

HyperNews 系統簡介

這個系統的發展 是由在 University of Illinois at Urbana-Champaign NCSA 工作的 Daniel M LaLiberte 先生所 作的. 那麼以往我們 可能都聽過所謂 的 USENET News 或是 NetNews 之類的名詞, 並且 可能也用過 rtin, tin 等程式去 閱讀那一萬多個 Newsgroups 中的少許. 這幾年, World Wide Web --- 全球資訊網 的興起 及其快速的發展 產生了 HyperNews 這個點子. 說穿了 , 其實這個東西 只是試圖想把 WWW 和 NetNews 作一個結合罷 了! HyperNews 並不像 NetNews 所使用的 NNTP 這個協定 將文章在不同的 NNTP Server 間傳來傳去. HyperNews 是 建在一個 WWW Server上 , 針對某個特定 的主題讓大家來 進行討論. 所以 所有的文章 就只有存在一台 機器上, 不會傳來傳去 , 而你也只能到 某個特定的 WWW Server去參與 特定的討論. ( 這點以後也許 會有改變?! ) 在 HyperNews 系統中的 文章 也不像 NetNews 上的會過期 ( 那很麻煩耶! 你 可能會 須要不小的硬碟 空間喔!:P ), 不過你也可以在 " post " 之後隨時更改 你的 文章就是了!

HyperNews的原意是希 望讓使用者能在看 了某個 Web Page 後立刻將自己 的反應給加上去 , 你可以寫一篇文章 , 或者只是丟一個 URL 上去作回應. 然後 你也可以隨時 再回來修改或是增 加你的意見! 這種方式蠻適合 討論一些要很多人 合作進行的 計劃或是一個特 殊的主題. 像我是加在系上的 WWW Server 中所搜集 的網路上數學資源的那個 Page , 過來看的人若有什麼意見要反應的 , 就可以立 即加上去! 其實有點像在 BBS 中的一個 Board 一樣 ! 好的 , HyperNews 系統就簡 介到此 ,接下來就談一下我的安 裝經驗......

HyperNews 安裝

http://union.ncsa.uiuc.edu:80/HyperNews/get/hypernews/source.html

不用多說 , 首先你要有一個 WWW Server 在運作. 然後這個 Server上除了 要有 PERL 4 or 5以外, 它的 HTTP Daemon 也要支援 CGI 才行!

第一步 你得先用 h2ph 這個程式把位在 /usr/include 目錄下的 一些檔案轉成 PERL的 Library. 你可以 不用轉那麼 多檔案, 但一定要轉 sys/socket.ph 這個檔案. 在看了 h2ph的 man page 後,你可以這樣作:

       cd /usr/include; h2ph * sys/*
這樣就可以轉出你所須的檔案.

安裝者的權限

你可以不用是系統管理者 , 但是最少 你得有和安裝 HTTPD的 user有同樣的 權限 , 並且你也要 能夠執行自己的 CGI 程式才行.

開始安裝

拿到 hypernews.tar 這個檔案後,用 tar zxf hypernews.tar 把它解開 把解開後的那些 PERL scripts 放在你可執行 cgi 的目錄下. 例如我放在
/usr/local/etc/http/cgi-bin/HyperNews
這個目錄下.

***若你的perl不是放在 /usr/local/bin 這個目錄下的話 , 你就須要跑 一個程式 叫 fixPerlPath 來修正 ( 這個程式 可以在解開的檔案 中找到 ).

然後我在我的 CERN HTTPD 的 httpd.conf檔案中加了:

       
Exec       /HyperNews/*       /usr/local/etc/http/cgi-bin/HyperNews/*
接下來你得創造一個目錄,能讓執行 httpd 的 user 讀寫及執行. 詳情 請看下面有關 hnrc 這個設定檔的編寫! :)

hnrc---設定檔的編寫

以下是我自己的例子:

#先說明一下我機器上一些檔案所放置的目錄:
# /usr/local/etc/http/cgi-bin/	---這是我放cgi程式的目錄.
# /home/staff/WWW		---這是我放WWW文件的根目錄.

#----------------------------------------------------------------

# Server的名字
$http = "http://www.math.ncu.edu.tw";  ---不用加最後的 "/"!
$http = "http://$ENV{SERVER_NAME}";    ---這樣也能達到同樣的效果!

# $hndoc 這個變數儲存的值就是你要把文章標題存放的目錄. 隨便你寫,只要確定
# 跑httpd的user有寫入的權限才行! HyperNews會自動應需要而創造這個目
# 錄. 當然,最好是用你的 document 的根目錄為主.
$hndoc="/home/staff/WWW/hn";  ---這是我用的目錄,也是不用加 "/"!

# 再來是 $hndoc的 URL位置. 
$hyperNewsDocs = "$http/hn";  ---這也是我用在我的機器上的值.

# 你所有的 HyperNews的 scripts所存放的目錄.
$hnbin = "/usr/local/etc/httpd/cgi-bin/HyperNews";

# $hyperNewsBin 這個變數就是你的 HyperNews scripts 的 URL.
$hyperNewsBin = "$http/HyperNews";  

# $headerText 存放你所想加在所有文章及回應前的東西,可以是個icon或是
# ISMAP. 用一個 <P> 結尾
$headerText = "HyperNews of NCU Math Dept.<P>";

# 下面的兩個參數只是給創造出來的目錄或檔案一個 mode而已.
$hndirmode = 0775;
$hnfilemode = 0664;

# $hnEmail 只是對每個回應都寄封email來提示的選項. 是就給1,否則是0.
$hnEmail = 1;

# $hnPeople 指定一個目錄來存放訂閱者的資料.
$hnPeople = "$hndocs/hnpeople";

#------------------------------------

#接下來的東西你應該不需要更動了......

$hnget = "$hyperNewsBin/get";
$previewResponse = "$hyperNewsBin/preview-response.pl";
$addResponse = "$hyperNewsBin/add-response.pl";
$addArticle = "$hyperNewsBin/add-article.pl";
$editResponse = "$hyperNewsBin/edit-response.pl";
$remoteEditResponse = "$hyperNewsBin/remote-edit-response.pl";
$previewRemoteResponse = "$hyperNewsBin/preview-remote-response.pl";
$editSubscribe = "$hyperNewsBin/edit-subscribe.pl";
$subscribe = "$hyperNewsBin/subscribe.pl";

# Additional binaries.
# See http.pl, to maybe change $thishost = `/usr/bin/hostname`.

# For url.pl
$timeout = 60;
$version = "HTTP 1.0";

好了. 這個hnrc的檔案說明就到此.

寫一個 Base Article

首先聯到 URL: http://your.www.server/HyperNews/edit-article.pl 其中 "your.www.server/HyperNews" 是隨著您 的設定而可改變的! 然 後你只要依照 所出現的那個表格 來填入資料就行了 ! 這個部份可以參看:
http://union.ncsa.uiuc.edu:80/HyperNews/get/hypernews/source.html
以下是我寫的例子:

Make HyperNews Article

Article Title:

Article URL (of the file that you edit for the body; http only):

Virtual Path (relative to the hypernews document root (/home/staff/WWW/hn). Include the leading "/", but don't include any ".html" suffix. e.g. "/hypernews/source". The URL for the resulting article will be "http://dufu.math.ncu.edu.tw/HyperNews/get.html", but this form only creates the file "/home/staff/WWW/hn.html,urc"):


Author Email Address:

Author Name:

Author URL:

再按下下面這個鍵就可以作好一篇 BASE Article 了!

然後你就 可以在你的目錄下 發現 一個檔案如前述的 " <virtual-path>.html,urc ". 像我就會在 /home/staff/WWW/hn/resources 下發現 " fractals.html,urc " 這個檔案. 它的內容如下 :

       
Name: 陳彥銘
UserURL: http://www.math.ncu.edu.tw/~chenym/
Responses: /resources/fractals
Title: Fractals --- 碎形
URL: http://dufu.math.ncu.edu.tw/HyperNews/get/resources/fractals.html
From: chenym@math.ncu.edu.tw
UpURL: 
UpRel: 
Date: Fri, 16 Jun 1995 15:37:47 GMT
Body: http://www.math.ncu.edu.tw/Chinese/resources/Fractals.html
BaseURL: http://dufu.math.ncu.edu.tw/HyperNews/get/resources/fractals.html
然後你只要連到 http://your.www.server/HyperNews/get<virtual-path>.html 就可 以 看到你的文章了! 例如 http://www.math.ncu.edu.tw/HyperNews/get/resources.html 就是 中央數學 的 HyperNews Page. 這是 所搜集的 有關數學 的網路資源.

看到了自己的 HyperNews Page 後, 只要直接按下 Page 最下面的 Response 就可以 回應一篇你的大作了! 其它詳細的使用說明 , 容後再稟. 或者是你想先賭為快 ... 那就去 ...
http://union.ncsa.uiuc.edu:80/HyperNews/get/hypernews/instructions.html
參考吧!

最後如果你要找現有的 HyperNews WWW Site 的話, 那就去 ...
http://union.ncsa.uiuc.edu/HyperNews/get/hypernews.html
這裡看. 然後也有 TEST PAGE 給你作測試用 ...
http://union.ncsa.uiuc.edu:80/HyperNews/get/hypernews/test.html
另外, 我也作了一個測試用的 Page 在
http://www.math.ncu.edu.tw/HyperNews/get/test.html
歡迎大家來測試! :p

好...這篇文章就先寫到此. 下面是原作者的 Home Page 及 email 地址.

作者: Daniel M LaLiberte email:

liberte@ncsa.uiuc.edu

中央數學 陳彥銘

email: chenym@math.ncu.edu.tw

Last Modified: $Date: 1996/01/16 13:45:57 $