荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: nighthawk.bbs@sopai.net (K!!!!!!), 信区: InstallBBS
标 题: YTHT BBS在Cygwin环境安装手册
发信站: 派派_BBS (Fri Mar 25 14:16:38 2005)
转信站: SZU!news.szu.edu.cn!news.happynet.org!PaiPai
原文应该在这吧:
http://www.ytht.net/Ytht.Net/home/boards/BBSDev/html/INSTALL.cygwin.html
YTHT BBS在Cygwin环境安装手册
YTHT BBS 系统维护组
v0.1, 11 May 2004 本文档主要描述如何在MS Windows平台上的Cygwin环境里面安装YTHT
BBS软件
1. 概述
* 1.1 一些约定
* 1.2 系统环境
* 1.3 YTHT BBS代码概述
* 1.4 关于提问
2. 初次安装
* 2.1 安装及配置Cygwin
* 2.2 获得BBS 代码
* 2.3 修改BBS 代码
* 2.4 目录software的安装
* 2.5 更改BBS 配置
* 2.6 Telnet部分的安装
* 2.7 Telnet部分测试运行及配置
* 2.8 Web 部分的安装
* 2.9 转信部分的安装
* 2.10 Ftp 部分的安装
* 2.11 atthttpd部分的安装
* 2.12 sshbbsd部分的安装
* 2.13 Cron的配置
* 2.14 启动BBS 服务
3. 修改代码后重新安装
* 3.1 修改代码的注意事项
* 3.2 ythtlib目录的修改
* 3.3 libythtbbs目录的修改
* 3.4 src目录的修改
* 3.5 local_utl目录的修改
* 3.6 nju09目录的修改
* 3.7 innbbsd目录的修改
* 3.8 yftpd目录的修改
* 3.9 atthttpd目录的修改
* 3.10 smth-sshbbsd目录的修改
1. 概述
1.1 一些约定
为叙述方便,本手册作如下约定:
* $ : 命令提示符
* /home/bbs : BBS安装目录,默认为 /home/bbs ,安装时请改为自己选择的目录
1.2 系统环境
* Microsoft Windows 2000 or XP
* Cygwin 1.5.7 或以上版本
* UltraEdit (建议安装 用于改写Unix格式的文本文件)
1.3 YTHT BBS代码概述
YTHT BBS代码中,Cygwin环境下安装涉及到的主要有如下几个部分:
software目录代码概述
主要包括ghthash 、fastcgi 两个库无依赖关系
ythtlib目录代码概述
用于生成YTHT BBS的一个静态库 /home/bbs/bin/libytht.a 无依赖关系
libythtbbs目录代码概述
用于生成YTHT BBS的一个静态库 /home/bbs/bin/libythtbbs.a 无依赖关系
src目录代码概述
BBS 的Telnet登陆部分依赖于 ythtlib 和 libythtbbs
local_utl目录代码概述
BBS 的本地实用工具程序依赖于 ythtlib 和 libythtbbs
nju09目录代码概述
BBS 的Web 登陆部分依赖于 ythtlib 和 libythtbbs
innbbsd目录代码概述
BBS 的转信部分依赖于 ythtlib 和 libythtbbs
yftpd目录代码概述
BBS 的Ftp 服务器部分依赖于 ythtlib 和 libythtbbs
atthttpd目录代码概述
BBS 的Web 附件服务器部分依赖于 ythtlib 和 libythtbbs
smth_sshbbsd目录代码概述
BBS 的ssh 登陆部分依赖于 ythtlib ,libythtbbs 和 src 目录
1.4 关于提问
当您在安装过程中出现无法解决的问题时,请确定您已经详细阅读本手册并按其中叙述的方
法安装的,如果问题仍无法解决,您可以在cnbbs.fbnt.dev或 cn.bbs.admin.installbbs
新闻组上提问。提问时请提供尽量详细的操作步骤和错误提示信息,以便发现错误原因,并
请附上cygcheck的输出信息,例如:
$ cygcheck -svr > /tmp/check
将Cygwin系统信息输出至/tmp/check文件。(会覆盖该文件)
2. 初次安装
2.1 安装及配置Cygwin
请安装cygwin 1.5.7 或以上版本,使用低版本cygwin可能会带来麻烦。
首先在 http://www.cygwin.com/ 位置下载安装程序setup.exe ,此安装程序将引导您完成
后面的Cygwin安装过程。除了Cygwin默认安装的包以外,请至少 安装以下列出的包:
* apache
* autoconf
* automake
* bash
* bison
* ctags
* cvs
* cygipc
* gcc
* gcc-g++
* gd
* gdb
* indent
* libgd-devel
* libgd2
* libiconv
* libtool
* make
* openssh
* patch
* vim
* wget
* zlib
以您将用来启动bbs服务的用户登入Windows。以下均假设Cygwin已经安装完成,并已启动
Cygwin控制台。
$ ln -s /usr/autotool/devel/share/automake-1.7 /usr/share/automake
$ ln -s /usr/include/sys/wait.h /usr/include/wait.h
2.2 获得BBS 代码
$ cd /home
$ mkdir bbs
$ cd bbs
$ export CVSROOT=:pserver:bbsdev@ytht.net:/home/cvs
$ cvs login
(密码是:bbsdev)
$ cvs -z 9 co bbs
$ mv bbs bbssrc
2.3 修改BBS 代码
以下请对照代码,在相应位置进行修改。因为YTHT BBS的代码随时可能发生变化,修改前请
对修改内容的含义进行了解。
版面回收模式bug 的修改
因为Windows环境下文件名不区分大小写,造成 /home/bbs/boards/boardname目录下的文件
.DELETED .deleted .deleteD 冲突,修改目标是 .deleted 改为 .del,.deleteD 改为
.deD
Index: bbs/innbbsd/innd/bbspost.c
===================================================================
RCS file: /home/cvs/bbs/innbbsd/innd/bbspost.c,v
retrieving revision 1.30
diff -u -r1.30 bbspost.c
--- bbs/innbbsd/innd/bbspost.c 19 Mar 2004 02:22:55 -0000 1.30
+++ bbs/innbbsd/innd/bbspost.c 10 Apr 2004 15:57:47 -0000
@@ -431,7 +431,7 @@
sprintf(lockfile, "%s/.dellock", homepath, brdname);
sprintf(index, "%s/boards/%s/.DIR", homepath, brdname);
sprintf(tmpfile, "%s/.tmpfile", homepath, brdname);
- sprintf(delfile, "%s/.deleted", homepath, brdname);
+ sprintf(delfile, "%s/.del", homepath, brdname);
if ((fd = open(lockfile, O_RDWR | O_CREAT | O_APPEND, 0644)) == -1)
return;
Index: bbs/libythtbbs/record.c
===================================================================
RCS file: /home/cvs/bbs/libythtbbs/record.c,v
retrieving revision 1.11
diff -u -r1.11 record.c
--- bbs/libythtbbs/record.c 22 Feb 2004 12:54:58 -0000 1.11
+++ bbs/libythtbbs/record.c 10 Apr 2004 15:57:49 -0000
@@ -40,7 +40,7 @@
char *ptr, *delfname, *tmpfname;
strcpy(tmpfile, filename);
- delfname = ".deleted";
+ delfname = ".del";
tmpfname = ".tmpfile";
if ((ptr = strrchr(tmpfile, '/')) != NULL) {
strcpy(ptr + 1, delfname);
Index: bbs/local_utl/auto_rm_fakedir.c
===================================================================
RCS file: /home/cvs/bbs/local_utl/auto_rm_fakedir.c,v
retrieving revision 1.3
diff -u -r1.3 auto_rm_fakedir.c
--- bbs/local_utl/auto_rm_fakedir.c 29 Jun 2003 04:05:18 -0000 1.3
+++ bbs/local_utl/auto_rm_fakedir.c 10 Apr 2004 15:57:49 -0000
@@ -13,7 +13,7 @@
".DIR",
".JUNK",
".DELETED",
- ".DIGEST", ".deleted", ".deleteD", ".deleteJ", ".", "..", NULL};
+ ".DIGEST", ".del", ".deD", ".deJ", ".", "..", NULL};
int
isfakedir(char *file)
Index: bbs/src/bbs.c
===================================================================
RCS file: /home/cvs/bbs/src/bbs.c,v
retrieving revision 1.535
diff -u -r1.535 bbs.c
--- bbs/src/bbs.c 25 Mar 2004 09:07:02 -0000 1.535
+++ bbs/src/bbs.c 10 Apr 2004 15:58:22 -0000
@@ -2485,7 +2485,7 @@
sprintf(fullpath, "boards/%s/.tmpfile",
currboard);
unlink(fullpath);
- sprintf(fullpath, "boards/%s/.deleted",
+ sprintf(fullpath, "boards/%s/.del",
currboard);
unlink(fullpath);
sprintf(fullpath, "boards/%s/.tmpfilD",
2.4 目录software的安装
$ cd /home/bbs/bbssrc/software
$ make installfcgidev
$ make installghthash
2.5 更改BBS 配置
$ cd /home/bbs/bbssrc/site
$ cp bbsconfig.sample bbsconfig.mybbs
$ cp seclist.txt.sample seclist.mybbs
使用UltraEdit编辑 /home/bbs/bbssrc/site/bbsconfig.mybbs 文件和
/home/bbs/bbssrc/site/seclist.mybbs文件,修改设置使符合贵站需要。
注意bbsconfig文件中,LAST_BBS_UID、LAST_BBS_GID和LAST_BBS_USER请查询
/etc/passwd 文件获得,填入当前登入Windows的用户、也就是您将用来启动 bbs服务的用
户的信息。
bbsconfig文件中,LAST_MAXUSERS、LAST_MAXBOARD、LAST_MAXACTIVE、
LAST_MAXACTIVERUN 属于资源敏感型的数据,请根据贵站实际需要填写,其它内容请参照
/home/bbs/bbssrc/bbsconfig文件中ytht.net的资料进行修改。
2.6 Telnet部分的安装
$ cd /home/bbs/bbssrc
$ ./makedist.sh
$ ./configure --with-site=mybbs
(如果需要评价文章的功能,请使用 ./configure --with-site=mybbs --with-mysql,
mysql需要另外安装)
$ make
$ make install
如果本步骤编译过程中出现错误,请修正错误后执行如下命令重新编译安装:
$ cd /home/bbs/bbssrc
$ make clean
$ make
$ make install
2.7 Telnet部分测试运行及配置
$ ipc-daemon2&
$ /home/bbs/bin/shminit
(如果成功会提示 everything is just fine)
$ /home/bbs/bin/bbsd
然后Telnet登陆本机测试,如果连接成功,请首先注册SYSOP (大小写敏感) 账号,再注册
guest账号。(要保证guest账号是第2个注册)
如果一切顺利,请按如下所示建立bbs 运行所需项目:
* IDScanRecord版 批账号时发信用
* Board版 任命斑竹时发信用
* hell版 地狱(赋予PERM_SPECIAL3 讨论区专用权限)
* prison版 监狱(赋予PERM_SPECIAL3 讨论区专用权限)
* millionaire版 MoneyCenter相关
* /home/bbs/etc/moneyCenter目录 MoneyCenter相关
* RobUnion俱乐部 MoneyCenter相关
* deleterequest俱乐部 文章审查
* allarticle版 所有文章
* /home/bbs/2nd目录 跳蚤市场相关
2.8 Web 部分的安装
本部分安装步骤示例假设您在``更改BBS 配置''一节中对于LAST_CGIPATH和 LAST_HTMPATH
采用如下取值:
* LAST_CGIPATH=/home/httpd/cgi-bin
* LAST_HTMPATH=/home/httpd/html/2001
如果您更改了这两项设置为其它目录,请自行更改下面的步骤。
$ cd /home/bbs/bbssrc/nju09
$ export NOBIG5=1
$ make
$ mkdir -p /home/httpd/cgi-bin
$ mkdir -p /home/httpd/html/2001
$ make install
修改/etc/apache/httpd.conf文件,请参照如下修改方法:
--- /etc/apache/httpd.conf.default 2004-01-21 09:02:50.000000000 +0800
+++ /etc/apache/httpd.conf 2004-04-29 11:39:30.000000000 +0800
@@ -348,7 +348,7 @@
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
-DocumentRoot "/var/www/htdocs"
+DocumentRoot "/home/httpd/html/2001"
#
# Each directory to which Apache has access, can be configured with respect
@@ -373,7 +373,7 @@
#
# This should be changed to whatever you set DocumentRoot to.
#
-<Directory "/var/www/htdocs">
+<Directory "/home/httpd/html/2001">
#
# This may also be "None", "All", or any combination of "Indexes",
@@ -638,13 +638,13 @@
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
- ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
+ ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
- <Directory "/var/www/cgi-bin">
+ <Directory "/home/httpd/cgi-bin">
AllowOverride None
Options None
Order allow,deny
@@ -979,6 +979,17 @@
# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
#</Location>
+RewriteEngine on
+RewriteRule ^/Ytht.Net(.*)/bbschat(.*) /cgi-bin/www/bbschat [PT]
+RewriteRule ^/Ytht.Net(.*)$ /cgi-bin/www [PT]
+RewriteRule ^/$ /cgi-bin/www [PT]
+<Location /cgi-bin/www>
+ SetHandler cgi-script
+</Location>
+<Location /cgi-bin/www/bbschat>
+ SetHandler cgi-script
+</Location>
+
### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
测试Web 部分之前,请确保Telnet部分已启动,并且已经有用户登陆上去,见 ``Telnet部
分测试运行及配置''一节。然后启动httpd:
$ /usr/sbin/httpd
如果没有异常,请用浏览器访问 http://localhost/,可以看到蔬菜图。
2.9 转信部分的安装
$ cd /home/bbs/bbssrc/innbbsd
$ make cygwin
$ make install
其它配置请参考 http://cn-bbs.org/的说明。
2.10 Ftp 部分的安装
$ cd /home/bbs/bbssrc/yftpd
$ make
$ make install
测试Ftp 部分:
$ /home/bbs/ftphome/yftpd
2.11 atthttpd部分的安装
$ cd /home/bbs/bbssrc/atthttpd
$ make
$ cp *.exe /home/bbs/bin
测试atthttpd部分:
$ /home/bbs/bin/atthttpd
2.12 sshbbsd部分的安装
首先设定环境变量,选择安装sshbbsd 时使用的autotools 版本,如果希望此设定在下次启
动cygwin控制台时仍然有效,可以把它写入 /.bash_profile 配置文件,并重新启动
cygwin控制台。
$ export WANT_AUTOCONF_VER=2.59
$ export WANT_AUTOMAKE_VER=1.7.9
安装cygwin的gmp 4.1.2的二进制包及其源码包,并按以下步骤重新编译gmp:首先修改
/usr/src/gmp-4.1.2-1.sh
--- gmp-4.1.2-1.sh.old 2004-06-08 23:33:52.000000000 +0800
+++ gmp-4.1.2-1.sh 2004-06-08 23:35:46.000000000 +0800
@@ -64,7 +64,7 @@
target=i686-pc-cygwin
prefix=/usr
sysconfdir=/etc
-MY_CFLAGS="-O2 -g -fomit-frame-pointer -march=i486 -mcpu=i686"
+MY_CFLAGS="-O2 -fomit-frame-pointer -march=i486 -mcpu=i686"
MY_LDFLAGS=
mkdirs() {
执行如下命令编译gmp:
$ cd /usr/src
$ ./gmp-4.1.2-1.sh all
完成后,把在/usr/src目录生成的gmp-4.1.2-1.tar.bz2 压缩包中的文件
usr/bin/cyggmp-3.dll复制到/bin目录,并覆盖原文件。
如果当前使用的windows 用户的cygwin家目录与bbs 安装目录不同,请将bbs 安装目录下的
bin 目录符号链接到家目录中。例如,当前windows用户Administrator 家目录为
/home/Administrator,如果bbs安装在/home/bbs 目录,则建立如下符号链接:
$ ln -s /home/bbs/bin /home/Administrator
下面开始sshbbsd的编译安装:
$ cd /home/bbs/bbssrc/smth-sshbbsd
$ ./makedist.sh
$ ./configure
$ make
$ make generate-host-key
$ make update
测试sshbbsd部分:
$ /home/bbs/bin/sshbbsd
2.13 Cron的配置
$ cp /home/bbs/bbssrc/site/crontab.sample /var/cron/tabs
依照贵站具体情况改写/var/cron/tabs/crontab.sample 文件,然后将文件改名为用来运行
bbs服务的Windows用户名。
测试:
$ /usr/sbin/cron
2.14 启动BBS 服务
如果按照``初次安装''部分操作,bbs 服务已经启动了。以后要启动bbs 服务,请按如下步
骤操作:
$ ipc-daemon2&
$ /home/bbs/bin/shminit
$ /home/bbs/bin/bbsd
$ /home/bbs/bin/bbslogd&
$ /usr/sbin/cron
$ /usr/sbin/httpd
$ /home/bbs/innd/innbbsd
$ /home/bbs/ftphome/yftpd
使用如下命令可以察看当前进程情况:
$ ps
3. 修改代码后重新安装
3.1 修改代码的注意事项
做任何修改前请务必备份关键数据。
修改某目录代码后,需要在该目录重新编译安装。如果修改了ythtlib 目录或libythtbbs目
录的代码,需要在所有目录重新编译安装;如果修改了src 目录的代码,还需要在
smth-sshbbsd目录重新编译安装(如果安装了sshbbsd服务)。
如果修改了共享内存相关的数据结构,需要重新启动所有bbs服务。
不要在/home/bbs/bbssrc目录make install,会破坏现有数据。
3.2 ythtlib目录的修改
$ cd /home/bbs/bbssrc/ythtlib
$ make clean
$ make
$ make install
3.3 libythtbbs目录的修改
$ cd /home/bbs/bbssrc/libythtbbs
$ make clean
$ make
$ make install
3.4 src目录的修改
$ cd /home/bbs/bbssrc/src
$ make clean
$ make
$ install --backup=t *.exe /home/bbs/bin
3.5 local_utl目录的修改
$ cd /home/bbs/bbssrc/local_utl
$ make clean
$ make depend
$ make
$ make install
3.6 nju09目录的修改
$ cd /home/bbs/bbssrc/nju09
$ export NOBIG5=1
$ make clean
$ make
$ make install
3.7 innbbsd目录的修改
$ cd /home/bbs/bbssrc/innbbsd
$ make clean
$ make cygwin
$ make install
3.8 yftpd目录的修改
$ cd /home/bbs/bbssrc/yftpd
$ make clean
$ make
$ install --backup=t *.exe /home/bbs/ftphome
3.9 atthttpd目录的修改
$ cd /home/bbs/bbssrc/atthttpd
$ make clean
$ make
$ install --backup=t *.exe /home/bbs/bin
3.10 smth-sshbbsd目录的修改
$ cd /home/bbs/bbssrc/smth-sshbbsd
$ make clean
$ make
$ make update
--
※ 来源:.派派 BBS sopai.net.[FROM: 211.160.20.226]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店