摘要
火鳥BBS(FirdBird BBS system)系統是目前國內比較常見的BBS系統,該系統安裝方便,支持平台多,編譯、修改都很容易,最新版本是2.66M簡體中文版,該版本在 GNU Public Licence下發行,可任意拷貝及修改,本文將筆者在Linux系統下安裝與維護火鳥BBS系統的經驗介紹給大家,僅供參考。(2002-07-17 09:15:23)
--------------------------------------------------------------------------------
By Wing, 出處:http://61.132.74.80
火鳥BBS(FirdBird BBS system)系統是目前國內比較常見的BBS系統,該系統安裝方便,支持平台多,編譯、修改都很容易,最新版本是2.66M簡體中文版,該版本在 GNU Public Licence下發行,可任意拷貝及修改,本文將筆者在Linux系統下安裝與維護火鳥BBS系統的經驗介紹給大家,僅供參考。
1.安裝火鳥BBS系統
1.1.安裝之前
首先,必須考慮計算機配置是否足夠應付日益增多的上站人數?一般情況下,內存是最重要的,其次是硬碟。大約32MB內存可以支持大約30人同時訪問,而信件和討論區的文章大約每篇1~2KB,因此,速度快、容量大的硬碟是首選。
1.2.取得軟體
國內很多站點有FireBird BBS系統源代碼供大家自由下載,比如網易的FTP站點(ftp://ftp.netease.com/pub/bbs),文件名是FirebirdBBS2—66M—GBCoded.tgz,文件大小為776KB。找到后,用FTP上傳到/home目錄下,使用下面的命令把這個文件展開:
tar zxvf FirebirdBBS2—66M—GBCoded.tgz
展開后,在/home下會建立bbsadm目錄,含有BBS系統全部的源代碼及技術文檔。
1.3.建立用戶
在安裝BBS系統之前,先在系統中加入以下三位使用者,可以直接用Vi在/etc/passwd文件內加入以下內容(也可以使用adduser命令增加):
bbsadm::9990:99:BBS admin and developer:/home/bbsroot:/bin/csh
bbs::9999:99:BBS user:/home/bbs:/home/bbs/bin/bbsrf
bbsuser::9999:99:BBS user:/home/bbs:/bin/csh
1.4.設定BBS組用戶及shell程序
為方便管理目錄的讀寫許可權,在Vi下編輯/etc/group,加入以下內容:
bbs:*:99:bbs,bbsuser,bbsadm
在 /etc/shells 中加入 /home/bbs/bin/bbsrf。
在 /home下建立 bbsadm 和 bbs 兩個目錄:
chown bbsadm.bbs bbsadm
chown bbs.bbs bbs
1.5.設定BBS系統環境
從bbsadm登錄到Linux,在/home/bbs—src/ 目錄下執行cd CONFIG ; ./configure
執行的過程如下:
Home directory of BBS → [/home/bbs] → bbs 目錄所在
UID of BBS → [9999] → bbs 的系統 User ID
GID of BBS → [99] → bbs 的系統 GID
ID of BBS admin → [9990] → bbsadm 的系統 UID
The ID of your site → [NoName] → 貴站的英文代號
The name of your site → [Hibiscus Realm BBS] → 貴站名稱
The domain name of your site → [some.where] → 貴站域名
The ip address of your site → [127.0.0.1] → 貴站 IP address
Maximum number of users → [20236] → 最大使用人數
Maximum number of boards → [256] → 開版最大數目
Maximum number of on-line users → [256] → 最大同時上線
人數
Show idle time of BBS users ? → [Y] → 顯示 idle 時間
........................................
updating cache ./config.cache
creating ./config.status
creating Makefile
creating config.h
creating Install.sh
1.6.編譯BBS系統前的準備
configure會生成必要的 Makefile 文件。順利的話,應該可以在 bbs—src/ 目錄下找到Makefile。若有必要,可以再用Vi手動修改。
在 /home/bbs—src/ 下編輯 config.h,在編譯之前可對它作一些手動的修改。同一個目錄下可找到chat.h, 可以更改 chat room 的 port number 和名字。
1.7.編譯BBS系統
在/home/bbs—src/下執行 make,開始進行編譯,這個過程大約要運行1~2分鐘。如果你是按照本文所要求的配置進行的話,那麼,/home/bbs—src/目錄下就會產生bbs、 bbsrf、chatd 以及 thread 這四個可執行文件。表明BBS系統的編譯工作已經完成。
1.8.安裝BBS系統
以root登錄Linux, 在 /home/bbs—src 目錄下執行:
make install
make installchatd
make installthread
至此,安裝工作完成。
2.初始化火鳥BBS系統
2.1.取得SYSOP權利
Telnet到BBS主機,然後以bbs登錄, 可見到 BBS的Login畫面。此時,當BBS系統要求輸入ID時,請輸入New,以便註冊一個新使用者。由於名稱為SYSOP的使用者擁有一切權利,因此您必須先註冊為SYSOP,並且設定密碼。請注意:SYSOP必須完全大寫。
接下來,再替guest登記賬號,此賬號為BBS的參觀賬號,不需輸入密碼即可進入BBS。如果不想提供guest賬號,可以略過此步驟,記住把guest 加入「不可註冊之ID」的名單內。通常guest賬號是只能參觀,不可發言的,因此不具有發表文章或聊天的功能。
2.2.修改/home/bbs/etc/sysconf.ini
以下簡要說明sysconf.ini中各選項的含義:
# comment
BBSHOME =「/home/bbs」 ←設定 BBS 的 home directory
BBSID = 「MSIA」 ←設定 BBS 的 ID
BBSNAME = 「大紅花的國度」 ←設定 BBS 的中文站名
BBSDOMAIN=「MSIA.pine.ncu.edu.tw」 ←設定BBS的
Domain Name
BBSIP = 「140.115.210.77」 ←設定 BBS 的 IP Address
KEEP—DELETED—HEADER = 0 ←設定討論區被砍文章
是否保留被砍標題
EMAILFILE = 「etc/mailcheck」 ←如果把這行前面加上
# 就不寄身份確認信
#NEWREGFILE = 「etc/newregister」←如果把這行前面
# 拿掉就有新手三天限制
注意:修改完sysconf.ini后,請轉到BBS主選單,按shift +′~′ 或者刪除掉 /home/bbs/sysconf.img,以便更新系統設定
2.3.修改/home/bbs/etc/menu.ini
在 %S—MAIN 與 % 中的文字都作為背景。
下面的一行是menu.ini中標準的一行,如果前面加上「#」,表明禁止這一行起作用;M—EGROUP中的「E」表示這一行代表的選單可以按「E」進入;(3,0)表示從第3行0列開始顯示;如果是(0,0)表示接著上一行顯示;後面的「0」表示不限制任何許可權,可以自由使用;如果這一項是「PERM—BASIC」,表示需要具有基本許可權才能使用。
!M—EGROUP 3, 0, 0, 「EGroup」, 「E) 分類討論區」
2.4.修改/home/bbs/etc/mailcheck文件
這個文件是在做身份確認的時候,回復給註冊者的信箋內容,如果你的站點需要身份確認,那麼必須更改。
2.5.修改/home/bbs/etc/newregister註冊說明文件
說明註冊后具有的權利。
3.火鳥BBS系統維護
在home/bbsadm/bbs—src/local—utl下有一些程序, 安裝BBS系統時並未安裝,可以參考以下的說明來安裝這些外部程序,以幫助我們完成一些感興趣的工作。
3.1.上站人數統計
修改/home/bbsadm/bbs—src/Makefile,把-DINVISIBLE去掉后重新make bbsrf。
接下來,到/home/bbsadm/bbs—src/local—utl下,修改averun.c的內容,將其中的站點名字改為你自己的中文站名, 然後編譯這個程序:
gcc -o averun averun.c
把編譯好的averun拷到/home/bbs/bin,並在/home/bbs/下建立cron.bbs,加入以下內容:
0,5,10,15,20,25,30,35,45,50,55 * * * * (/usr/bin/uptime >>
/home/bbs/reclog/uptime.log)
57 * * * * (/home/bbs/bin/averun /home/bbs/reclog/uptime.log;
/bin/rm /home/bbs/reclog/uptime.log)
56 0 * * * (/bin/mv /home/bbs/0Announce/bbslist/today
/home/bbs/0Announce/bbslist/yesterday; /bin/rm
/home/bbs/reclog/ave.src)
然後用bbsuser的身份登錄Linux, 建立/home/bbs/reclog目錄,用來存放統計用的資料。
之後,再進入BBS的精華區,在精華區主目錄建立一個bbslists目錄(用g功能),在bbslists目錄下建立兩個文件:一個叫today(今日上站人數統計),另一個叫yesterday(昨日上站人數統計)。然後返回Linux提示符, 在/home/bbs/目錄下,用bbsuser身份執行crontab cron.bbs,以後系統就會自動更新這兩個文件的內容。這樣,在每次上線的時候,用戶就會看見每5分鐘更新一次的上站人數統計了。
3.2.十大熱門話題統計
進入home/bbsadm/bbs—src/local—utl目錄,編譯poststat.c:
gcc -o poststat poststat.c
再把poststat拷貝到/home/bbs/bin目錄下,建立/home/bbs/etc/posts目錄
進入BBS,在bbslists目錄下建立四個新文件day、week、month、year,分別是本日十大熱門話題、 本周十大熱門話題等。然後用bbsuser登錄Linux,把/home/bbs/etc/posts下的對應文件連接至這裡:
rm ~bbs/0Announce/bbslists/day
ln -s day ~bbs/0Announce/bbslists/day
其餘依此類推。再修改/home/bbs/cron.bbs,加入如下敘述:
10 * * * * (/home/bbs/bin/poststat /home/bbs)
在/home/bbs/目錄以bbsuser身份執行crontab cron.bbs,之後每隔1小時會做一次統計。
3.3.安裝自動登錄BBS shell
首先你必須安裝standalone-telnetd→這個telnetd Daemon,這個Daemon取代原先的in.telnetd管理的port 23(telnet協議所用的默認的口地址), 當有用戶telnet過來時,便自動執行一個進程, 然後自動login:bbs。
(1)去上面說的Linux資源中找到telnetd—stmo.tgz,把這個文件下載到本地。
(2)展開 telnetd—stmo.tgz后,把OS.list拷貝到/usr/local/etc下。這個文件內容是一堆操作系統的名稱,以後在別人登錄的時候,隨機取其中一行內容, 當別人telnet登錄過來時顯示,別人就搞不懂你這個站點到底是什麼系統的了。
(3)把telnetd拷貝至/usr/sbin下。
(4)修改/etc/inetd.conf,找到以下的內容:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
把其中的telnet改成telnet1。
(5)修改/etc/services,在最後一行加上
telnet1 2000/tcp # previous in.telnetd daemon
(6)查找inetd的進程號,並取消進程。
ps aux |grep 「inetd」
kill -HUP (上面找到的PID進程號)
重新啟動inetd (或重新開機也可)。
此時, 使用者telnet到你伺服器的2000口時,就執行你原來的shell,便會出現原先的login畫面。這時,你就可以使用原來的賬號登錄了。
http://61.132.74.80 姜璇
【責任編輯:風過留楓】
【關閉窗口】
相關內容
· 無
請您評論
姓名:
留言:
網友:loxware 發表時間:2002-07-19 22:05:18
文中提到的地址根本打不開,下面是一個可下載火鳥的地址:http://202.96.171.118/program/Unix/bbs/FirebirdBBS2.66M.GBCoded.tgz
網友:無題 發表時間:2002-07-21 09:03:42
這種東西還值得貼上來嗎?一點都不了解還亂貼。
網友:error 發表時間:2002-07-23 11:15:13
gcc -02 -DSHOW_IDLE_TIME -DWITHOUT_CHROOT -DLINUX -DTERMIOS -c bbs.c
In file included from bbs.c:23:
bbs.h:70:parse error before '__extension__'
bbs.h:70:'__len' undeclared here (not in a function)
bbs.h:70:initializer element is not constant
bbs.h:70:parse error before 'if'
........
網友:error 發表時間:2002-07-23 11:16:40
/home/bbs—src/下執行 make
gcc -02 -DSHOW_IDLE_TIME -DWITHOUT_CHROOT -DLINUX -DTERMIOS -c bbs.c
In file included from bbs.c:23:
bbs.h:70:parse error before '__extension__'
bbs.h:70:'__len' undeclared here (not in a function)
bbs.h:70:initializer element is not constant
bbs.h:70:parse error before 'if'
........
網友:error 發表時間:2002-07-23 11:17:16
zen me ban ???????