在UNIX系统中,News是最基本的功能之一,作为一个类UNIX系统,REDHAT当然也不例外,但是在实际使用时,却应该仔细,因为在UNIX和类UNIX系统中,NEWS可以分为本地NEWS和网络NEWS。只有网络新闻是通过NNTP协议进行传输的,也就是我们现在普遍使用的互连网上的NEWS服务。
在RedHat 5.0中,News服务器的配置过程已经变得比较简单,现在简单介绍如下:
一、基本概念
许多文章和书籍多介绍过UUNET,UUNET是一个遍布全球的新闻网络。在实际配置NEWS服务器时,不必将自己的服务器连入UUNET,完全可以培植一个独立的新闻服务器。
在新闻服务器上读(Read)、写(Post)文章的用户称为Reader,新闻服务器称为Server,Reader和Server之间通过TCP/IP协议进行连接,并通过NNTP协议来进行信息的交换。新闻服务器之间也可以建立连接,并在新闻服务器之间相互转发文章。如果一个新闻服务器想另一个新闻服务器转发文章,则第一个服务器被成为feeder。所以News Feed的行为总是发生在两个服务器之间。
在进行新闻服务器的配置之前,我们先做下面的假定:
新闻服务器的主机名(hostname)为:news.foo.com
新闻服务器的域名(domain name)为:foo.com
在安装RedHat5.0操作系统时,选择新闻服务器或INN软件包一项,并允许开机时启动innd。在完成系统的安装时,RedHat已经完成了大部分的配置工作,已经不需要去编译源码。在系统安装完成后相关文件存放在以下目录中:
文件或目录 说明
/usr/sbin/innd 新闻服务器服务程序
/usr/sbin/inndstart 新闻服务器服务程序启动程序
/etc/rc.d/rc.news 新闻服务器的引导文件
/usr/bin/inews 新闻阅读器
/usr/bin/rnews 新闻阅读器
/usr/lib/news 新闻服务器软件包目录
/var/lib/news 新闻服务器软件包目录
/var/spool/news 新闻组新闻存放目录
/var/log/news 新闻服务器日志存放目录
/etc/news 新闻服务器配置目录
/usr/doc/inn-1.7 新闻服务器软件包文档
二、配置单独的新闻服务器
在修改新闻服务器的配置文件时,应该保持文件属性不变,因此对于户主和户组为news的文件,应该执行su news命令,切换成news用户,然后在修改文件。
1、配置/etc/news/inn.conf
如果在安装时正确地配置了网络,这一步可以省去。缺省配置如下:
domain: foo.com
organization: foo company news site
server: localhost
2、配置/etc/news/nnrp.access
事实上INN软件包是通过一组程序来完成NEWS的工作的,而不是通过有INND来完成所有的事情。nnrpd用来完成News Readers的服务,其配置文件为/etc/news/nnrp.access,控制对站点的访问。对此文件的修改不需要重新启动INND。缺省配置如下:
*::-no-:-no-:!*
localhost:Read Post:::*
可以根据需要来修改和培植上面的文件,例如增加下面的内容,以允许更多的用户来访问新闻服务器:
stdin:Read Post:::*
*.foo.com:Read Post:::*
注意,在每一行的最后应该没有空格,用“man nnrp.access”可以了解到更详细的情况。配置完成以后,用“/usr/lib/news/bin/inncheck nnrp.access”命令可以检查培植的正确性。
3、添加新闻组
站点上有那些新闻组由/var/lib/news/active文件确定。可以手工编辑该文件以添加新闻组,其中active文件的格式可以通过“man active”文件来查询。比较好的方法是通过ctlinnd命令来完成新闻组的增加。如下:
ctlinnd newgroup comp
ctlinnd newgroup comp.os
ctlinnd newgroup comp.app
如果是用手工方式修改新闻组,在完成设置后,需要用下面的命令通知innd更新新闻组的条目:
ctlinnd reload active "modify active"
4、启动innd
在完成上面的配置后,就可以启动新闻服务器了。由于REDHAT在启动时已经启动了INND,因此知识的新闻服务器基本上已经可以正常运行了。如果是用tin来读新闻的话,需要注意以下几点:
A 如果是以本地方式读,需要用下面的命令增加一个连接:
ln -s /var/lib/news/active /usr/lib/news/active
B 如果是以nntp的方式读新闻(tin -r),需要设定一个环境变量NNTPSERVER或生成文件/etc/nntpserver。
上面是关于在RedHat中设置新闻服务器的简单方法,有关新闻服务器设置的高级话题,可以参考本站点中的其它文章或News-HOWTO的内容。
- [金山卓越]