一、 安装新闻组服务器
本文介绍的INN(InterNetNews)新闻组服务系统诞生于1990年底,是由Rich Salz([email protected])等27位网络高手联合研制、开发并不断完善和维护的,可运行于Linux操作系统与UNIX操作系统中,目前该软件的最高版本为inn-2.3.5-6。有关INN新闻组服务系统的详细背景资料,可参阅INN系统的官方网站http://www.isc.org/inn.Html。下面介绍在Linux系统中建立INN(InterNetNews)新闻组服务系统的方法。INN服务器端有四种存储方法可供选择。
tradspool:在INN 2.0之前就已经使用的存储方式。文章以单独的文件存储,并分布在基于新闻组名的目录中。这种存储方式非常简单,并且很多第三方的INN插件依赖这种存储方式。缺点是效率不高。
timehash:文章也是以单独的文件存储,但是目录名依据文章的时间而确定。这就保障了一个目录下不会存在有过多的文件。缺点是依旧没有解决过多文件操作造成的效率地下,而且文件的存储方式决定了难以像 tradspool 方式那样确定某个新闻组的文章数量和手工修改之。
timecaf:类似于 timehash,文章根据时间分类。不同点是,不再每篇文章一个文件,取而代之的是使用一个文件来存储。缺点是更难以理解和手工修改服务器端的存储结构,而且作为一种新的存储方式,并没有被广泛使用和测试。
cnfs:文章存储在预先定义好的文件缓冲区中,循环使用文件缓冲区,缓冲区满则覆盖前面的文章,因而对于 cnfs 存储方式,文章的过期设置比较特殊。
1. 安装软件
可以通过Rat Het Enterprise Linux 4图形界面下的“添加/删除应用程序”工具进行安装。具体方法是,选择“主选单”→“系统设置”→“添加/删除应用程序”,在弹出的界面中选中“服务器”→“新闻组服务器”→“标准软件包”,见图1。
图1 INN及其相关软件包的安装
2. INN服务器系统配置
(1) 设置 news 用户帐号
确认系统中包含 news 用户和 news 组,如果没有,需要添加:
$ groupadd news
$ useradd -g news -d /usr/local/news
(2) 创建news用户密码
使用passwd命令为news用户建立密码,操作如下:
# passwd
Changing passWord for user news.
Changing password for news
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated sUCcessfully.
(3) 检测修改配置文件
首先使用login out 命令注销,然后使用news用户重新登录系统,使用inncheck命令检测配置文件见图2:
图2使用inncheck命令检测配置文件
inncheck 检查的文件有: active、control.ctl、eXPire.ctl、incoming.conf、inn.conf、moderators、newsfeeds
overview.fmt、nntpsend.ctl、passwd.nntp。请根据检测结果的提示修改文件权限:
$ chmod 664 /var/lib/news/active
(3)建立相关文件
重新以超级用户权限登录系统,在/var/lib/news目录下产生历史(history)的文件,
#/usr/lib/news/bin/makehistory
在/var/lib/news目录下建立history.dir history.hash history.index
#/usr/lib/news/bin/makedbz -i -o
说明:-o 选项指生成新的 overview 数据库。如果使用了buffindexed方式的数据库,在调用 makehistory -O 重新生成 overview 前,先清除现有的 overview 数据。注意只有需要提供客户端服务的新闻组服务器才有必要建立 overview 数据库,对于只提供新闻中转的,无需建立和维护 overview 数据库。
把下面的三个目录及所有的文件和目录的属主改为news
# chown -R news.news /var/lib/news /etc/news /var/spool/news
使用命令“#server innd restart”启动INN新闻组服务器,如图3 :
图3 启动新闻组服务器
(5)检查INN新闻组服务器运行情况:
使用ps命令检查INN新闻组服务器运行情况,图4是进程运行情况。
图4检查INN新闻组服务器进程
(6)使用 telnet 连接服务器 nntp(119) 端口:
可以用 Ping 程序来验证与 新闻组服务器的网络连接性。可以验证域名系统 (DNS) 是否能够将计算机名正确解析为 Internet 协议 (IP) 地址。注意一些网络路由器会始终阻塞 Ping 消息。如果 Ping 未能连接,请尝试用 Telnet 连接。通常使用telnet连接INN服务器本地端口119查看其运行情况,測試INN新闻组服务器是否正常启动。如果出現ready 的情況,則表示設定正確。
三、INN新闻组的管理:
1.关闭INN服务器
以root身份登录,运行"service innd stop"命令。
或者使用命令:
ctlinnd shutdown "the reason for stop innd"
2.添加讨论组
以news身份登录,运行"ctlinnd newgroup 讨论组名称"命令。
3.删除讨论组
以news身份登录,运行"ctlinnd rmgroup 讨论组名称"命令。
4.从INN服务器上删除某一篇帖子
在管理人员认为需要的情况,可以手工删除服务器上的任何指定帖子,具体操作步骤如下:
使用NNTP客户端软件(如Outlook Express、Netscape等)登录INN服务器,复制该需要被删除帖子的身份号(message-id);
以news身份登录INN服务器,运行"ctlinnd cancel 该message-id"命令,即可将该帖子删除。
5.新增新闻群组:ctlinnd newgroup exam.nica
6. 暂停inn 服务器不再接收讨论信件,但不中断已联机使用者:
ctlinnd pause "the reason for pause innd"
7.暂停后继续:
ctlinnd go "the reason for pause innd"
8.重新加载配置文件:
ctlinnd reload active "the reason for reload the active config file of innd"
9.备份
如果想做备份就要备份以下目录
/etc/news
/path/to/bin
/var/spool/news
/var/lib/news
10. 检查新闻组日志文件
新闻日志文件在/var/log/news 目录下。这些日志文件路径的定义在/etc/syslog.conf的档案中。重要的错误记录在/var/log/news/news.crit 中,非重要的错误储存在news.err 文件中,一般活动的讯息则记录在news.notice 文件中。
四、新闻组的命名规则
新闻组在命名、分类上有其约定俗成的规则。新闻组由许多特定的集中区域构成,组与组之间成树状结构,这些集中区域就被称之为类别。目前,在新闻组中主要有以下几种类别:
Comp:关于计算机专业及业余爱好者的主题。包括计算机科学、软件资源、硬件资源和软件信息等。
sci:关于科学研究、应用或相关的主题,但一般情况下不包括计算机。
soc:关于社会科学的主题。
talk:一些辩论或人们长期争论的主题。
news:关于新闻组本身的主题,如新闻网络、新闻组维护等。
rec:关于休闲、娱乐的主题。
alt:比较杂乱、无政府的主题,任何言论在这里都可能被发表。
biz:关于商业或与之相关的主题。
misc:其余的主题。在新闻组里,所有无法明确分类的东西都称之为misc。
新闻组在命名时以句点上间隔,通过上面的主题分类,我们可以一眼看出新闻组的主要内容,如comp.dcom.fax,我们即可看出这是一组关于传真机、调制解调器的新闻组。另外一个新闻组服务系统是DNEWSNewsServer(简称DNEWS)是一个功能完整的新闻服务器,它具有新闻服务器的所有功能,而且,还提供了图形配置界面,简化了新闻服务器的配置和管理。在此基础上DNEWS提供了基于web页面的配置管理方式,管理员可以远程对服务器进行管理和配置。Dnews可以安装在Linux /BSD/Unix/Windows系统中,有关DNEWS新闻组服务系统的详细背景资料,可参阅系统的官方网站。
五、Linux新闻组客户端应用
1. 新闻组客户端的功能
新闻组的组成结构呈树状等级结构,通常是根据讨论的主题或类型分类的。比如说,Linux新闻组通常被安排在alt.os、comp.os.linux或者linux主题下。可以看出,关于Linux操作系统的一些诸如设置、硬件或者X 11 等讨论问题都被安排在计算机—操作系统—Linux的主题下。还会发现许多其他的讨论问题也是按照这个方法组织安排的。虽然没有什么可以保证能够准确地找到正想查找的讨论问题,但是在大多数情况下你还是可以很容易地找到一个讨论你感兴趣的问题的新闻组的。目前已经出现有几十种不同的新闻组客户端软件传输程序和新闻阅读器程序,还有超过十万个不同的新闻组。
所有新闻阅读器程序都能够提供下列这些基本的功能:
订阅或停止订阅某个新闻组。
浏览消息并阅读后续消息(线索)。
直接向消息的作者回复一个邮件消息。
针对某个新闻组上的消息发布后续评论。
保存某个消息的内容(通常保存在用户子目录中名为News的子目录中)。
2. KDE新闻组客户端软件使用方法
KDE 系统自身的桌面环境下的新闻组客户端软件是knode,在互联网子选单下。使用前进行简单设置即可。图5是设置界面,这里我们主要输入新闻组服务器名称以及自己的账户和使用端口号即可。
图5 knode设置界面
除了必备的新闻阅读功能外,knode可以使用监视功能时你需要根据你感兴趣的关键字建立相应的监视项目,这样knode便会开始帮助你对新闻标题或描述进行扫描,只要与提供的关键字有关的文章,监视器都会将其提取到相应监视项目。knode工作界面6。
图6 knode工作界面
另外KDE环境还内置了一个新闻组客户端Knewsticker。图7是Knewsticker设置界面,它已经内置了许多热门新闻组地址,也可以自己添加。
图7 Knewsticker设置界面
除了必备的新闻阅读功能外,Knewsticker可以使用监视功能时你需要根据你感兴趣的关键字建立相应的监视项目,这样Knewsticker便会开始帮助你对新闻标题或描述进行扫描,只要与提供的关键字有关的文章,监视器都会将其提取到相应监视项目。可以说,这个功能就像是一个帮你整理资料的贴心小秘书一般好使。
3.其他Linux 新闻组客户端软件
新闻组客户端应用软件的另一种存在形态就是以组件形式整合在浏览器中,例如mozilla和opera浏览器,都包含新闻组浏览功能。在邮件客户端集成新闻组客户端也成了一种流行趋势。thunderbird“雷鸟”和Evolution是自带新闻组客户端阅读的邮件客户端。另外slrn和tin都是设计基于命令行的Linux新闻组客户端应用软件,目前已经出现有几十种不同新闻阅读器程序,由于Linux下新闻组软件非常多,限于篇幅这里提供一些主要软件的相关软件琏接:
Slrn:http://slrn.sourceforge.net/
Evolution:http://www.gnome.org/projects/evolution/
Emacs:http://www.gnu.org/software/emacs/ 。
NewsReader:http://www.newsreaders.com/
Pan:http://pan.rebelbase.com/
Pine:http://www.washington.edu/pine/getpine/linux.html
Tin:http://www.linux-tin.org/
Knode:http://knode.sourceforge.net/
opera:http://www.opera.com/
krn:http://kent.dl.sourceforge.net/sourceforge/krn/
总结:新闻组是一个使用T C P协议的简单协议。客户发出ASCII命令(服务器支持超过2 0种不同的命令),服务器的响应先是响应码,然后跟着一行或多行的应答,最后以只包含句号的行结束(如果响应是可变长度)。类似其他的互联网协议,NNTP协议本身已多年没有变化。到此为止我们对于Linux、windows下新闻组服务器和客户端的使用方法基本结束了。
(出处:http://www.sheup.com/)