network-innd.html
来自「学习linux的工具书」· HTML 代码 · 共 207 行 · 第 1/2 页
HTML
207 行
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Author" content="Edward Fu">
<meta name="GENERATOR" content="Mozilla/4.05 [zh-CN] (X11; I; Linux 2.1.127 i686) [Netscape]">
<title>Freesoft Linux FAQ -- 配置新闻组服务</title>
</head>
<body>
在RedHat 5.0中配置News Server
<p> 估计大家都看了很多中英文的News Howto,结果一般是看得稀里糊涂
<br>(我自己就是这样的感受:-),一是那些文档年代"久远",二是针对从源代
<br>码编译开始的情况,三它们不是针对Linux来讲的.装了RH5.0后我发现配
<br>置INN(我认为C-News软件已经"死"了)已经是很简单的事情了,下面把我
<br>的一些粗浅的经验介绍给大家.欢迎指正并完善.
<p>一,基本概念
<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> /etc/syslog.conf.inn
<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> 在配置innd之前,应确保网络已被正确配置,一般来说在你的网络里还需
<br>要有DNS服务器,某些情况下还需要配置sendmail. 用hostname命令检查主机
<br>名应该是全称名(如news.foo.com.cn而不是简单的news),用dnsdomainname
<br>查看域名.顺便提一下,重新启动innd不必重新启动整个系统,只需到
<br>/etc/rc.d/init.d下运行innd这个脚本,共有四个参数: start,stop,restart
<br>和status.建议先运行./innd status看看innd是否已经启动,因为如果网络没
<br>有配置好的话,innd是没有启动的,虽然innwatch可能已经启动了.这个方法对
<br>其他一些配置同样有效,比如修改了网络参数,可以简单地再运行一遍network
<br>这个脚本,望新手们举一反三.
<p>二, 先把news.foo.com.cn配置为单独的新闻服务器
<p> 首先要提醒一点,凡是owner是news.news的文件,你要切换成news身份
<br>去操作(RH5.0已经给你建立了news组和用户,你可以去看一下/etc/group
<br>和/etc/passwd文件)---发出su news命令即可.其实对于/etc/news/下的
<br>文件可以用root身份直接编辑(我用jstar编辑没有问题).
<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>是个好方法.注意domain这一项应与dnsdomainname返回的结果一致.
<p> 2 配置/etc/news/nnrp.access
<br> 事实上INN包是一组程序来完成News的工作,而不是innd一个人做所有的
<br>事,但innd总揽全局,除了send-nntp/send-uucp由cron带动以外,其他的工作都
<br>由innd完成或发起,nnrpd就是一例. 当客户登陆进来的时候,innd启动nnrpd进程,
<br>nnrpd完成news readers的服务.它的配置文件是/etc/news/nnrp.access,控制哪
<br>些站点可以访问,是否带密码访问这个新闻服务器.缺省值如下:
<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> 也可以简单的把整个文件改为
<br> *:Read Post:::*
<br> 注意每一行最后应没有空格.用"man nnrp.access"了解更详细的情况.配
<br>置完以后用"/usr/lib/news/bin/inncheck nnrp.access"检查你的配置是否正
<br>确:出错则有提示,正确反而什么都没有.修改这个文件无须重新启动innd,因为
<br>如前所述,nnrpd是动态调用的.
<p> 3 添加新闻组
<br> 站点上有哪些新闻组由/var/lib/news/active文件确定.你可以手工编辑
<br>这个文件来添加新闻组(不要忘了切换到news身份哟),active文件的格式用"man
active"
<br>去看吧.推荐的方法是用"ctlinnd newgroup chinese.comp.XXX(or whatever)"
<br>ctlinnd这个命令很有用,后面可能还会介绍.比如你手工该了active文件,你就
<br>需要用ctlinnd reload active "modify active"通知innd更新新闻组条目.
<br>注意有些组是系统默认的,不能删除,如control,junk等.
<p> 4 监管某个新闻组
<br> 在active配置文件里,最后一项可以是y,n,m,j,x,=XXX.XXX,当它是m时,
<br>就表示此新闻组受到监管.监管的意思就是news reader发表到这个组的文章
<br>先发到监管人的Email信箱,监管人审查后再把它贴到新闻组上去.它的配置文
<br>件是/etc/news/moderators,这个功能用得比较少,用man看一下就行了(一路
<br>man下去,配置就完成了:-).
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?