- 主题:[原创]freebsd下kbs的安装小记
文章写于Tue Mar 13 17:08:02 2007 from bbs.szu.edu.cn
从06年7月开始,我一直在freebsd下搞kbs,几乎各类技术问题,人品问题都遇过。这篇小记,是以我不成熟的见解,探索出在freebsd下装kbs的方法笔记,应该有不正确的地方,欢迎指正与探讨。如今大四了快滚蛋了,是时候该留篇东西给以后的师弟,好让他们少走弯路。
1、在freebsd下编译kbs
研究了很久了。
cvs了代码后
automake.autoconf.autoheader都不应该用原包的。
否则可能遇上各种奇怪问题。
安装gnu版本才能避免兼容性问题。
在
/usr/ports/devel/gnu-autoconf(新的ports里取消了所有gnu-tools了,装普通的也一样)
/usr/ports/devel/automake
安装后。会在
/usr/gnu-autotools/bin(装不了gnu-tools,就在/usr/local/bin下)
/usr/local/libexec/automake19(这个路径和安装的版本有关)
/usr/local/libexec/autoconf259(同上)
所以需要把上面这个路径添加path 到.cshrc和.profile
(其实freebsd最明显的兼容问题就是,autogen.sh里的autotools都是不带版本号,而freebsd的都带版本号,所以要在bin目录下把所有带版本号的autotools可执行文件ln -s为不带版本号的;假如生成的makefile有奇怪的语法问题,多半是autotools版本不兼容,换个别的版本试试看吧)
然后把
/usr/local/share/aclocal/libtool.m4
复制到ac-dir下,否则会提示
configure.ac:229: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
什么是ac-dir?
#aclocal --print-ac-dir后
象我的是
/usr/local/gnu-autotools/share/aclocal
把libtool.m4复制过来就好了。
好了,以上工作都做好后,就可以./autogen.sh了,正常来说,不会有特别的提示信息。
.
.
2、port安装php与apache2的问题
port乱装的话有很多问题。必须按顺序来装
config调错了也不要紧,在目录下make config就可以重新调了。
先装apache20
再装php
否则php会帮你装一个apache13
装php的时候记得选上那个apache_moudle
之后当然要装个php5-extensions,必须的。
php5在/usr/ports/lang/php5
apache20 在/usr/ports/www/apache20
php5-extensions 在/usr/ports/lang/php5-extensions
装好后。
php目录在/usr/local/include/php(其实configue的时候不打php目录是可以自动寻找的)
www目录在/usr/local/www/
其中
php的ini文件都放在/usr/local/etc下
apache的conf文件在/usr/local/etc/apache下
apachectl在/usr/local/sbin下
记住以上路径后,就可以./configure了,记得要把site文件里的BBSGID和BBSUID修改为系统的数值。php.ini和http.conf的修改请参见dev.kcn.cn的通用安装说明。
不过修改php.ini的时候,最好不要加入extension_dir,否则按照这篇小记装了后是用不了的。
然后是make 和make install ,make install-home
正常来说,是不会出现代码错误,但是有时候有难免的情况,例如我的是amd64的freebsd
他就没认出来,导致在make miscd.c时出错,这时候就要发挥主观能动性去修改代码了。
3、后续设置与WEB问题
make 完后,应该链接libphpbbslib.so
先找到php运行库的目录,一般在/usr/local/lib/php下,某个数字名的目录里,具体哪个就要发挥主观能动性了,进入确定好的目录,连接libphpbbslibs.so,用以下命令
ln -s {$web目录}/libexec/bbs/libphpbbslib.so
最好把整个目录都添加可运行运行属性。
连接完毕后,
去把bbshome目录的用户改为bbs,然后在bbs的bin里执行
./miscd daemon
./bbsd
然后telnet 本机,先注册SYSOP(注意,是大写的),和guest
然后修改/etc/rc.conf
加入apache_enable=YES
然后执行 /usr/local/etc/rc.d/apache2.sh start
之后就应该用浏览器上WEB来看是否显示正常了,假如匿名登录后能看到左边的侧栏,恭喜你,安装成功了。
这个时候一般不会出错的了,假如有问题,可以去看看/var/log/httpd-error.log,或者直接打php -v看看。
假如是提示与bbs的功能相关的函数没有定义,就应该先在web目录下新建个info.php(问题解决后,记得删除这个文件),内容是
<?phpinfo()?>
然后在web下打开看看,找找看有没有kbs_enable,没有的话,应该检查libphpbbslib是否没有起作用;有kbs_enable,依然提示bbs功能函数没有定义的话,这就是编译的源码有问题了,一般正常cvs 的代码都不会有这些问题。
匿名登陆时提示登录过于频繁?先看看是不是没有在telnet下注册guest这个用户吧。
--
修改:PowerRC FROM 58.60.63.*
FROM 58.60.63.*
摸一下。。。我也大四了,轻轻的我走了,没留下一丝云彩。。。
【 在 PowerRC (Because I choose to.) 的大作中提到: 】
: 文章写于Tue Mar 13 17:08:02 2007 from bbs.szu.edu.cn
: 从06年7月开始,我一直在freebsd下搞kbs,几乎各类技术问题,人品问题都遇过。这篇小记,是以我不成熟的见解,探索出在freebsd下装kbs的方法笔记,应该有不正确的地方,欢迎指正与探讨。如今大四了快滚蛋了,是时候该留篇东西给以后的师弟,好让他们少走弯路。
: 1、在freebsd下编译kbs
: ...................
--
FROM 221.192.237.*
真小...
【 在 foxban (窝找到了,努力工作ing) 的大作中提到: 】
: 摸一下。。。我也大四了,轻轻的我走了,没留下一丝云彩。。。
--
FROM 159.226.37.*
年轻啊
【 在 foxban (窝找到了,努力工作ing) 的大作中提到: 】
: 摸一下。。。我也大四了,轻轻的我走了,没留下一丝云彩。。。
--
FROM 211.99.222.*
恩,比我那个详细多了。。。啧啧,我也是06年7月份开始在freebsd下弄的
【 在 PowerRC (Because I choose to.) 的大作中提到: 】
: 文章写于Tue Mar 13 17:08:02 2007 from bbs.szu.edu.cn
: 从06年7月开始,我一直在freebsd下搞kbs,几乎各类技术问题,人品问题都遇过。这篇小记,是以我不成熟的见解,探索出在freebsd下装kbs的方法笔记,应该有不正确的地方,欢迎指正与探讨。如今大四了快滚蛋了,是时候该留篇东西给以后的师弟,好让他们少走弯路。
: 1、在freebsd下编译kbs
: ...................
--
FROM 211.99.222.*