白山黑水站 SMTH1.2 安装手册(1)

2004年8月4日 | 分类: 未分类 | 标签:

一、修改SMTH BBS文件

//=================================================================================================

site/devel.h
修改
#define HAVE_TSINGHUA_INFO_REGISTER 0 /*清华信息注册系统,其他站台没用*/
增加
#define HAVE_COLOR_DATE 1
#define COLOR_ONLINE 1
#define NEW_COMERS 1 /* 新手上路在newcomers发文*/
#define HAVE_BIRTHDAY 1 /* id的信息包括生日 */
#define HAVE_TEMPORARY_NICK 1 /* 允许临时呢称 */
#define HAVE_FRIENDS_NUM 1 /* 状态条显示好友个数 */
#define CNBBS_TOPIC 1 /* 进站显示全国十大 */
#define ANONYMOUS_DEFAULT 1 /* 匿名版默认匿名 */
#define CONV_PASS 1 /*这个一定要加上否则会出致命错误*/


记得把 UID 和 GID 改掉

//===================================================================================================

site/default.h
修改
#define SECNUM 11 /* 和自己站台的分区数目一致*/
#define DEFAULTBOARD "sysop" /* 登陆默认认版面的名字,注意大小写*/
#define BLESS_BOARD "wishes" /* 祝福版版面的名字,注意大小写 */
#define MAIL_BBSDOMAIN "bbs.neu.edu.cn"
#define NAME_BBS_ENGLISH "bbs.neu.edu.cn"
#define NAME_BBS_CHINESE "白山黑水"
#define NAME_BBS_NICK "BBS 站"
#define BBS_FULL_NAME "白山黑水站"

#ifndef NAME_ANONYMOUS /*匿名发文的昵称 */
#define NAME_ANONYMOUS "匿名天使"
#endif


//=================================================================================================


site/default.c

const char seccode[SECNUM][5] = {
"0", "1", "2", "3", "4", "5", "6", "7", "8",
}; /* 和你的站台分区数目一样多 */

const char *groups[] = {
const char secname[SECNUM][2][20] = {
const char *explain[] = {

这些改成和自己的站台一样,太长,不列出了。

case BBSNET:
return "穿梭银河";
/*原来是系统维护:)*/
case KILLER:
return "杀人游戏";

登陆限制,从wforum.c里面cp过来的
#ifdef USE_DEFAULT_MULTILOGIN_CHECK
struct count_arg {
int www_count;
int telnet_count;
};
int countuser(struct user_info *uinfo, struct count_arg *arg, int pos)
{
if (uinfo->mode == WEBEXPLORE)
arg->www_count++;
else
arg->telnet_count++;
return COUNT;
}
int multilogin_user(struct userec *user, int usernum, int mode)
{
int logincount;
int curr_login_num;
struct count_arg arg;

bzero(&arg, sizeof(arg));
logincount = apply_utmpuid((APPLY_UTMP_FUNC) countuser, usernum, &arg);

if (logincount < 1)
RemoveMsgCountFile(user->userid);

if (HAS_PERM(user, PERM_MULTILOG))
return 0; /* don't check sysops */
curr_login_num = get_utmp_number();
/*
* binxun 2003.5 仲裁,版主,Chatop,等都可以三登
*/
if ((HAS_PERM(user, PERM_BOARDS) || HAS_PERM(user, PERM_CHATOP)
|| HAS_PERM(user, PERM_JURY) || HAS_PERM(user, PERM_CHATCLOAK)
|| HAS_PERM(user, PERM_BMAMANGER))
&& logincount < 3)
return 0;
/*
* allow multiple guest user
*/
if (!strcmp("guest", user->userid)) {
if (logincount > MAX_GUEST_NUM) {
return 2;
}
return 0;
} else if (((curr_login_num < 700) && (logincount >= 3))
||((curr_login_num >= 700) && (logincount >= 2)
&&!(((arg.telnet_count == 0) && (mode == 0))
||(((arg.www_count == 0) && (mode == 1))))))
return 1;
return 0;
}
#endif

/*邮箱容量限制,非常简陋,所有的id都一样,150k,300封,谁能给个完美版?*/
#ifdef USE_DEFAULT_MAIL_LIMIT /*邮件容量限制 */
void get_mail_limit(struct userec *user, int *sumlimit, int *numlimit)
{
/*
* unlimit
*/
*sumlimit = 150;
*numlimit = 300;
return;
}
#endif


contrib/fb2k2smth/convboards.c
修改
const char oldseccode[SECNUM][5] = {
"ab", "cde", "fg", "hi", "jk", "lm", "no", "pq"
};/*和原来的站台一样。 */


一、安装一些文件:

1,libesmtp

[root@testbbs bbssoft]# rpm -ivh libesmtp-1.0-2.i386.rpm
Preparing... ########################################### [100%]
1:libesmtp ########################################### [100%]
[root@testbbs bbssoft]# rpm -ivh libesmtp-devel-1.0-2.i386.rpm
Preparing... ########################################### [100%]
1:libesmtp-devel ########################################### [100%]

然后cd /usr/lib
ln -s /usr/local/lib/libesmtp.so
ln -s /usr/local/lib/libesmtp.so.5

开始编译
使用什么都disable那种
make make install make install-home
然后使用源代码下的文件进行转换,这个很重要

尽量使用 BBS 用户操作

./convpasswd

//----------------------------------------------------------------

在 convboards.c 中加入


typedef struct fileheader11 { /* This structure is used to hold data in */
char filename[20]; /* the DIR files */
unsigned int id, groupid, reid;
char unused1[46];
char innflag[2];
char owner[30];
char unused2[42];
unsigned int eff_size;
long attachment;
char title[80];
unsigned level;
unsigned char accessed[12]; /* struct size = 256 bytes */
} fileheader11;

将 convboards.c 中的 fileheader 全部替换为 fileheader11

cp 0Announce/.Search .Search

然后运行 ./convboards
./chfavbrd
./refriend //似乎比较慢的过程
./strip_fh --all




在 /usr/lib 做如下文件链接:
ln -s /home/bbs/lib/libBBS.so /usr/lib
ln -s /home/bbs/lib/libBBS.so.0 /usr/lib
ln -s /home/bbs/lib/libzmodem.so /usr/lib
ln -s /home/bbs/lib/libsystem.so /usr/lib
ln -s /home/bbs/lib/libsystem.so.0 /usr/lib


安装PHP 记得 freetype

重新安装SMTH 记得加上

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

运行之后,WEB会缺少N多文件,需要从CVS的代码复制
还有记得修改 httpd 用户为 bbs

目前还没有任何评论.