发信人: houzl (无名之枫), 信区: BBSMan_Dev
标  题: smthbbs安装转信(菜鸟版)
发信站: BBS 水木清华站 (Thu Apr  1 05:15:42 2004), 转信

smthbbs安装转信(菜鸟版)

感谢的话就不多说了,我只是把从大牛们那里学来的再写出来。

软件环境
RH9
smthbbs cvs 3.19 版本

几个约定
bbs安装目录 /usr/local/bbs
httpd安装目录 /usr/local/www


具体smthbbs需要的就不说了,在前文 SMTHBBS安装方法,菜鸟版本 已经提过。

1 重新编译smthbbs
1.1 修改site/****.h文件,依然使用大牛们推荐的fb2k-v2.h
    
#define CNBBS_TOPIC             1   /*1就是进站显示cn-bbs十大,0就是不

显示*/

1.2 修改innbbsd/bbslink.c[必须??]
    
    修改
    #ifndef MY_MAIL_ADDR
    #define     MY_MAIL_ADDR    "feeling-NOsmthSPAM-org"
    
#endif
    为
    #ifndef MY_MAIL_ADDR
    #define     MY_MAIL_ADDR    "你自己bbs的域名"
    
#endif
    
    这步是不是必须,我也不清楚。第一次没有修改的时候转出出现了如下错误
    : Mar 31 16:44:56 [2719] <bbslink> :Err: 441  From: address not in  

     Internet syntax of <4BS76j$T4v@bbs.fancysky.net>

    但是改了这里以后就没有问题了。所以还是修改一下比较好:)

1.3 备份已有的web下目录
    smthbbs在从新安装的时候似乎唯一会影响到的就是web目录。相信大家都对  

  web目录修改了很多了吧~:)

    最简单的方法就是
    在bbs web主目录下
    tar czvf bbswebbak.tar.gz ./

1.4 从新安装[以命令表示]
    进入smthbbs src 目录
    ./configure --prefix=/usr/local/bbs --enable-site=fb2k-v2 --with-

www=/usr/local/www --with-php=/usr/local/include/php --with-mysql --

enable-ssl --enable-innbbsd
    make
    make install

这样就安装完了~:0现在开始配置.

2 开版
进入你的bbs
开设以下版面
cnAdmin         [转信] ● cn.bbs.*管理及发展事务
cnAnnounce      [转信] ● cn.bbs.*重要公告(只读)
cnBM            [转信] ● cn.bbs.*版(组)务交流
cnLists         [转信] ● cn.bbs.*各类统计列表与记录(只读)
cnWeather       [转信] ● 天气预报(只读)
cnTest          [转信] ● cn.bbs.*测试区

这个就不具体说了,有疑问请看atppp写的关于版面管理的文档.
前面是名称,当然可以修改成自己的,但必须和3.4中写所的对应.

3 配置innbbsd[以命令表示]

3.1 补上缺少的filter.ctl
    cd /usr/local/bbs/innd
    touch filter.ctl
3.2 配制bbsname.bbs
    vi bbsname.bbs
    写如你的bbs的英文名称就可以了~
3.3 配制newsfeeds.bbs
    vi newsfeeds.bbs
    写入
    cn.bbs.admin       cnAdmin cnnews
    cn.bbs.admin.announce      cnAnnounce      null
    cn.bbs.admin.lists cnLists null
    cn.bbs.admin.lists.weather  cnWeather       null
    cn.bbs.admin.test  cnTest  cnnews
    cnbbs.admin.manager        cnBM    cnnews
    存贮就可以了~:)

    null表示不转出

3.4 配置nodelist.bbs
    vi nodelist.bbs
    写入
    Fantasy    bbs.fancysky.net     IHAVE(7777)     草堂茗香
    cnnews     news.zixia.net   POST(119)       cn.bbs.*新闻组
    存贮
    
    注意把
    Fantasy    bbs.fancysky.net     IHAVE(7777)     草堂茗香
    修改成你自己的信息:)
    Fantasy 就是你bbs的英文名,要和bbsname.bbs中想对应,
    bbs.fancysky.net 你innbbsd所运行机器的地址
    IHAVE(7777) innbbsd默认的断口就是7777,没有改过,不知道改了还可不可以


    草堂茗香 你bbs的中文名

3.5 配置cnnews.active
    vi cnnews.active
    写入
    cn.bbs.admin       0000000000      0000000001      y
    cn.bbs.admin.announce      0000000000      0000000001      y
    cn.bbs.admin.lists 0000000000      0000000001      y
    cn.bbs.admin.lists.weather  0000000000      0000000001      y
    cn.bbs.admin.test  0000000000      0000000001      y
    cnbbs.admin.manager        0000000000      0000000001      y
    存贮

    这里说一下cnnews,个人认为把以上各项的cnnews都改成test或者其他的照样

可以用.

3.6 进站显示cn-bbs十大
    创建一个新文件,叫做 newsday.sh,放在 /usr/local/bbs/bin 中,内容如

下:
      #!/bin/sh
      ( cd /usr/local/bbs/tmp; wget -q http://top.cn-bbs.org/day )
      if [ -f tmp/day ]; then
      mv -f /usr/local/bbs/tmp/day /usr/local/bbs/0Announce/bbslist/

newsday
      fi
    
     加上 newsday.sh 的可执行权限,通过 chmod +x newsday.sh 即可。然
     后把 newsday.sh 的执行加到 crontab 里面,每小时执行一次即可,例
     如
     5 * * * * (/usr/local/bbs/bin/newsday.sh)

     需要注意的问题,smthbbs似乎默认并没有/usr/local/bbs/0Announce/

bbslist/
     需要先mkdir一个

  



这样主动转信就配制完成了~:)
以上只适合主动转信.
被动转信正在积极申请中.

4 启动[以命令表示]
这些启动都需要在bbs用户下进行.
cd /usr/local/bbs/innd/
./innbbsd

转入是
./bbsnnrp news.zixia.net cnnews.active

转出是
./bbslink -v /usr/local/bbs

也可以在crontab -e里添加

3,18,33,48 * * * * /usr/local/bbs/innd/bbsnnrp news.zixia.net cnnews.

active >/dev/null 2>&1
表示没15分钟转入一次
1,6,11,16,21,26,31,36,41,46,51,56 * * * * /usr/local/bbs/innd/bbslink 

/usr/local/bbs > /usr/local/bbs/tmp/portnum 2>&1
表示没5分钟转出一次.

特别提醒一下
转入转出的频率不要太快哦
否则你就会在innd下面发现cnnews.link.LOCK之类*.LOCK文件,那就是你被zixia

自动封了.
到那时候你只有等
不过你可以打开cnnews.link.LOCK之类看看你被封到什么时候
里面是24小时制的时间

这只是我这个菜鸟安装时候的一些过程.弯路走了不少.希望对大家有帮助.