歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 如何配置News Server

如何配置News Server

日期:2017/2/27 14:17:59   编辑:更多Linux
  在RedHat 5.0中配置News Server 估計大家都看了很多中英文的News Howto,結果一般是看得稀裡糊塗 (我自己就是這樣的感受:-),一是那些文檔年代"久遠",二是針對從源代 碼編譯開始的情況,三它們不是針對Linux來講的.裝了RH5.0後我發現配 置INN(我認為C-News軟件已經"死"了)已經是很簡單的事情了,下面把我 的一些粗淺的經驗介紹給大家.歡迎指正並完善. 一,基本概念 關於UUNet,有很多文章和書籍介紹,這裡沒必要重復了.值得一提的 是,你的新聞服務器並不一定要連入UUnet,完全可以配置為一個Stand Alone的News Server.在新聞服務器上讀,寫(post)文章的用戶稱為Reader, Reader與Server之間是按照C/S方式來做的.當然可以把你的新聞服務器 與其他服務器相連,相互轉發文章.一個新聞服務器向另一個服務器轉發 文章,則第一個服務器被稱為feeder.所以要記住news feed的行為發生在 兩個新聞組服務器之間. 我們假定你的新聞服務器的名字為news.foo.com.cn(當然域名就應該 是foo.com.cn),在安裝RedHat 5.0時選擇了INN包並允許開機啟動innd, 這時RedHat已經自動完成了大部分配置,你根本不需要去編譯源碼,也就 找不到config.dist,Install.ms等文件.安裝完成後相關文件在以下目錄: /usr/sbin/innd /usr/sbin/inndstart /etc/rc.d/rc.news /etc/news/* /etc/crontab /etc/syslog.conf.inn /usr/bin/inews /usr/bin/rnews /usr/lib/news/* /usr/lib/news/bin/* /var/lib/news/ /var/lib/news/send-nntp /var/lib/news/send-uUCp /var/spool/news/ /var/log/news/ /usr/doc/inn-1.7/ /usr/doc/inn-1.7/Install.* /usr/doc/inn-1.7/FAQ/ 在配置innd之前,應確保網絡已被正確配置,一般來說在你的網絡裡還需 要有DNS服務器,某些情況下還需要配置sendmail. 用hostname命令檢查主機 名應該是全稱名(如news.foo.com.cn而不是簡單的news),用dnsdomainname 查看域名.順便提一下,重新啟動innd不必重新啟動整個系統,只需到 /etc/rc.d/init.d下運行innd這個腳本,共有四個參數: start,stop,restart 和status.建議先運行./innd status看看innd是否已經啟動,因為如果網絡沒 有配置好的話,innd是沒有啟動的,雖然innwatch可能已經啟動了.這個方法對 其他一些配置同樣有效,比如修改了網絡參數,可以簡單地再運行一遍network 這個腳本,望新手們舉一反三. 二, 先把news.foo.com.cn配置為單獨的新聞服務器 首先要提醒一點,凡是owner是news.news的文件,你要切換成news身份 去操作(RH5.0已經給你建立了news組和用戶,你可以去看一下/etc/group 和/etc/passwd文件)---發出su news命令即可.其實對於/etc/news/下的 文件可以用root身份直接編輯(我用jstar編輯沒有問題). 1 配置/etc/news/inn.conf 如果你安裝時正確地配置了網絡,這一步可以省去,缺省如下: ## inn.conf -- inn configuration .... ## ...... domain: foo.com.cn organization: foo company news site server: localhost 這樣一般就可以了,若要了解細節,用"man inn.conf"看一下,照貓畫虎 是個好方法.注意domain這一項應與dnsdomainname返回的結果一致. 2 配置/etc/news/nnrp.Access


事實上INN包是一組程序來完成News的工作,而不是innd一個人做所有的 事,但innd總攬全局,除了send-nntp/send-uucp由cron帶動以外,其他的工作都 由innd完成或發起,nnrpd就是一例. 當客戶登陸進來的時候,innd啟動nnrpd進程, nnrpd完成news readers的服務.它的配置文件是/etc/news/nnrp.access,控制哪 些站點可以訪問,是否帶密碼訪問這個新聞服務器.缺省值如下: # Default to no access *:: -no- : -no- :!* #allow access from localhost localhost:Read Post:::* 這時你添加幾行,允許更多的人訪問你的站點,如加入: stdin:Read Post:::* *.foo.com.cn:Read Post:::* 也可以簡單的把整個文件改為 *:Read Post:::* 注意每一行最後應沒有空格.用"man nnrp.access"了解更詳細的情況.配 置完以後用"/usr/lib/news/bin/inncheck nnrp.access"檢查你的配置是否正 確:出錯則有提示,正確反而什麼都沒有.修改這個文件無須重新啟動innd,因為 如前所述,nnrpd是動態調用的. 3 添加新聞組 站點上有哪些新聞組由/var/lib/news/active文件確定.你可以手工編輯 這個文件來添加新聞組(不要忘了切換到news身份喲),active文件的格式用"man active" 去看吧.推薦的方法是用"ctlinnd newgroup chinese.comp.XXX(or whatever)" ctlinnd這個命令很有用,後面可能還會介紹.比如你手工該了active文件,你就 需要用ctlinnd reload active "modify active"通知innd更新新聞組條目. 注意有些組是系統默認的,不能刪除,如control,junk等. 4 監管某個新聞組 在active配置文件裡,最後一項可以是y,n,m,j,x,=XXX.XXX,當它是m時, 就表示此新聞組受到監管.監管的意思就是news reader發表到這個組的文章 先發到監管人的Email信箱,監管人審查後再把它貼到新聞組上去.它的配置文 件是/etc/news/moderators,這個功能用得比較少,用man看一下就行了(一路 man下去,配置就完成了:-). 5 配置其它參數 有些不太重要的配置文件如overview.fmt,innwatch.ctl等無須修改, 使用缺省配置就可以了。不過eXPire.ctl這個文件要仔細看看,它控制文件 或文章在站點上保存多久。 6 啟動innd 負責啟動innd的是/etc/rc.d/rc.news,但RH5.0已經把innd啟動,所以 這時你無須做任何事,你的news站點基本正常運行了,用/usr/lib/news/bin/inncheck -v 看一下,應該沒有錯誤.現在要做的就是配置客戶端(reader)軟件來測試一下. 配置netscape沒什麼好講的,如果用tin來讀文章,需要注意幾點: a,如果以本地方式讀,需要增加一個連接 ln -s /var/lib/news/active /usr/lib/news/active b,如果以nntp方式讀(tin -r),需要設定一個環境變量,如 export NNTPSERVER=news.foo.com.cn 或生成文件/etc/nntpserver,加入news服務器的名字就行了. c,tin的資源文件有$HOME/.newsrc,$HOME/.tin/tinrc等,用ls -a看. d,在nnrp.access裡應打開stdin的權限. 也可以用telnet news.foo.com.cn 119來測試,輸入help命令看看能做什麼. 如果成功地貼(post)上了文章,可以到/var/spool/news/下找到. 如果你只是做一個獨立的news server,到此打住,無須再配置news feed了,否則配了又不通, 會在/var/log/news/errors裡出現starinndfeeds的錯誤! 三 與其他的news站點相互"灌水" 例如與news.freesoft.cei.gov.cn.為了簡化說明,我們假定只能由freesoft向 news.foo.com.cn站點feed文章,即freesoft是你的上級(當你的News服務器可以向 freesoft發文章時,你們的關系是對等的,無所謂上級下級).進行這樣的配置首先 要上級同意你的請求(否則他不修改他的配置:-). 1 獲取上級的active和newsgroups

su news #切換為news身份 1) telnet news.freesoft.cei.gov.cn nntp > /tmp/newsgroups list newsgroups quit 2) telnet news.freesoft.cei.gov.cn nntp > /tmp/active list active quit 3) 編輯這兩個文件,把你所想要的加入到你的/var/lib/news/active或 newsgroups文件中. 然後用ctlinnd reload active "modify"更新. (用inncheck active先檢查一下是好習慣). 2 允許上級站點feed文章到你的站點 修改配置文件/etc/news/hosts.nntp,加入一行 news.freesoft.cei.gov.cn: 即可,用man hosts.nntp了解細節.相關文件hosts.nntp.nolimit,passwd.nntp等 視情況作出修改(如需要密碼等). 發命令ctlinnd reload hosts.nntp "modify hosts.nntp"通知innd更新. 相應地,在news.freesoft.cei.gov.cn上也要加入news.foo.com.cn 更新innd:ctlinnd reload hosts.nntp "modify hosts.nntp" 3 配置/etc/news/newsfeeds 這個配置文件是最復雜的了,參數很多,好多我也沒搞清楚(沒耐性仔細看完man newsfeeds:-). 它主要管news server之間feed的方式及distribution. feed的方式一般有三種: 實時的nntplink,send-nntp以及send-uucp. nntplink又有logfile/channel/stdin幾種方式, 不過我在我的機器上居然沒有找到nntplink這個程序! 我對uucp不了解,估計現在用得也不太多. nntp的傳送方式又有幾種: 1) 常規方式:pipe 2) xbatch, 類似於uucp的傳送方式,batch->compress->transmission->uncompress->unbatch 3) streaming NNTP(streaming vs pipeline) 看來配置newsfeeds真是煩死了,不過我們還是用簡單的方式來做,復雜的情況留到以後再說. 2) telnet news.freesoft.cei.gov.cn nntp > /tmp/active list active quit 3) 編輯這兩個文件,把你所想要的加入到你的/var/lib/news/active或 newsgroups文件中. 然後用ctlinnd reload active "modify"更新. (用inncheck active先檢查一下是好習慣). 2 允許上級站點feed文章到你的站點 修改配置文件/etc/news/hosts.nntp,加入一行 news.freesoft.cei.gov.cn: 即可,用man hosts.nntp了解細節.相關文件hosts.nntp.nolimit,passwd.nntp等 視情況作出修改(如需要密碼等). 發命令ctlinnd reload hosts.nntp "modify hosts.nntp"通知innd更新. 相應地,在news.freesoft.cei.gov.cn上也要加入news.foo.com.cn 更新innd:ctlinnd reload hosts.nntp "modify hosts.nntp" 3 配置/etc/news/newsfeeds 這個配置文件是最復雜的了,參數很多,好多我也沒搞清楚(沒耐性仔細看完man newsfeeds:-). 它主要管news server之間feed的方式及distribution. feed的方式一般有三種: 實時的nntplink,send-nntp以及send-uucp. nntplink又有logfile/channel/stdin幾種方式, 不過我在我的機器上居然沒有找到nntplink這個程序! 我對uucp不了解,估計現在用得也不太多. nntp的傳送方式又有幾種: 1) 常規方式:pipe 2) xbatch, 類似於uucp的傳送方式,batch->compress->transmission->uncompress->unbatch 3) streaming NNTP(streaming vs pipeline) 看來配置newsfeeds真是煩死了,不過我們還是用簡單的方式來做,復雜的情況留到以後再說.
Copyright © Linux教程網 All Rights Reserved