Tuesday, July 11, 2006

Bugzilla on FreeBSD

起先,我试着在RedHat的Fodera Core 3上装Bugzilla,其中的perl-GD和perl-Templete总过不去,其中最可能的原因就是RedHat所带的gd库和这两个perl所要求的gd不兼容。其间用时约一个星期。

于是我试着找SuSE安装盘,但是SuSE现在只发布DVD版了,我所有的机器只有CD-ROM,所以就试着用它的mini安装盘,用FTP的方式安装,大约试了两个星期,未能成功。

那么我想也许slackware可能不错,安装过程倒是不难,但安装之后起动时,在grub>的提示符下,有好几个参数基本上属于高高专业级的人才可能明白,于是只好放弃。用时两天。

最后我决定用FreeBSD 5.3,安装比较简单,注意,一定要选ports,不然的话安装MySQL呀,Apache呀等等会很难。起动也没我什么麻烦,三个麻烦,记录如下。

一是如何让root用户通过ssh登录。

解决方案是编辑/etc/ssh/sshd_config文件,找到了这个关键,其余就简单了,就不多说了。

二是MySQL的安装所选的数据库存储目录是/var/db/mysql,FreeBSD的默认安装只给/var文件系统250MB左右,所以必须要指定一个/usr的目录,比如说/usr/home/msyql/dbs。这里要注意的是,这个目录要先创建好,并把权限设成777,安装后再改得安全点就可以了。

按MySQL安装的说明书,用指定DB_DIR参数的方法是不行的,我用修改Makefile的方法通过了,应该说这种方法不规范,不过它WORK呀。具体办法就是在Makefile中把DB_DIR改成我所需要的目录。

三是Apache的配置文件和bugzilla目录下的所有关系。其关键如下,

#cd /usr/local/www/data-dist/bugzilla
#find ./ -type d -exec chown www:www {} \; //设置web server属主对该目录下所有目录的权限
#find ./ -type f -exec chown www:www {} \; //设置web server属主对该目录下所有文件的权限

在我的这次安装中Apache的用户是www,用户组也是www,检查httpd.conf文件便知。

在httpd.conf文件中,加入,

AllowOverride Limit
Options ExecCGI

去掉#AddHandler cgi-script .cgi句首的#。

还有,记住在/etc/rc.conf中激活apache和sendmail。

apache_enable="YES"
sendmail_enable="YES"

嗯,就这么着,Bugzilla工作了,用时五天。

No comments: