Allen 2010-05-21 14:27:10 18878 1 0 0 0

新闻服务器虽然将慢慢的被BBS所取代,但在局域网上还是有一定的存在价值,以下是以RHEL5.2为例,介绍如何架设INND 服务器:

1. 安装INND组件:
    yum install inn*

2. 安装完成,当第一次启动INN时需先执下以下三条指令:

     #./usr/lib/news/bin/makehistory ------------------------>在/var/lib/news目录下,产生history档
     #./usr/lib/news/bin/makedbz -i -o ---------------------->在/var/lib/news目录下,建立history.dir、history.hash及history.hash等三个文件.
     # chown -R news.news /var/lib/news /etc/news /var/spool/news ------------------>将这三个目录下的所有文件及目录的拥有者及所属群组均改为news.

3. 启动INN并测试INN服务器:
    #service innd start
    Starting INND system: Starting innd.                                                           [ OK ]
    #telnet localhost 119 ------------------>INN的通迅端口默认使用119
    Trying 127.0.0.1...
    Connected to localhost.localdomain (127.0.0.1).
    Escape character is '^]'.
    200 abc.test.com InterNetNews server INN 2.4.3 ready
     ^]

    telnet> q
    Connection closed.

4. 如果想开机就启动INND服务,可以运行以下指令:
    #chkconfig --level 35 innd on

5. 设定/etc/news/inn.conf
     此文件必需设定此项:
     server:    abc.test.com ---------------->此处可以是IP/电脑名/域名
     其它的设定可以使用: man inn.conf 查看具体每项设定的功能,在此不在详述

6. 设定/etc/news/readers.conf来控制使用者存取的权限:

auth "localhost" {
    hosts: "*.test.com, 10.141.77.0/24"
    default: "*"
}


access "localhost" {
    users: "*"
    newsgroups: "*"
    access: RPA
}


7. /etc/news目录下还有很多设定档,如果我们不需要特殊的设定,可以采用默认的设定,所以这里不再详细说明.

8. 检查设定档是否正确:

    # /usr/lib/news/bin/inncheck -v
      Looking at /var/lib/news/active...
      Looking at /etc/news/control.ctl...
      Looking at /etc/news/expire.ctl...
      Looking at /etc/news/incoming.conf...
      Looking at /etc/news/inn.conf...
      Looking at /etc/news/moderators...
      Looking at /etc/news/newsfeeds...
      ME, controlchan!, done.
      Looking at /etc/news/nntpsend.ctl...
      Looking at /etc/news/overview.fmt...
      Looking at /etc/news/passwd.nntp...
      Looking at /etc/news/readers.conf...

      如果其中某个文件属性设定有问题可以根据提示进行修改。

9. 新增新闻群组:

    #service innd restart --------->在新增群组之前最好运行一下此命令,使刚才的所作的修改生效,并确保INND服务在启动状态。
    #/usr/lib/news/bin/ctlinnd newgroup linux    --------->新增一个名为linux的群组.

    也可以在/var/lib/news/active中增加所需新闻组:

control 0000000000 0000000001 y
control.cancel 0000000000 0000000001 n
control.checkgroups 0000000000 0000000001 n
control.newgroup 0000000000 0000000001 n
control.rmgroup 0000000000 0000000001 n
junk 0000000000 0000000001 n
linux.command 0000000001 0000000001 y
linux.X 0000000000 0000000001 y
linux.virtualiztion 0000000000 0000000001 y
linux.network 0000000000 0000000001 y
linux 0000000001 0000000001 y


y:   代表此群组允许在本机发信件
n:   代表此群组不允许在本机发信件,但允许在远端机器发信件
m: 代表此群组是管制群组
j:    代表发出的信件在本机不备份
x:   代表不允许发信件

10. 如果需要移除新闻群组可以使用:
   # /usr/lib/news/bin/ctlinnd rmgroup linux

11. 测试新闻组服务器:

     打开OUTLOOK EXPRESS-->工具-->帐户-->新闻-->添加,接下来按照下图一步一步进行:

 

 

 

 

 

 

 

 

 

至此,大功告成了!!!

以下是在网上找的一些参考资料:

新闻组服务器主要配置文件

  一、INN服务器四个主要配置文件:

  1. /etc/news/inn.conf

  /etc/news/inn.conf是INN新闻组服务器配置文件最主要文件。其中的参数主要用于设定新闻服务器的状态。它会定义组织的名称、本地端张贴的标头文件主机的路径和新闻服务器的域。

  (1)mta 参数﹕

这mta 参数设定特别的邮件传输代理,下面是确省邮件服务器sendmail 的指令。 
mta: /usr/sbin/sendmail -oi -oem %s

  (2)organization 参数﹕

organization 参数可以辨别组织的名称。当我们的组织有人传送新闻时,这个名子就会出现在该文章的组织标头文件上。应用格式:
organization :网络名称

  (3)ovmethod 参数﹕

ovmethod 参数设定大概储存的方法,假如enableoverviews 是true。这确省的是tradindexed,tradindexed 是写入很慢但读取很快的方法。每一个新闻群组都储存在两个档案,分别是数据和索引文件。Buffindexed 的数值让数据和索引文件除存在/etc/news/buffindexed.conf 档的缓冲。Ovdb 的数值让新闻群组以Berkeley DB 数据库格式储存。应用格式:
ovmethod: tradindexed

  (4)pathhost 参数﹕

pathhost 参数一定要设定到能够代表新闻网站的名称。每一个经过INN 服务器的文章都有加入这个主机路径名称到Path 的标头档。应用格式:
pathhost: 域名

  (5)pathnews 参数﹕

pathnews 参数设定新闻储存的根目录和新闻使用者的家目录。确省pathnews 是设定在/usr/lib/news。应用格式:
pathnews: /usr/lib/news

  (6)domain 参数﹕

domain 参数决定被新闻服务器使用的领域名称。一般而言,这个参数是空的。应用格式:
domain: aasir.com

  (7)mailcmd 参数﹕

  当服务器启动时,innflags 参数让我们增加flags 来传递到innd 常驻进程。这些flags 是innd 常驻进程的参数,可以使用man innd 来观看这些参数。

  应用格式:Mailcomd

  参数指示被新闻服务器使用者指令来传送讯息,这确省的指令是innmail,innmail 是邮件服务器MTA 的数值。应用格式:mailcmd: /usr/lib/news/bin/innmail

  (8)server 参数﹕

server 参数指令新闻服务器的名称。它可以是IP 地址或者是领域名称。我们可以使用NNTPSERVER 环境变量来设定和覆盖这个参数。应用格式:
server: 域名

  2. /etc/news/expire.ctl 
expire.ctl用来控制文章的过期设置。在remember 中,它会被设定记忆10 天。
/remember/:10
假如我们希望期限,在expire.ctl 上加上下面一行。
*:A:1:10:never
这是期限的格式。

  / /:<keep>
<class>:<keep>:<default>:<purge>
<wildmat>:<flag>:<keep>:<default>:<purge>

  字段和说明:
class (0,1 和其它数字) 和class 设定在storage.conf 文件。
newsgroups 第一字段指定新闻群组到期限规则。
modflag 你可以使用字段数值来限制哪一个群组符合。这个字段应该包含下列的文字﹕
M(只有被修改的群组)、U(只有未被修改的群组)、A(所有群组)、X(移除这文章)。
keep 这字段设应文章应该保留的天数。这栏位也包含编号或者是never。
default 这字段指定确省的天数数值。假如过期﹕数值会少于预定的数值。
purge 这字段辨视外部的边界,文章应该保留多久。

  应用实例:
在确省情况下﹐所有文章都会保留‘1 至 10’天﹔而允许标题‘永不过期(never)’。不过﹐您也可以指定某些群组的保留期限﹐如﹕ 
netman.*:M:1:35:120
test.*:A:never:never:never
这样﹐以‘netman.’开头的群组都会最多保留 120 天。而以‘test.’开头的群组则永远保留.

3. storage.conf

  配置文件 storage.conf :用来配置存储方式。 系统默认没有设定(全部是注释掉的行) 。如果我们设定使用 tradspool 的方式,于该文件中加入下列:

  method tradspool { 
newsgroups: * 
class: 1 
}

  传统上新闻服务器以简单的方式储存新闻群组文章。在/var/spool/news 是储存文章的目录,每个文章储存在新闻群组的子目录。存储方式见表2。


                                                                   存储方式和说明

  4. /etc/readers.conf

  /etc/readers.conf 用来进行权限控制。控制谁可以连接新闻服务器以及用户的访问权限。

  系统默认是本地用户. 对照修改文件没有注释的几行: 
auth "locahost" { 
hosts:"192.168.2.0/24" 
default:"" 

#注意:hosts的参数规定了一个主机范围, 您可以根据自己的情况进行更改.0/24表示可以接受0-255的地址范围. 
access "localhost" { 
users:"*" 
newsgroups:"*" 
access:RPA 
}

  #注意:RPA分别代表Read Post Access几个权限。

  Read表示可读, Post表示可和发布,Access表示可修改。关于文章保存期限的其它配置规则,请执行"man expire.ctl"命令,然后阅读相关信息。

  5. 记录参数

  在这里可以设定信息记录和如何记录。新闻信息记录是写在pathlog 所设定的路径。确省patholg 参数是设定在/var/log/news 中。

  (1) docnfsstat

  docnfsstat 参数让我们启动或关闭cnfsstat 程序。假如我们有使用Cyclic News File

  System 来储存我们的新文章,Cnfsstat 监视cycbuffs 的使用率。确省是关闭。 应用格式:

  docnfsstat: false

  (2) logartsize

  启动文章写入记录文件的大小,设定logartsize 参数为true。确省是启动logartsize。应用格式:

  logartsize: true

  (3)logcancelcomm

  使用logcancelcomm 参数来记录ctlinnd cancel 指令到系统记录文件。这个参数确省是关闭。应用格式:

  logcancelcomm: false

  (4)logcycles

  logcycles 参数设定news.daily 每日记录的数量。确省这个数量是设定为3。应用格式:

  logcycles: 3

  (5)logipaddr

  logipaddr 参数设定记录主机的IP 地址,确省是启动。应用格式:

  logipaddr: true

  (6)logsitename

  假如我们希望接收端的网站名称放到文章记录文件,logsitename 参数应该启动。应用格式:

  logsitename: true

  (7)nnrpdoverstats

  如果需要nnrpd 常驻进程记录到syslog 的日志文件中,需要启动nnrpdoverstats 参数。确省这个参数是关闭。应用格式:

  logsitename: true

  (8)nntpactsync

  nntpactsync 参数设定在进入记录管道前文章的数量。确省是200 篇。应用格式:

  nnrpdoverstats: false

  (9)nntplinklog

  nntplinklog 参数指定是否放置可接受的文章储存API 取得。确省是false。应用格式:

  nntplinklog: false

  (10)status

  启动状态监视,我们需要设定数字到status 并且启动status 参数。确省这个参数是off(0)。我们可以启动它,设定状态监视启动记录间隔时间。应用格式:

  如果设定为600 秒。

  status: 600

  (11)timer

  启动效能监视,需要启动timer 参数。确省timer 是关闭(0)。可以启动它,设定状态监视启动记录间隔时间。可以设定为600 秒。应用格式:

  timer: 600

来源:http://hi.baidu.com/cxkipq/blog/item/074587d722beeb2806088bfc.html

 


Tag: Linux Linux服务器 Linux网络 新闻组 TTTBLOG
我也要发一个   ·   返回首页   ·   返回[Linux]   ·   前一个   ·   下一个
评论
Allen#1Allen 2010-05-24 12:40:21(N) 链接地址
| 908 | huangjun | 2010-05-24 12:40:21 | [email protected] | http://huangjun.net |
-----
好文章。 先把沙发占了!
顶部     1/1 
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[Linux]   ·   返回顶部