kbsbbs是运行在类Unix 操作系统(包括 Linux、FreeBSD、Solaris 8/9 for X86/SPARC 等)上的论坛系统,支持telnet访问和论坛间转信。
1、安装前的准备
http://dev.kcn.cn给出的需要的软件:
zlib 必须
libesmtp > 0.8 可选
autoconf-2.57 可选 如果从 cvs 下载源代码编译安装则必需
automake-1.6.X 可选 如果从 cvs 下载源代码编译安装则必需
libtool-1.4.X 可选 如果从 cvs 下载源代码编译安装则必需
apache_1.3.X 可选 选择 web 界面支持才需要
or apache2
php >= 4.3.0 可选 选择 web 界面支持才需要
libxml2 可选 选择 web 界面支持才需要
libiconv 可选 选择 web 界面支持才需要
libjpeg 可选 选择 web 界面支持才需要
libpng 可选 选择 web 界面支持才需要
freetype2 可选 选择 web 界面支持才需要
gd 可选 选择 web 界面支持才需要
openssl 可选 选择 pop3d 支持 pop3s 才需要
gmp-4.X 可选 选择 ssh 方式支持才需要
mysql 可选 选择个人文集等功能支持才需要
我用的系统为Fedora core7,apache,php,mysql安装系统时都已安装,另装的软件包为php-devel-2.2.2-3.i386.rpm,php-xml-2.2.2-3.i386.rpm,libesmtp-1.0.4-2.fc6.i386.rpm,libesmtp-devel-1.0.4-2.fc6.i386.rpm,mysql-devel-5.0.37-2.fc7.i386.rpm。
建立bbs用户和群组,uid和gid都调整为501(其它的也可以,和site目录下的站点配置文件一致即可),调整apache的配置文件(默认/etc/httpd/conf/httpd.conf)中的user和group为bbs,修改AddDefaultCharset gb2312防止web下乱码。
从dev.kcn.cn上下载kbsbbs-snapshot.tar.gz,和wForum-snapshot.tar.gz,两个同时下载,不同时间下载的文件可能不匹配。解压到$SRCROOT,我用的是/home/bbs,解压得到kbsbbs-2.0dev文件夹,进入contrib文件夹,编辑build-RH9.sh
#######################################
# BBSHOME 表示您的 BBS 所在的目录
BBSHOME=/usr/local/bbs
# BBSSITE 表示您采用的站点定制文件
BBSSITE=fb2k-v2
# WWWROOT 表示您的 WWW 所在的目录
# 注意:这个目录不是 httpd.conf 里面的 DocumentRoot 参数。
WWWROOT=/usr/local/bbs/htdocs
#######################################
这几行根据自己需要修改,BBSSITE就是site目录下的文件,上面对应的是fb2k-v2.h和fb2k-v2.c,注意bbs的uid和gid和fb2k-v2.h中一致。
文件末尾有:
#######################################
./configure --prefix=$BBSHOME --enable-site=$BBSSITE \
$WWWCONFIG \
$SSHCONFIG \
$INNCONFIG \
--with-mysql
#######################################
我们不用ssh和inn,去掉了这两行。
2、编译安装
用root在kbsbbs-2.0dev下执行contrib/build-RH9.sh,通过后make install,make install-home。
更改所有者为bbs:
chown -R bbs:bbs /usr/local/bbs
之后就可以用telnet登陆bbs了。为方便启动和关闭kbs系统,编写脚本文件start和stop:
#!/bin/bash
#start
# to start kbsbbs
cd /usr/local/bbs/bin
./miscd daemon
./bbslogd
./bbsd -p 23
#start end
#!/bin/bash
#stop
# to stop kbsbbs
/usr/local/bbs/bin miscd flush
killall bbsd
killall bbslogd
killall miscd
ipcs -m | awk '$0~/bbs/{system(sprintf("ipcrm shm $s",$2));}'
#stop end
保存后要chmod a+x start和chmod a+x stop才能执行。
./start
telnet localhost
注册SYSOP和guest两个帐号。
至此telnet下已经安装完毕。
web访问用到库libphpbbslib.so编译时生成在/usr/local/bbs/htdocs/libexec目录下,fedora core7默认安装的php读取库函数目录在/usr/lib/php/modules,在这个目录下建libphpbbslib.so的符号链接:
ln -s /usr/lib/php/modules /usr/local/bbs/htdocs/libexec/libphpbbslib.so
修改php的配置文件/etc/php.ini,在Dynamic Extension之下加extension=libphpbbslib.so,确认extension_dir是正确的和short_open_tag = Off ,magic_quotes_gpc = off。复制源代码中bbs2www/html中的文件到/usr/local/bbs/htdocs。
Fedore 默认将 httpd 服务加入 SELinux 保护,如果开启 SELinux 会导致libphpbbslib.so 加载失败(因为有依赖库在非标准路径)。
--
FROM 121.234.231.*