Ubuntu14.04安装Bugzilla

来源:互联网 发布:java replace的原理 编辑:程序博客网 时间:2024/06/15 16:07

最近因为项目需要,需要使用Bugzilla来管理代码缺陷,于是尝试在我的Ubuntu14.04系统上安装Bugzilla。

安装的过程一波三折,开始时跟着一些博客基本完成了全部操作,然而最后访问主页的时候报404错误,而apache服务器是启动的。这个问题困扰了很久。

后来找到bugzilla的官方教程,跟着一步步做下来终于成功了。相信很多朋友有同样的需求,就把我的一些经验写下来希望能对大家有一些帮助。

为了尊重原教程,我按照原教程的标题进行介绍。

1、硬件准备

准备好一台电脑,虽然像是废话,不过确实是教程里提到的……

2、安装操作系统

在这里自然就是Ubuntu14.04咯

3、转换成root用户

后续的很多命令都需要root权限,因此在这里转换成root身份比较方便:

sudo su

当然啦,如果不习惯这样的话,也可以在后面执行命令提示权限不足时在命令前面加上sudo

4、前提准备

Bugzilla是用Perl语言开发的,因此如果想安装Bugzilla必须要提前准备Perl环境:

apt-get install git nanoapt-get install apache2 mysql-server libappconfig-perl libdate-calc-perl libtemplate-perl libmime-perl build-essential libdatetime-timezone-perl libdatetime-perl libemail-sender-perl libemail-mime-perl libemail-mime-modifier-perl libdbi-perl libdbd-mysql-perl libcgi-pm-perl libmath-random-isaac-perl libmath-random-isaac-xs-perl apache2-mpm-prefork libapache2-mod-perl2 libapache2-mod-perl2-dev libchart-perl libxml-perl libxml-twig-perl perlmagick libgd-graph-perl libtemplate-plugin-gd-perl libsoap-lite-perl libhtml-scrubber-perl libjson-rpc-perl libdaemon-generic-perl libtheschwartz-perl libtest-taint-perl libauthen-radius-perl libfile-slurp-perl libencode-detect-perl libmodule-build-perl libnet-ldap-perl libauthen-sasl-perl libtemplate-perl-doc libfile-mimeinfo-perl libhtml-formattext-withlinks-perl libfile-which-perl libgd-dev libmysqlclient-dev lynx-cur graphviz python-sphinx rst2pdf

注意,这是官网教程的原话,其中第一句是安装一个文本阅读器nano,这一步不重要,只要你的机器有文本阅读器就好,比如gedit和vim等都可以。

而后面的一句话是一个安装命令:apt-get install ,安装的前两项是apache2服务器和mysql数据库,因为Bugzilla需要使用数据库来保存bug信息,如果之前已经安装过这两项了就可以跳过直接安装后面的。

5、下载Bugzilla

官方给的方法是从github 中的Bugzilla项目下载压缩文件然后解压到  /var/www/html  目录

命令如下:

cd /var/www/htmlgit clone --branch release-X.X-stable https://github.com/bugzilla/bugzilla bugzilla

当然自己下载压缩包然后解压到指定目录也可以,下载链接:http://www.bugzilla.org/

需要注意的是解压目录必须是 /var/www/html  否则就会访问不到

6、配置MySQL


 第一步:编辑配置文件:my.cnf

nano /etc/mysql/my.cnf
还是之前说的那样,使用什么文本阅读器都可以,当然我习惯使用gedit(使用windows留下的喜欢图形化的后遗症……),如果权限不足就加上sudo

然后执行两步操作:

1、在文件的第52行把配置改成 max_allowed_packet=100M

2、在第32行插入这句话:ft_min_word_len=2

我在自己配置的时候配置了第二步发现后面在启动mysql的时候会报错:未知的变量:ft_min_word_len,因此我没有执行第二步,目前还没有发现有什么影响。


接着执行如下命令:

mysql -u root -p -e "GRANT ALL PRIVILEGES ON bugs.* TO bugs@localhost IDENTIFIED BY '$db_pass'"

这里是创建一个新的用户叫做bugs,然后设置密码,把$db_pass这几个字符替换成你希望的密码,比如我设置成了bugs

这时候重启mysql:

service mysql restart

如果报错,提示需要修改一些配置信息,则执行第9步

7、配置Apache

执行:

nano /etc/apache2/sites-available/bugzilla.conf
还是之前的说法,使用任何文本编辑器都可以

这个文件应该是空的,然后将以下代码粘贴进去:

ServerName localhost<Directory /var/www/html/bugzilla>  AddHandler cgi-script .cgi  Options +ExecCGI  DirectoryIndex index.cgi index.html  AllowOverride All</Directory>

之后执行如下命令:

a2ensite bugzillaa2enmod cgi headers expiresservice apache2 restart

如果有报错就按照报错信息操作应该就可以了,实在忘了报错信息是什么,也忘了截图……

8、检查

因为Bugzilla的运行需要依赖许多Perl模块,如果没安装的话就无法运行,项目提供了检测哪些所需模块还未安装的工具,首先进入bugzilla目录下:

cd /var/www/html/bugzilla

然后执行

./checksetup.pl

如果提示某些模块没有安装的话,就用报错信息中提供的命令下载相关模块即可

9、编辑localconfig文件

nano localconfig

第29行$webservergroup的值设置为:www-data

第67行$db_pass的值设置为之前第6步创建bugs用户时设置的密码

10、再一次检查

执行如下命令:

./checksetup.pl

如果正确安装了的话应该会提示输入邮箱、用户名和密码,这里输入的用户名就被设置为administrator

11、测试是否安装成功

执行如下命令:

./testserver.pl http://localhost/bugzilla

如果成功的话提示信息是这样的:

12、通过网页来访问

使用如下路径进行访问:

http://localhost/bugzilla

如果成功的话应该会显示Bugzilla的主页:

注意:之前我一直用的是火狐浏览器,发现访问时总是显示这样的页面:

我也不知道为什么,可能是对火狐支持不好……

之后换用chrome,终于成功!


最后,附上官方教程地址:

http://bugzilla.readthedocs.io/en/latest/installing/quick-start.html

0 0
原创粉丝点击