BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / bbs-man-dev / #4930同步于 1 周前
BBSMan_Dev机器人发帖

KBS2.0+WWW在Cygwin上的安装经验总结

Tsinghoo.
1 周前镜像同步1 回复
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH @@在原来安装向导的基础上添加了在安装WWW支持时的种种问题的解决方法,按 @@下边的向导我已经安装成功了(就是WWW的访问还有些问题)。 本文由 KBS 开发组负责维护,介绍了 kbs_bbs 在 cygwin 上的编译和安装。 0. ChangeLog 2003.11.27 flyriver v1.0 初始版本 1. 需要的软件 cygwin > 1.5.3 必须 系统中必须已经安装 cygipc 的库 libesmtp > 0.8 必须 编译时必须加上 --disable-pthreads 选项 autoconf-2.57 可选 automake-1.6.X 可选 libtool-1.4.3 可选 apache_1.3.X 可选 选择 web 界面支持才需要 or apache2 php >= 4.3.0 可选 选择 web 界面支持才需要 libxml2 可选 选择 web 界面支持才需要 libiconv 可选 选择 web 界面支持才需要 zlib 可选 选择 web 界面支持才需要 openssl 可选 选择 pop3d 支持 pop3s 才需要 gmp-4.1.2 可选 选择 ssh 方式支持才需要 注意:其中 libesmtp 和 gmp 在 cygwin 的安装包并不包含,而且在 cygwin 上的 编译和安装有些难度,建议直接安装 ftp://dev.kcn.cn 上专门为 cygwin 编译的 二进制包 2. 安装 本节介绍 kbs_bbs 的 telnet/ssh/web 方式在 cygwin 的安装。 2.1 一些约定 $(BBSHOME) 表示 bbs 的安装目录,缺省为 /home/bbs,在本文中指定为 /usr/local/bbs $(WWWHOME) 表示 apache 的安装目录,在本文中指定为 /usr/local/www $(PHPHOME) 表示 php 的安装目录,在本文中按缺省的 /usr/local $(SRCDIR) 表示存放 kbsbbs、apache 和 php 源代码的目录,可自己设 定一个,例如放在自己 home 目录的某个子目录下 2.2 安装 libesmtp 和 gmp 从 ftp://cvs.kcn.cn 下载 libesmtp-cygwin.tar.gz 和 gmp-cygwin.tar.gz 二进制包,可放在 $(SRCDIR) 目录下,使用如下命令进行安装: tar zxPf libesmtp-cygwin.tar.gz tar zxPf gmp-cygwin.tar.gz 注意:libesmtp-cygwin.tar.gz 和 gmp-cygwin.tar.gz 应替换为实际的文件名。 2.3 下载 kbsbbs-snapshot、apache 和 php 的代码包 目前只有 kbsbbs-snapshot 版本才支持 cygwin,其他更老的版本都不支持,这 一点要特别注意。将 kbsbbs-snapshot、apache 和 php 的代码包放在 $(SRCDIR) 目录,然后分别解开。 2.4 预安装 apache 和 php 首先切换目录到 $(SRCDIR),进入 apache 的源代码目录。为了节省篇幅,下面 直接以命令表示。 cd apache_1.3.X ./configure --prefix=/usr/local/www cd ../php-4.3.X ./configure --with-apache=../apache_1.3.X make make install cd ../apache_1.3.X ./configure --prefix=/usr/local/www \ --activate-module=src/modules/php4/libphp4.a make ( 当执行make时可能会出现以下错误: htpasswd.c:145: error: conflicting types for 'getline' /usr/include/sys/stdio.h:31: error: previous declaration of 'getline' was here 此时执行以下命令即可: perl -pi -e 's|getline|my_getline|' src/support/*.c ) make install 2.5 安装 kbsbbs 同样切换到 $(SRCDIR) 目录,进入 kbsbbs 的源代码目录。编辑 site/devel.h 文件,加入下面这一行: #define BUILD_PHP_EXTENSION 1 /*将php lib编成php extension */ 然后执行下面的一系列命令: ./configure --prefix=/usr/local/bbs --enable-site=devel \ --with-www=/usr/local/www --with-php=/usr/local/include/php \ --without-mysql --enable-ssh make make install make install-home 2.6 将 phpbbslib 放入 php 同样切换到 $(SRCDIR) 目录,进入 php 的源代码目录。 mkdir ext/kbs_bbs 然后将 kbsbbs 源代码目录 bbs2www/phplib/ 下的 config.m4、php_kbs_bbs.h和 phpbbslib.c 三个文件复制到 ext/kbs_bbs 目录,接着修改config.m4文件,保证要有这样一行: PHP_ADD_LIBRARY_WITH_PATH(phpbbslib,$WWWSRCDIR/phplib,KBS_BBS_SHARED_LIBADD) 并替换所有@WWWSRCDIR@为$(KBS-BBS-SRC)里bbs2www目录的绝对路径 然后执行: ./buildconf --force 2.7 再次编译安装 apache 和 php 先修改\apache_1.3.34\src\modules\php4\libphp4.module中与kbs相关的三个lib路径为 /usr/local/bbs/lib,并保证-lphpbbslib在这三个kbs相关lib之前,最后再在-lsystem 之后加上 -L/usr/local/lib -lesmtp。 接下来重复 2.4 节中的步骤即可,但 php 的 configure 命令应改为: ./configure --disable-debug -enable-track-vars \ --with-apache=../apache_1.3.X --enable-mime-magic \ --with-zlib-dir --enable-kbs_bbs --with-dom --with-iconv 如果一切顺利,至此 kbsbbs、apache 和 php 都已经安装完毕。 3. 运行之前的配置 本节主要说明 ssh 方式和 web 方式的配置。 3.1 ssh 方式 请参考 doc/sshbbsd-howto 文件。该文件中提到的 random_seed、identity 和 identity.pub 文件可预先在 Linux 或 FreeBSD 下生成,然后复制到 cygwin 里面 的相应目录。 3.2 web 方式 apache 的配置文件为 /usr/local/www/conf/httpd.conf,编辑该文件,加入 AddType application/x-httpd-php .php 修改 Port 参数为 80,修改 User 和 Group 参数为你自己的用户名和所属组。 可参考 /etc/passwd 和 /etc/group 文件。 如果你使用的是 snapshot: 将 kbsbbs 源代码目录 bbs2www/html 下的文件复制到 /usr/local/www/htdocs。 如果你使用的是 cvs: 在 /usr/local/www 目录下 checkout www2 模块,并将 www2 目录改名为 htdocs。 php 的配置文件可以从 php 源代码目录得到,将 php.ini-dist 复制为 /usr/local/lib/php.ini,然后编辑 php.ini 文件,将 short_open_tag 的值修改为Off 即可。 4. 运行 4.1 运行 kbsbbs ipc-daemon2 & cd /usr/local/bbs/bin ./miscd daemon ./bbslogd ./bbsd -p 23 ./sshbbsd 然后 telnet localhost,注册 SYSOP 和 guest 两个帐号。 4.2 运行 apache /usr/local/www/bin/apachectl start 新首页 KBS Trac SMTH 开发组改名及版权变更 原水木清华 BBS 开发组致力于开发一个高性能的,稳定的,基于 telnet 和 Web 界面的电子公告牌系统。近来由于一些变更,为了避免不必要的名称纠纷,从4月20日起改名为 KBS 开发组。KBS 全称为 The K Board System,仍将致力于电子公告牌系统及其他一些网络相关服务程序的开发。 2005/04/20 版权变更说明:KBS 系统的 WWW 部分(源码 kbs_bbs 模块中 bbs2www 目录下不包括 wap 目录相关源代码及文档)自此声明之日起之后的版本均不再遵循 GPL 版权。版权归 KBS 开发组所有,除个人学习使用外,使用该部分代码均需得到 KBS 开发组的授权。 2005/05/08 版权变更说明:KBS 系统的 libBBS,libsystem 部分(源码 kbs_bbs 模块中 libsystem,libBBS 目录相关源代码),WWW 部分中的 wap 部分自此声明之日起之后的版本均不再遵循 GPL 版权。版权归 KBS 开发组所有,除个人学习使用外,使用该部分代码均需得到 KBS 开发组的授权。在声明之日前获得过 WWW 部分授权的站点自动获得 libBBS,libsystem 部分的授权。 开发组概况 目前成员: atppp czz fancyrabbit flyriver KCN kxn pig2532 stiger windinsn 开发组主页:dev.kcn.cn 讨论区:水木社区 BBSMan_Dev 版 代码下载 bbs 模块: snapshot 或者 SVN 方式下载 wForum 模块: snapshot 您现在看到的网页专为 Firefox 1.0+ 优化;IE 6 可以浏览。其余浏览器不推荐。 能屈能伸的上帝
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
oicu.机器人#1 · 1 周前
转信站: BYR!news.byr.edu.cn!news.cn-bbs.org!news.newytht.net!news.newsmth.net!N : “目前只有 kbsbbs-snapshot 版本才支持 cygwin,其他更老的版本都不支持,这 : 一点要特别注意。” 这个没有一定吧?以前用cvs的都能安装。也没你说的menu.ini的问题。 : cd ../apache_1.3.X : ./configure --prefix=/usr/local/www \ : --activate-module=src/modules/php4/libphp4.a : make : ( : 当执行make时可能会出现以下错误: : htpasswd.c:145: error: conflicting types for 'getline' : /usr/include/sys/stdio.h:31: error: previous declaration of 'getline' was here cygwin下对apache+php版本是有些挑剔的,我换过几次版本,现在用 apache_1.3.39+php-4.4.7没这个问题。 【 在 Tsinghoo (青虎) 的大作中提到: 】 : @@在原来安装向导的基础上添加了在安装WWW支持时的种种问题的解决方法,按 : @@下边的向导我已经安装成功了(就是WWW的访问还有些问题)。 : 本文由 KBS 开发组负责维护,介绍了 kbs_bbs 在 cygwin 上的编译和安装。 : ...................