如果你常常上新闻组的话, 有没有兴趣搭建自己的news服务器呢, 下面介绍在Linux中搭建news服务器.
一、硬件需要
对硬盘的要求当然是越大越好了, 虽然linuxHowto说至少10M, 但是根据经验来说, 至少要200M吧. 作为服务器, 内存至少应该有32M.
二、下载
ftp://mail.ncku.edu.tw/pub/os/linux/unofficial/sunsite-incoming/newspak-2.5.tar.gz
或者
ftp://ftp.ccu.edu.tw/pub1/unix/linux/system/news/newspak-2.5.tar.gz
三、安装与配置Cnews
目前在网络上流行的是Cnews, Cnews 主要的好处是它的成熟度。您会发现它可以在各种的 unix 系统执行,目前在全世界已有数以千计的系统是使用 Cnews 的. 对于一个新的 USENET 管理者首先最好是选择使用 Cnews。因为它是如此的稳定,有良好的文件及好几千个有经验的管理者可以回答您的问题。
安装 Cnews Cleanup Release 绝对是非常单纯的工作;只要取得原始程序,解开它们,然后按照指示去作就好了。在 newspak 内的 quiz.def 是当您第一次执行 quiz 时所产生的。而您只要查看在 /usr/include 内的档案就可以得到正确的答案。您需要最近版本的 bash 才可以使 Cnews 通过自我测试。您可以利用'bash -version'来知道您现在使用的 bash 的版本。
至少您需要去编辑或是看一下底下的一些档案,它们都放在: /usr/local/lib/news。
active -active 档案。(译注:就是存放您要收的网络新闻讨论组的名字)
batchparms - 批次作业的参数。
explist - 设定文章存活的时间。
mailname - mail replies 时在 header 的名字。
mailpaths - 要张贴文章到 moderated 时 mail 的路径。
organization - 您的公司名称。
sys - 控制哪些是您要接收或是发送的。
whoami - 在 Path: 那行您的主机名称。
维护Cnews: 首先,最重要的原则就是不要手动去弄乱那些本来由公用程序去设定的档案。特别是不要手动去设定 newsfeed (您可以运行 "addfeed")及弄乱您的 active 档案(您可以运行 "addgroup")。当您有疑问的时候,仔细阅读附在原始程序内的文件。
每件事都可以利用 cron来做。 我的crontab 内有关于 news 的部份如下:
# talke the compressed batches that came in from other systems
# also, post (locally) articles that originated here 20 * * * * /usenet/sw/news/bin/input/newsrun
# batch 'em up to go out 0 * * * * /usenet/sw/news/bin/batch/sendbatches myfeedsite
# expire c-news 59 0 * * * /usenet/sw/news/bin/expire/doexpire
# monitor stuff and report if needed 10 5 * * * /usenet/sw/news/bin/newsdaily 00 5 * * * /usenet/sw/news/bin/newswatch
# turn processing of incoming news batches off 6:30AM - 4.00 PM 30 6 * * * /usenet/sw/news/bin/input/newsrunning off 0 16 * * * /usenet/sw/news/bin/input/newsrunning on
四、安装与配置InterNetNews (INN)
INN由于它的完整性使得它获得欢迎。它主要的好处是它的速度奇快以及包含了完整的 nntp 的包装。它需要有个守护进程(daemon)一直在执行(innd)及再加上一个 overchan 的 daemon 去处理线程(threading)。
INN 需要一个良好的 /bin/sh, 通常用bash比较好. 基本上只要您按照安装文件,就可以把它顺利安装完成。这里是一些必须要做的摘要。
◇ 在 config.data,确定您已将 HAVE_UNIX_DOMAIN 设定成 DONT。(注:在使用新的 kernel及 inn-*.*unoff4 时,您可以设定成 DO)
◇ 您运行innd 的那台主机名称加入 hosts.nntp,如果您只使用 uucp 的话,就填入您的sitename。
◇ 确定您的 /etc/inetd.conf 内那行 nntp 已经用"#"号将它注释掉了。
◇ 如果您有安装 Taylor UUCP的话,则还要将 config.data 内的 HAVE_UUSTAT 设成 DO。如果您在此设定错误的话,会导致没有办法将 news 送出。
◇ 如果您运行 INN,您务必记得要去修改 syslog.conf,这对您有很大很大的帮助。INN 有个很特别的 FAQ,每个月都会定期的张贴到 news.software.nntp, news.software.b,news.answers。
维护 INN : 我发现 Linux 的 INN site 除了设定一些 cron 外,它几乎不须什么照顾的。基本上您需要一些象以下的 crontab:
# daily maint, also expire the .overview database and articles 1 0 * * * /usenet/sw/inn/bin/news.daily expireover delayrm < /dev/null