BBS服务系统组建DIY
BBS服务系统组建DIY
一、BBS系统组建的前提
(1)硬件平台:一台能够连上网络的计算机,配置一般即可,但必须保证内存和硬盘空间足够大,必须考虑计算机配置是否能够应付日益增多的上站人数。在一般情况下,内存是最重要的,其次是硬盘。每32MB内存可以支持大约30人同时访问,而信件和讨论区的文章大约每篇占用1~2KB的硬盘空问。
(2)软件:假如你将要管理的BBS访问量很大,同时计算机的配置并非“豪华型”。笔者建议你的系统平台采用Linux,它能够非常稳定地运行,对硬件的要求也不高。建议安装Linux
Redhat7、Sendmail8。
(3)BBS系统:一个功能强大的BBS系统是必不可少的,目前大多数校园网均采取Telnet和Web方式相结合的BBS系统,最为火爆的莫过于火鸟BBS(FirdBird
BBS)系统了。该系统安装方便,支持平台多,主要在Unix和Linux系统下运行。该系统在 GNU Public Licence下发行,可任意拷贝及修改,对系统的编译、修改都很容易,国内很多站点有FireBird
BBS系统源代码供大家自由下载。
二、安装火鸟BBS系统
1. 取得软件
我们可以在华军网站下载(网址:www.newhua.com/firebirdbbs.htm),版本是2000的简体中文版,文件大小为867KB,文件名是FirebirdBBS3.tgz。下载后,用FTP上传到服务器/home目录下,远程登录到服务器,在命令行模式下使用下面的命令把这个文件展开:tar
zxvf FirebirdBBS3.tgz 展开后,在/home下会建立bbsadm目录,含有BBS系统全部的源代码及技术文档。
2. 建立用户
在安装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
3. 设定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
4. 设定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
5. 编译BBS系统前的准备
configure会生成必要的Makefile文件。顺利的话,应该可以在bbs-src/目录下找到Makefile。若有必要,可以再用Vi手动修改。在/home/bbs-src/下编辑config.h,在编译之前可对它作一些手动的修改。在同一个目录下可找到chat.h,
可以更改chat room的port number和名字。
6. 编译BBS系统
在/home/bbs-src/下执行make,开始进行编译,这个过程大约要运行1~2分钟。如果你是按照本文所要求的配置进行的话,那么,/home/bbs-src/目录下就会产生bbs、bbsrf、chatd以及thread这四个可执行文件。表明BBS系统的编译工作已经完成。
7. 安装BBS系统
以root登录Linux,在/home/bbs-src目录下执行:
make install
make installchatd
make installthread
至此,安装工作完成。
三、初始化火鸟BBS系统
1. 取得SYSOP权限
Telnet到BBS主机,然后以BBS登录, 可见到BBS的Login画面。此时,当BBS系统要求输入ID时,请输入New,以便注册一个新使用者。由于名称为SYSOP的使用者拥有一切权限,因此你必须先注册为SYSOP,并且设定密码。请注意:SYSOP必须完全大写。接下来,再用guest登记账号,此账号为BBS的参观账号,不需输入密码即可进入BBS。如果不想提供guest账号,可以略过此步骤,记住把guest
加入“不可注册之ID”的名单内。通常guest账号是只能参观,不可发言的,因此不具有发表文章或聊天的功能。
2. 修改/home/bbs/etc/sysconf.ini
以下简要说明sysconf.ini中各选项的含义:
# comment
BBSHOME ="/home/bbs" ←设定 BBS 的 home directory
BBSID = "tuanwei" ←设定 BBS 的 ID
BBSNAME = "星空BBS" ←设定 BBS 的中文站名
BBSDOMAIN="bbs.tuanwei.neu.edu.cn" ←设定BBS的Domain Name
BBSIP = "202.118.17.50" ←设定 BBS 的 IP Address
KEEP-DELETED-HEADER = 0 ←设定讨论区被砍文章,是否保留被砍标题,0保留,1不保留。
EMAILFILE = "etc/mailcheck" ←如果把这行前面加上#就不寄身份确认信
#NEWREGFILE = "etc/newregister"←如果把这行前面#去掉新手三天限制
注意:修改完sysconf.ini后,请转到BBS主选单,按shift +"~" 或者删除掉/home
/bbs/sysconf.img,以便更新系统设定。
3. 修改/home/bbs/etc/menu.ini
在 %S-MAIN 与 % 中的文字都作为背景。
下面的一行是menu.ini中标准的一行,如果前面加上“#”,表明禁止这一行起作用;M-EGROUP中的“E”表示这一行代表的选单可以按“E”进入;(3,0)表示从第3行0列开始显示;如果是(0,0)表示接着上一行显示;后面的“0”表示不限制任何权限,可以自由使用;如果这一项是“PERM-BASIC”,表示需要具有基本权限才能使用。
4. 修改/home/bbs/etc/mailcheck文件
这个文件是在做身份确认的时候,回复给注册者的信笺内容,如果你的站点需要身份确认,那么必须更改。
5.修改/home/bbs/etc/newregister文件
修改注册文件后才具有相应的权限。
四、BBS系统维护实例
在home/bbsadm/bbs-src/local-utl下有一些程序, 安装BBS系统时并未安装,可以参看以下的说明来安装这些外部程序,以帮助我们完成一些实际的工作。
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/rec
log/uptime.log)
57 * * * * (/home/bbs/bin/averun/home/bbs/reclog/uptime.log;/bin/rm /home/bbs/reclog/uptime.log)
56 * * * * (/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分钟更新一次的上站人数统计了。
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小时会做一次统计。
以上仅仅是对火鸟BBS安装与配置的简要介绍,对于火鸟BBS的种种扩展不胜枚举。有兴趣的朋友可以到水木清华〈bbs.tsinghua.edu.cn〉的BBS安装版查阅相关信息。
(北方星空)