看板SetupBBS
标 题[转录][beta] BBS 转信完全手册
发信站猪头纪公园 (Mon Oct 20 14:20:24 2003)
转信站ptt!ctu-reader!ctu-peer!news.nctu!news.csie.ncyu!news.cs.nthu!PigHeadP
※ [本文转录自 shakalaca 看板]
作者: shakalaca (Lord Of The BBS :D) 看板: shakalaca
标题: [beta] BBS 转信完全手册
时间: Mon Oct 20 12:08:00 2003
BBS 转信完全手册
================
※ 版本
2003.10.14 + 增加 FAQ
2003.10.13 初稿
※ 作者
Jian-Zhou Huang <
[email protected]>
※ 参考文件
* php.twbbs.org / Plan: 看板 &
php.twbbs.org / InstallBBS: 看板 &
※ 大纲
1) 基本认知
2) 档案介绍
3) 一般设定
4) 跟 news server 对转
5) 跟 bbs 对转
6) 常见问题 (FAQ)
※ 教学内容
+-----------------------------------------------------------------------+
| 基本认知 |
+-----------------------------------------------------------------------+
BBS 如果都是站内看板当然是一种特色, 不过转信版的成立可以让 BBS 看起来
比较具有规模, 当然资讯的交流才是转信的主要目的. :)
设定转信板有几件事情要注意:
1. 对 news 进行转信礼貌上要支会一下管理者, 通常是 news@申请转信的伺服器
不过通常都可以直接转信没关系, 除非你没有发表文章的权限.
2. 取送信的次数不要太频繁, 虽然说现在的 server 都很猛, 但我个人认为
一天取信不要超过 144 次, 也就是说 10 分钟转一次就已经很多了.
你可以先去其他站台观察一下看板的流量如何, 如果说该转信板平常就没有
多少文章, 你可以设定 30 分钟或者是 1 小时取一次文章. 如果看板的流量
颇多 (如 tw.bbs.forsale 或 tw.bbs.sports.baseball.elephants)
你就可以考虑 10 分钟或者是 30 分钟取一次文章)
3. 要测试转信请用 tw.bbs.test 之类的测试看板, 不要在一般的转信板上发表
" sorry, test, 站长看到请砍 " 这一类的文章. 另外成立转信板时可以先
取消一般使用者发表的权限, 等到文章都进来了再看放发表. 如此一来可以
避免 "耶, 我是第一篇喔" 之类的文章转出去.
以上尤其是第三点, 请各位架站的朋友一定要特别注意.
+-----------------------------------------------------------------------+
| 档案介绍 |
+-----------------------------------------------------------------------+
大部分的 BBS 都将转信的相关程式档案放在 BBS 家目录里的 innd 目录之中,
在此一一介绍:
innbbsd:
主要转信程式, 在启动这一支程式後你才可以进行转信.
ctlinnbbsd:
控制你的 innbbsd, 包括列出参数, 停止 innbbsd 以及重新载入设定档案.
bbslink:
将你发表於转信板的文章送出去.
bbsnnrp:
从 news server 将 news group 的文章转到板上.
nodelist.bbs:
要跟你转信的站台 name, domain name 以及 port 等资料.
newsfeeds.bbs:
设定看板发表的文章要送到哪一台机器以及哪一个 group.
bbsname.bbs:
设定你的转信代码, 注意这边要跟 nodelist.bbs 里面一样
+-----------------------------------------------------------------------+
| 一般设定 |
+-----------------------------------------------------------------------+
! 注意:
以下设定档都在 ~bbs/innd 里面, 栏位之间请用 tab 隔开, 不要用空白.
另外就是一行结束请换行, 否则在执行转信程式时有可能会发生问题.
先编辑 bbsname.bbs, 这边储存的是你的转信代码 (token), 你可以随自己的意思
填写, 不过最好全部都是英文 (事实是我没去 trace code 看他的规则)
比如我填写 lion. 请记住你在这边设定的值, 我们等等会用到.
接着是 nodelist.bbs, 内容如下:
# name hostname & domainname comment
#------- ---------------------------------- ------------
lion lion.ee.ncku.edu.tw IHAVE(7777) 测试站
第一个栏位就是你的转信代码, 要记得跟 bbsname.bbs 里面填写的一致.
在接下来的设定档, 这个值就对应到後面填写的主机名称 (在此为
lion.ee.ncku.edu.tw) 後面请跟着设定 IHAVE(7777), 最後一个栏位
请填写你的站台名称, 这会出现在转信的文章里面.
最後是设定 crontab:
# 每小时将发表的文章传出去六次
*/6 * * * * innd/bbslink /home/bbs > /dev/null 2>&1
其中 /home/bbs 请换成你的 BBS 家目录.
+-----------------------------------------------------------------------+
| 与 news server 对转 |
+-----------------------------------------------------------------------+
你可以选择一台离你较近的 news server, 如此一来取送信的速度会快一些.
在这里我将使用 news.ncku.edu.tw, 并且假设要转的看板为 Linux, 对应的
news group name 为 tw.bbs.comp.linux.
至於要如何寻找你要的 news group 进行转信呢 ? 你可以使用习惯的 nntp client
去所选的 news server 上面观看, 通常会在 group name 後面显示中文描述.
如果还是不知道你想要转信的看板所对应的 group name 为何, 可以去问一问
其他站的站长.
首先设定 nodelist.bbs, 跟先前的设定方式一样, 我们这样子填:
news-ncku news.ncku.edu.tw POST(119) 成大 News Server
我把 news.ncku.edu.tw 取名为 news-ncku, 後面是对应到的 domain name,
接着是 POST(119). 一般没什麽特殊需求对 news 的设定都是 POST(119).
後面填写 成大 News Server.
然後编辑 newsfeeds.bbs, 加入
tw.bbs.comp.linux Linux news-ncku
第一个栏位是 news group name, 後面跟着的是 站内的看板, 最後一栏是要
转信的 news server 代号.
编辑 ncku.active 档案, 这是用来纪录你跟 news server 之间的转信.
tw.bbs.comp.linux 0000000001 0000000000 y
第一栏是 news group name, 後面请照着填写.
注意输入每一笔资料後要记得换行, 接着重新载入新加入的资料, 让转信程式知道:
# innd/ctlinnbbsd reload
然後试试看转信是否成功:
# innd/bbsnnrp news.ncku.edu.tw innd/ncku.active
如果出现
GROUP tw.bbs.comp.linux
211 564 249795 250377 tw.bbs.comp.linux
** 0 ** 249796 need it <
[email protected]>
** 1 ** 249797 need it <
[email protected]>
....
** 97 ** 249895 i have it <
[email protected]>
** 98 ** 249896 i have it <
[email protected]>
** 99 ** 249897 i have it <
[email protected]>
这样子的讯息, 代表你转信成功了.
注意以後每次修改 innd 下任何的设定档, 一定要
# innd/ctlinnbbsd reload
才会生效. 既然转信成功了, 就让这件事情自动化吧, 编辑 crontab, 加入
# 每小时的 5 分, 35 分对 news.ncku.edu.tw 转信.
5,35 * * * * innd/bbsnnrp news.ncku.edu.tw innd/ncku.active > /dev/null 2>&1
+-----------------------------------------------------------------------+
| 与 BBS 对转 |
+-----------------------------------------------------------------------+
并不是所有的讨论区都可以在 news server 上面找到, 有可能只有在某些 BBS
上才有, 比如个人看板, 所以我们需要 BBS 与 BBS 之间的转信.
首先要知会一下对方的站长要转信的看板名称, 以及共同使用的转信名称.
比如在 aaa.twbbs.org 上面有个看板是 HelloKitty, 而在 zzz.twbbs.org
上面有个看板是 YesKitty, 我们想要让这两个看板互相转信, 於是我们共同决定了
一个 group name 为 favorite.kitty
以下假设我们是 zzz.twbbs.org, 首先编辑 nodelist.bbs, 加入对方站台的资料:
bbs-aaa aaa.twbbs.org IHAVE(7777) 男人天堂
编辑 newsfeeds.bbs, 加入转信看板资料:
favorite.kitty HelloKitty bbs-aaa
在这边说明一下, 第一个栏位就是 group name, 第二个栏位是我在自己站上的
看板名称, 最後一个就是对方站台的转信代码.
别忘了先重新载入设定, 然後再执行测试:
# innd/ctlinnbbsd reload
最後我们在 HelloKitty 板上发表文章, 并且执行
# innd/bbslink -v /home/bbs
观察看看是否送出, 其中 /home/bbs 请换成你的 BBS 家目录.
+-----------------------------------------------------------------------+
| 常见问题 (FAQ) |
+-----------------------------------------------------------------------+
* 要如何得知 news server 上有什麽 newsgroup?
1) 使用 nntp client, 如 outlook express 或者是 tin
2) 在主机上利用 telnet:
# telnet news.ncku.edu.tw 119 > newsgroups
list
quit
於是在 newsgroups 里面就纪录着 news.ncku.edu.tw 里面所有的 newsgroup.
* 如何一次取许多信?
预设 bbsnnrp 一次只取 100 封信, 你可以使用 -a 设定一次取某个量的文章:
# innd/bbsnnrp -a 500 news.ncku.edu.tw innd/active-file
* 如果有重复收信的问题怎麽办 ?
将 history 归零:
# innd/bbsnnrp -c news-server active-file
* 如果要转的 newsgroup 很多, 有没有什麽设定的好方法 ?
在这边提供一个设定 active-file 的好方法, 利用先前的方法取得 newsgroup:
# telnet news-server 119 > active (enter)
list (enter)
quit (enter)
会在你的目录下产生 active 档案, 然後编辑留下你想要转的 newsgroup,
然後利用 awkᄒ蓂z一下档案:
# cat active | awk '{print $1, "0000000001 0000000000 y" }' > active-file
那麽你就可以直接利用所产生的 active-file 了.
--
我的签名档只有十个字.
--
^..^ ★ < 猪 头 纪 公 园 - php.twbbs.org (140.113.208.200) >
-w @@ w-- < bittern.csie.nctu.edu.tw >