该手册是"天使之城"站(FB2000v1.0423)转化到smthBBS-5.10snap的转化手册
基于"天使之城"站的要求作了不少修改, 其他站点使用可以根据自己需要作相应修
改
改转化方法应该对FB2000v1126同样适用
其中使用了major提供的convFBtoSMTH包和smthBBS-5.10snap包
对它们我都做了一些修改, 可以到
ftp://166.111.142.17/pub/COA/下载
有问题可以找thdog@coabbs(coabbs.thunet.org) 或者 thdog@smth 或者在 转信
的bbsdev版讨论
一, 对转化包的修改
使用major提供的convFBtoSMTH包,做了一些修改
修改:
修改了convpasswd.c, 增加了对用户friends list的转化.
(用户friends list放在home目录中该用户自己的目录下的friends文件中. )
转化原理:原有文件为每53个字符一个friend, 截取其前28个字符,另存即可得到
smth的friends list
修改了convboards.c, 确保版面文章基本转化成功,同时增加了对文摘区的转化功
能
修改了转化.DIR后没有保存的问题, 改成先保存在.DIR.NEW, 在替换掉原来的.
DIR
cp了转化.DIR的函数,梢作修改就可以用来转化.DIGEST了
修改后改名为convboards_thdog.c, 具体修改参见源文件内注释
chlevel.c没有作修改, 只是改名为chlv.c, 因为smth有同名的chlevel文件
fb2kstruct.h也没有作修改
使用:
将convpasswd.c convboards_thdog.c chlv.c fb2kstruct.h cp到源码的
local_utl/低下, 然后修改local_utl/Makefile.am
在其中加入那几个.c文件, 等着和源码一齐编译
二, 编译前对smthbbs源码作的修改
bbsconfig.h中的修改:
增加CONV_PASS的定义, 即加入 #define CONV_PASS 1 (!!必须!! 转化.PASSWDS
时要用的设定)
增加NEW_COMERS的定义, 新手上路会在Newcomers版发文,注意是Newcomers不是
newcomers,大小写
增加HAVE_COLOR_DATE的定义, 使用彩色日期
default.h中的修改:
default.h里修改SECNUM的值, 使其符合"天使之城"站的情况
注释掉 BLESS_BOARD 和 ISSUE_LOGIN 的定义
其他的就看着办吧, 关于站点信息, 匿名用户信息之类的, 改的和"天使之城"差不
多就ok了
bbs.c中的修改:
每次进入版面都显示备忘录, 具体见bbs.c 3038行附近
增加了彩色id显示用户在线情况的功能
(文章作者在线,其id显示绿色,否则白色,隐身就是浅蓝色,前提是你有看穿
隐身权)
具体修改见"天使之城"sysop版x-1-6
default.c中的修改:
修改分区信息, 使其于"天使之城"相符, 具体见default.c 7行附近
修改同时上站数限制, 具体见 343行 multilogin_user函数的修改
(5.10snap没有对其限制, 我是用了smth1.0.1里面同一个函数来代替的, 当然作
了点修改, 以适应"天使之城"的情况)
修改信箱上限, 具体见default.c 515行mail_limit函数内的修改
edit.c中的修改:
联系发20篇灌水文章的会被系统自动踢下线,防灌水机用
5.1-snap原来那个netsleep在有人使用灌水机的时候,会造成系统负荷急剧升高
具体见1062行附近
三, 按照smthBBS要求的方法编译
具体见smthBBS的说明文档, 或者在
http://dev/smth.org 也可以找到smthBBS的安
装说明
如果没有mysql一定要加上--without-mysql
四, 转化.PASSWDS文件
首先, 关掉bbs(如果之前开的话), 清空bbs的虚拟内存
(RH9.0的 ipcclean真好用, 不清有没有关系, 我不知道, 但是我习惯清 kaka)
删掉安装带的.PASSWDS文件(如果有的话), 把需要转化的.PASSWDS文件cp到
$(BBSHOME), 改名成.PASSWDS.OLD
用原来的(需要转化的) home/ 目录(装bbs用户信息的) 替换smthbbs安装时带的那
个
运行bin里面的 convpasswd, 会生成.PASSWDS.NEW
如果有人没有好友列表,就会有显示说有人的friendslist没有转化成功,没有关系
,不会影响大局
把.PASSWDS.NEW改名成.PASSWDS, 运行bin里面的 chlv
.PASSWDS转化结束, 同时 home/ 目录里面,每一个用户的好友列表有都转化完毕
五, 转化版面
用需要转化的 boards/ 目录替换安装时带的, 用原来的 vote/ 目录替换掉安装时
带的
删掉安装时带的 .BOARDS 文件
把需要转化的 .BOARDS 文件cp进来, 改名叫 .BOARDS.OLD
把bbs开起来, 然后运行bin里面的convboards_thdog
运行smth自己带的gen_title,调整所以版面为未读,fix了转化的时候出错的阅读
标记
转化之后的有些版面的分区和说明有错误,我没有仔细找原因,站长手动修改回来
就好了
版面说明的格式是
分区号[分类说明]{六个空格}中文说明
例如一般的sysop版就是
0[系统] 站长工作室
到此版面,文章,文摘区,备忘录转化结束
六, 转化精华区
站长重新设定每一个版面的精华区位置, 将其指向版面所在的分区
可以看到0Announce/group/里面有好些*.faq/目录
把那些目录里面的与版面同名的东西rm掉
然后把原来精华区的东西cp过来就好了
七, 支持www方式访问
按照smthBBS支持www方式访问的安装说明作(同样可以在
http://dev.smth.org上找
到)
安装php的时候,php的配置文件/usr/local/lib/php.ini是要自己cp过去的(至少
我用的php-4.3.1tar.gz包是这样)
一定要记得在安装完php之后修改httpd.conf 把uid和gid都改成bbs的,也就是用
bbs来跑
同时还要加上这么一句 AddType application/x-httpd-php .php 也就是加上.php
作为 php 脚本的后缀
推荐安装www方式时一直使用root用户来make和make install
在对smthbbs configure结束以后重新修改bbsconfig.h文件
安装结束后, 把apache/htdocs/sites/里面的smth_index.html smth_frames.html
smth.php
分别cp到上一层目录(apache/htdocs), 分别改名为index.html frames.html
site.php
到此www方式访问安装结束
开bbs的时候使用root来执行
存在的问题:
贴图功能有问题, 会造成www方式下文章号混乱, 还没有试图解决, 只是没有开始
贴图版面 :PP
八, 接收intelnet信件
只是做了一点探索
mail2bbs那个程序可以用,而且不错,就是参数麻烦
它的参数是
/* argv[ 1 ] is original sender */
/* argv[ 2 ] is userid in bbs */
/* argv[ 3 ] is the mail title */
/* argv[ 4 ] is the message-id */
message-id好像就是发信站而已,最后会显示成信件的来源
信件内容的输入从stdin来的
我试过这样
more COA2SMTH_man | mail2bbs thdog@thdog.com thdog Manual asdfasdf
结果收到了一封下的信件
寄信人: thdog@thdog.com
标 题: Manual
发信站: BBS 天使之城站 信差
来 源: asdfasdf
日 期: Mon Jun 16 03:15:43 2003
该手册是"天使之城"站(FB2000v1.0423)转化到smthBBS-5.10snap的转化手册...
..
说明是可以用的,而且还挺好用的
只是我不知道应该怎么在sendmail.cf里面完成这个配置,从哪里弄那么多参数啊
我对sendmail的配置不熟,这个比较ft
九, 转信设置
5.10snap带的innbbsd我用autoconf弄之后老是编译的时候出错,改得烦了
最后用smthbbs-1.0.1带得innbbsd就方便多了
不用configure,直接make,然后make install就搞定了
运行得时候,它会要一个filter.ctl文件touch一个给它就好了,反正我暂时不用
做什么filter
转信的其他配置就看你自己原来的就好了
十, 支持ssh方式登陆
呵呵, 还没有试呢:p 按照smthBBS自己的说明应该没有太大的问题
--
FROM 166.111.142.17