看板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 >