📄 00000031.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: xiaoning (小宁), 信区: Linux <BR>标 题: News Server setup in redhat HOWTO <BR>发信站: BBS 水木清华站 (Sat Jun 27 16:43:45 1998) <BR> <BR>Subject: 在RedHat 5.0中配置News Server <BR>Date: Fri, 19 Jun 1998 21:08:04 +0800 <BR>From: Edward Fu <<A HREF="mailto:lcowi@bj.col.com.cn>">lcowi@bj.col.com.cn></A> <BR>Organization: CAFSASAD <BR>Newsgroups: chinese.comp.linux <BR> <BR> 在RedHat 5.0中配置News Server <BR> <BR> 估计大家都看了很多中英文的News Howto,结果一般是看得稀里糊涂 <BR>(我自己就是这样的感受:-),一是那些文档年代"久远",二是针对从源代 <BR>码编译开始的情况,三它们不是针对Linux来讲的.装了RH5.0后我发现配 <BR>置INN(我认为C-News软件已经"死"了)已经是很简单的事情了,下面把我 <BR>的一些粗浅的经验介绍给大家.欢迎指正并完善. <BR> <BR>一,基本概念 <BR> 关于UUNet,有很多文章和书籍介绍,这里没必要重复了.值得一提的 <BR>是,你的新闻服务器并不一定要连入UUnet,完全可以配置为一个Stand <BR>Alone的News Server.在新闻服务器上读,写(post)文章的用户称为Reader, <BR>Reader与Server之间是按照C/S方式来做的.当然可以把你的新闻服务器 <BR>与其他服务器相连,相互转发文章.一个新闻服务器向另一个服务器转发 <BR>文章,则第一个服务器被称为feeder.所以要记住news feed的行为发生在 <BR>两个服务器之间. <BR> 我们假定你的新闻服务器的名字为news.foo.com.cn(当然域名就应该 <BR>是foo.com.cn),在安装RedHat 5.0时选择了INN包并允许开机启动innd, <BR>这时RedHat已经自动完成了大部分配置,你根本不需要去编译源码,也就 <BR>找不到config.dist,Install.ms等文件.安装完成后相关文件在以下目录: <BR> /usr/sbin/innd <BR> /usr/sbin/inndstart <BR> /etc/rc.d/rc.news <BR> /etc/news/* <BR> /etc/crontab <BR> /usr/bin/inews <BR> /usr/bin/rnews <BR> /usr/lib/news/* <BR> /usr/lib/news/bin/* <BR> /var/lib/news/ <BR> /var/lib/news/send-nntp <BR> /var/lib/news/send-uucp <BR> /var/spool/news/ <BR> /var/log/news/ <BR> /usr/doc/inn-1.7/ <BR> /usr/doc/inn-1.7/Install.* <BR> /usr/doc/inn-1.7/FAQ/ <BR> <BR>二, 先把news.foo.com.cn配置为单独的新闻服务器 <BR> 首先要提醒一点,凡是owner是news.news的文件,你要切换成news身份 <BR>去操作(RH5.0已经给你建立了news组和用户,你可以去看一下/etc/group <BR>和/etc/passwd文件)---发出su news命令即可.其实对于/etc/news/下的 <BR>文件可以用root身份直接编辑(我用joe编辑没有问题). <BR> 1 配置/etc/news/inn.conf <BR> 如果你安装时正确地配置了网络,这一步可以省去,缺省如下: <BR> ## inn.conf -- inn configuration .... <BR> ## ...... <BR> domain: foo.com.cn <BR> organization: foo company news site <BR> server: localhost <BR> 这样一般就可以了,若要了解细节,用"man inn.conf"看一下,照猫画虎 <BR>是个好方法. <BR> 2 配置/etc/news/nnrp.access <BR> 事实上INN包是一组程序来完成News的工作,而不是innd一个人做所有的 <BR>事,但innd总揽全局,除了send-nntp/send-uucp由cron带动以外,其他的工作都 <BR>由innd完成或发起,nnrpd就是一例. nnrpd完成news readers的服务.它的配置 <BR>文件是/etc/news/nnrp.access,控制哪些站点可以访问,是否带密码访问这个 <BR>新闻服务器.修改这个文件无需重新启动innd.缺省值如下: <BR> # Default to no access <BR> *:: -no- : -no- :!* <BR> #allow access from localhost <BR> localhost:Read Post:::* <BR> 这时你添加几行,允许更多的人访问你的站点,如加入: <BR> stdin:Read Post:::* <BR> *.foo.com.cn:Read Post:::* <BR> 注意每一行最后应没有空格.用"man nnrp.access"了解更详细的情况.配 <BR>置完以后用"/usr/lib/news/bin/inncheck nnrp.access"检查你的配置是否正 <BR>确:出错则有提示,正确反而什么都没有. <BR> 3 添加新闻组 <BR> 站点上有哪些新闻组由/var/lib/news/active文件确定.你可以手工编辑 <BR>这个文件来添加新闻组(不要忘了切换到news身份哟),active文件的格式用"man <BR>active"去看吧.推荐的方法是用"ctlinnd newgroup chinese.comp.XXX(or <BR>whatever)" <BR>ctlinnd这个命令很有用,后面可能还会介绍.比如你手工该了active文件,你就 <BR>需要用ctlinnd reload active "modify active"通知innd更新新闻组条目. <BR> 4 监管某个新闻组 <BR> 在active配置文件里,最后一项可以是y,n,m,j,x,=XXX.XXX,当它是m时, <BR>就表示此新闻组受到监管.监管的意思就是news reader发表到这个组的文章 <BR>先发到监管人的Email信箱,监管人审查后再把它贴到新闻组上去.它的配置文 <BR>件是/etc/news/moderators,这个功能用得比较少,用man看一下就行了(一路 <BR>man下去,配置就完成了:-). <BR> 5 启动innd <BR> 有些不重要的配置文件如/etc/news/overview.fmt无须修改,使用缺省 <BR>就很好. 负责启动innd的是/etc/rc.d/rc.news,但RH5.0已经把innd启动,所以 <BR>这时你无须做任何事,你的news站点基本正常运行了,用/usr/lib/news/bin/inncheck <BR>-v <BR>看一下,应该没有错误.现在要做的就是配置客户端(reader)软件来测试一下. <BR>配置netscape没什么好讲的,如果用tin来读文章,需要注意几点: <BR> a,如果以本地方式读,需要增加一个连接ln -s /var/lib/news/actve <BR>/usr/lib/news/active <BR> b,如果以nntp方式读(tin -r),需要设定一个环境变量export <BR>NNTPSERVER=news.foo.com.cn <BR>或生成文件/etc/nntpserver. <BR> c, tin的资源文件有$HOME/.newsrc,$HOME/.tin/tinrc等,用ls -a看. <BR> <BR>三 与其他的news站点相互"灌水" <BR> 例如与news.freesoft.cei.gov.cn.为了简化说明,我们假定只能由freesoft向 <BR>news.foo.com.cn站点feed文章,即freesoft是你的上级(当你的News服务器可以向 <BR>freesoft发文章时,你们的关系是对等的,无所谓上级下级).进行这样的配置首先 <BR>要上级同意你的请求(否则他不修改他的配置:-). <BR> 1 获取上级的active和newsgroups <BR> su news #切换为news身份 <BR> 1) telnet news.freesoft.cei.gov.cn nntp > /tmp/newsgroups <BR> list newsgroups <BR> quit <BR> 2) telnet news.freesoft.cei.gov.cn nntp > /tmp/active <BR> list active <BR> quit <BR> 3) 编辑这两个文件,把你所想要的加入到你的/var/lib/news/active或 <BR> newsgroups文件中. 然后用ctlinnd reload active "modify"更新. <BR> (用inncheck active先检查一下是好习惯). <BR> 2 允许上级站点feed文章到你的站点 <BR> 修改配置文件/etc/news/hosts.nntp,加入一行 <BR> news.freesoft.cei.gov.cn: <BR> 即可,用man <BR>hosts.nntp了解细节.相关文件hosts.nntp.nolimit,passwd.nntp等 <BR> 视情况作出修改(如需要密码等). <BR> 发命令ctlinnd reload hosts.nntp "modify hosts.nntp"通知innd更新. <BR> 相应地,在news.freesoft.cei.gov.cn上也要加入news.foo.com.cn <BR> 更新innd:ctlinnd reload hosts.nntp "modify hosts.nntp" <BR> 3 配置/etc/news/newsfeeds <BR> <BR>这个配置文件是最复杂的了,参数很多,好多我也没搞清楚(没耐性仔细看完man <BR>newsfeeds:-). <BR> 它主要管news server之间feed的方式及distribution. <BR>feed的方式一般有三种: <BR> 实时的nntplink/send-nntp/send-uucp. <BR>nntplink又有logfile/channel/stdin几种 <BR> 方式,不过我在我的机器上居然没有找到nntplink这个程序! <BR>我对uucp不了解,估计现在用得 <BR> 也不太多. nntp的传送方式又有几种: <BR> 1) 常规方式:pipe <BR> 2) xbatch, <BR>类似于uucp的传送方式,batch->compress->transmission->uncompress->unbatch <BR> 3) streaming NNTP(streaming vs pipeling) <BR> <BR>看来配置newsfeeds真是烦死了,不过我们还是用简单的方式来做,复杂的情况留到以后再说. <BR> <BR> 比如说在freesoft上的newsfeeds上加入一行: <BR> foo:chinese.comp.*:Tf,Wnm:news.foo.com.cn <BR> 然后用ctlinnd reload newsfeeds "modify newsfeeds"更新innd缓冲区. <BR> 4 配置/etc/news/nntpsend.ctl <BR> <BR>这个文件主要是为在newsfeeds中要求nntpsend的条目配置batch和innxmit参数. <BR> 所以要用man <BR>innxmit要查看各种参数的细节.在我们这种情况,需要在freesoft <BR> 的nntpsend.ctl上加入一行: <BR> foo:news.foo.com.cn::-S -t300 <BR> ^^^注意这个"foo"就是newsfeeds里的sitename,必须要对应起来. <BR> <BR>配置完成后把这个文件拷贝到/var/lib/news/下(要把它的owner改为news.news). <BR> 5 配置/etc/crontab <BR> 先用/usr/lib/news/bin/inncheck -v检查没有错误. <BR> 然后用手工发命令/var/lib/news/send-nntp foo news.foo.com.cn <BR> <BR>一切正常的话可以修改crontab了.我注意到在/etc/cron.hourly/inn-cron-nntpsend <BR> <BR> 里已经调用了send-nntp,你只需要加入参数 foo news.foo.com.cn就行了. <BR> <BR>运行一段时间没有问题的话,可以掉过头来你做freesoft的feeder,在你这一端进行 <BR> <BR>相应的配置,你们就可以相互转信了. 如果你与UseNet的一台news <BR>server连上的话,你 <BR>应该也是UseNet的一员了. <BR> <BR>这些只是我数天来的粗浅经验,并未严格检验,很多参数,格式没有讲.我只是把我的思路 <BR> <BR>提出来,希望对你有所帮助,或抛砖引玉. <BR> <BR> 注: 网络的配置不当会引起一些希奇古怪的问题,如我用tin <BR>-r不能post文章,但用netscape <BR>却可以,发现hostname返回的是news而不是news.foo.com.cn,修改/etc/sysconfig/network就 <BR> <BR>好了.难道netscape自己会send-ihave? <BR> <BR> <BR>-- <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 210.72.69.165] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -