当前位置:Linux教程 - Linux - Linux作BBS服务器--PowerBBS配置过程

Linux作BBS服务器--PowerBBS配置过程

LinuxAid工程师:unix_guo

一、特点

PowerBBS是由台湾人开发的另一个BBS程序. 架设 PowerBBS 不需要有超级用户的权利,一般 User也可以在自己的帐号下建一个私人的BBS, 而且同样拥有转信的功能. PowerBBS可以自由的更改lient所能看到的所有信息. 安装简易, 安全可靠, 可容纳同时上线的用户无限制, 速度快. 对系统的负担非常小, 较一般 BBS 更有效率, 对 User的反应也较快, 特别适合网络负担较重的机器.

二、需求

架设 PowerBBS 并不需要太好的设备, 要看为什么样的服务而定.

硬件:

电脑主机一部; 网络; 硬盘至少5Mega

软件:

必需是UNIX的操作系统 cc 或 gcc (gcc 比较好)

ps1: 网络必需是 TCP/IP BSD Socket 规格(几乎所有UNIX都支持)

ps2: 目前适用的机器主要在 SUNOS 4.x, 及 NetBSD, 下列平台也可以 Linux, AIX, OSF/1, HPUX, Solaris (目前HPUX 部份还有些问题)

三、下载

首先, 从网上下载PowerBBS的源代码, 假设你的源文件是pbbs.tar.gz; (例如站点ftp://pbbs.chpi.edu.tw//pub/pbbs/source)

执行tar zxvf pbbs.tar.gz解开文件, 会出现目录pbbs;

四、安装

cd到pbbs的目录里, 试试执行Install, 如果可以, 所有程序都会自动做好, 如果不行, 就用下面的方法. cd到host的目录之中有许多Makefile.*, 挑一个适合你的机器, 拷成Makefile, 例如 cp Makefile.lin Makefile, 然后打make命令, 在PowerBBS目录下多一个pbbsd的可执行文件.

五、测试

不要想的太难, 执行pbbsd就行了. PowerBBS Server 会自动退到后台.找一个PowerBBS Client程序, 执行pbbs即可. 例如在client.tel目录下有一个客户端的程序, 执行install, 如果不行就make, 会有一个pbbs的可执行文件, 直接运行pbbs 就可以了.

六、详细配置

主要的都在setup.h里面, 这个配置文件实在是太复杂了, 我只能写写其中的一部分, 剩下的通过自己阅读帮助文档sysop.gb就可以了. #define PBBS_SERV_端口 6203 要将 PowerBBS 的 端口 定在何处, 我们建议您就定在 6203, 这是我们的预设值, 你可以定1025以上的任何值;#define SYSTEM_PATH "/pbbs" PowerBBS 所在路径, 程序执行时, 第一步就是 chdir 这个目录, 请尽量使用绝对路径, 而不要用 "~zhangxin" 之类的东西;

#define LOGFILE "pbbs.log" PBBS 动作的纪录名

#define RUN_USER "OWNER" #define RUN_GROUP "OWNER" 设定守护进程在执行时要以什么User及 Group去执行. 这项设定是为以超级用户等级去执行程序而设计(rc.local中启动守护进程), 使得 PowerBBS在执行守护进程不要拥有超级用户的权限, 避免万一程序中有安全上的漏洞造成入侵.(虽然还看不出有这种问题, 不过保险起见, 若您以超级用户启动守护进程, 最好将User及Group 设为nobody, 端口在1024 以下要超级用户才能Bind, 如news 所用的119端口, 用此设定, 以超级用户启动, 在端口Binding完后会自动更改自身的权限到其设定) 若您只是以一般的 User来启动守护进程, 则将此设定设为 "OWNER" 即可, 如此PowerBBS会忽略此项动做, RUN_USER及 RUN_GROUP中任一项设为"OWNER"都会关闭此功能.

#define TALK_缓冲区 "talk" Talk时的缓冲区目录, 记得要mkdir这个目录

#define USER_PREFERENCE "user_prefer" 这是当User要设定自己的信区时, 设定档要放的目录

#define menu_PATH "menu" 各菜单所在目录

#define PRELOG_FILE "prelog" User Login之前所看到的画面

#define MAX_LOGIN 5 User 在 Login 时的错误最多几次

#define MAX_LOAD 100 本站最多同时可容纳的上线人数, 请依各站配备而定, 可设超过 256

#define INIT_LEVEL 30 新用户的等级

#define CO_SYSOP_LEVEL 90 副站长的等级

#define SYSOP_LEVEL 99 站长的等级

.......

修改完后需要重新make来安装. 请参阅前面的安装说明.

七、其他

其他功能, 象站间转信, 布告栏, 设定某些用户的特定功能, 文字信息的更改等请参阅相关文档. 主要在sysop.gb文件里. 一般来说, 象bbs这种东西不是拿来就可以很好用的, 要根据你自己的需要来修改源代码, PowerBBS的服务器端的源代码在host目录下, 客户端代码在client.tel目录下. 通常只需要改这两个目录的文件, 其他不变.

八、客户端用telnet方式的设定

若您想让用户以 telnet 的方式上线, 则有几项要注意的...

1. 将客户端的源代码的Makefile中CFLAGS 中加上-DTERMMODE重新 Make出的pbbs客户端程序会将对

磁盘写入的动作关闭.

2. 加个用户pbbs再将其shell设为前面做出的客户端程序. 即在/etc/passwd下加一个账号为bbs, 其shell设为客户端程序.

3. 要注意, 客户端程序在post信件时会呼叫编辑器, 您一定要放一个Patch版的编辑器, 此编辑器 不能有shell的动作, 否则将造成安全上的漏洞, 因此系统所附的vi绝不能用, 一定要用专为BBS计的编辑器.

4. 若您要放在 gopher 或 EagleBBS 的 BBSNet 底下, 也是要注意上述的问题.

5. 用户在自己的主目录下创建.pbbsrc文件, 在用户telnet 时如果没有,会自动生成。注意在.pbbsrc中的IP地址和端口必须正确。

这样, 用户就可以用telnet 访问了.