分享
 
 
 

如何配置News Server

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在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已经自动完成了大部分配置,你根本不需要去编译[url=http://www.pccode.net].net" class="wordstyle"源码,也就

找不到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真是烦死了,不过我们还是用简单的方式来做,复杂的情况留到以后再说.

比如说在freesoft上的newsfeeds文件里加入一行:

foo:chinese.comp.*:Tf,Wnm:news.foo.com.cn

^^^注意在nntpsend.ctl里的设置要与之相同(当然也可以取别的名字).

然后用ctlinnd reload newsfeeds "modify newsfeeds"更新innd缓冲区.

4 配置/etc/news/nntpsend.ctl

这个文件主要是为在newsfeeds中要求nntpsend的条目配置batch和innxmit参数.

所以要用man innxmit要查看各种参数的细节.在我们这种情况,需要在freesoft

的nntpsend.ctl上加入一行:

foo:news.foo.com.cn::-S -t300

^^^注意这个"foo"就是newsfeeds文件里的sitename,必须要对应起来.

配置完成后把这个文件拷贝到/var/lib/news/下(要把它的owner改为news.news).

5 配置/etc/crontab

先用/usr/lib/news/bin/inncheck -v检查没有错误.

然后用手工发命令/var/lib/news/send-nntp foo news.foo.com.cn

一切正常的话可以修改crontab了.

我注意到在/etc/cron.hourly/inn-cron-nntpsend里已经调用了send-nntp,

你只需要加入参数 foo news.foo.com.cn就行了.

注意,3,4,5的步骤只发生在feeder端,在接收端只须进行1,2步骤就行了.

运行一段时间没有问题的话,可以掉过头来你做freesoft的feeder,在你这一端进行

相应的配置,你们就可以相互转信了. 如果你与UseNet的一台news server连上的话,你

应该也是UseNet的一员了.不知道是否有人用两个新闻组服务器来做备份或负载平衡?

最近有朋友问我如何在没有授权的情况下做feed/feeded,碰巧我看到一个软件SUCK,

介绍给大家。它用普通身份把一个News站点的Article抓回来放在本地News上。也许你可

以自己写个程序做反向的事情!注意这样做效率较底,只能用于小型场合。

这些只是我数天来的粗浅经验,并未严格检验,很多参数,格式没有讲.我只是把我的思路

提出来,希望对你有所帮助,或抛砖引玉.

注: 网络的配置不当会引起一些希奇古怪的问题,如我用tin -r不能post文章,但用netscape

却可以,发现hostname返回的是news而不是news.foo.com.cn,修改/etc/sysconfig/network就

好了.难道netscape自己会send-ihave?

另外,如果在你的局域网里没有dns,恐怕需要在hosts文件里加上客户机的名字.

??

现在又开了个新站点make_news_site,自己去看看吧。 ?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有