Ubuntu 服务器_安装篇

安装 apache2

sudo apt-get install apache2

安装 mysql

sudo apt-get install MySQL-server

安装时要输入密码,这是你进入 MySQL 的管理员密码,建议输入 1234。

然后用上述命令行来登录,进入命令 mysql -uroot -p密码

登录成功显示版本信息和 mysql> ,OK!

安装 sendmail

sudo apt-get install sendmail

安装bugzilla

sudo wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.4.7.tar.gz
sudo tar -xvf bugzilla-4.4.7.tar.gz
sudo mv bugzilla-4.4.7 /var/www/bugzilla   

                                         //apache web 根目录

安装perl相关模块

sudo –s

进入到 bugzilla 目录:

cd /var/www/bugzilla

在命令行输入:

./checksetup.pl

命令检查一下还有哪些 perl 模块没有安装,因为系统安装 apache 和 mysql 时已安装一部分:

Checking perl modules…

Checking forCGI.pm (v3.33)ok: found v3.49

Checking forTimeDate (v2.21)ok: found v2.24

Checking forPathTools (v0.84)ok: found v3.31

Checking forDBI (v1.41)ok: found v1.611

Checking forTemplate-Toolkit (v2.15)ok: found v2.22

Checking forEmail-Send (v2.00)ok: found v2.198

Checking forEmail-MIME (v1.861)ok: found v1.903

Checking for Email-MIME-Modifier (v1.442) ok: found v1.903

Checking available perl DBD modules…

Checking forDBD-Pg (v1.45)not found

Checking forDBD-mysql (v4.00)ok: found v4.012

Checking forDBD-Oracle (v1.19)not found

第一组要全装,第二组就看你装的什么数据库了,这里装的是 mysql 就选 DBD-mysql,not

found 表示没有安装。

运行./checksetup.pl 后,系统会在屏幕下面提示如下命名,用于安装所有缺少的组模块:

/usr/bin/perl install-module.pl --all

该命名会安装所有缺少的包。

Ubuntu 服务器_配置篇

apache2 配置

修改/etc/apache2/目录下面 apache 的配置文件 apache2.conf

gedit /etc/apache2/apache2.conf

找到 ServerRoot,修改 ServerRoot 为 bugzilla 所在的目录“/var/www”即如下:(加#注释掉原来的,添加一行):

#ServerRoot "/etc/apache2"
ServerRoot "/var/www"

修改 apache的配置文件 apache2.conf: 设置 apache 访问 bugzilla 的用户及用户组,本安装中将用户及用户组都设置为 www-data:如下:

#User ${APACHE_RUN_USER}
#Group ${APACHE_RUN_GROUP}
User www-data
Groupwww-data

修改了 apache的路径 ServerRoot 后,手动在如下字段前加入路径

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
# Include ports listing
Include /etc/apache2/ports.conf
# Include generic snippets of statements
Include /etc/apache2/conf.d/
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

在 apache.conf文件末尾添加如下 bugzilla 信息:

<Directory "/var/www/bugzilla">
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI +FollowSymLinks
DirectoryIndex index.cgi
AllowOverride None
Order allow,deny
Allow from all
</Directory>

修改 www-data 对 bugzilla 的访问权限

chown-R www-data:www-data /var/www/bugzilla

最后,重启 apache2 服务

/etc/init.d/apache2restart

mysql 配置

登录 mysql,并创建数据库 bugs

mysql –p
  mysql> create databasebugs;       //创建一个数据库bugs

 mysql> create userbugs@localhost;         //创建一个用户bugs

  mysql> grant all on bugs.* to bugs@'localhost';   //为用户bugs授权

  mysql>  flush privileges;           //刷新用户权限

  mysql>  quit;         //退出数据库

Bugzilla 配置

先运行 bugzilla 目录下的 checksetup.pl

cd /var/www/bugzilla
./checksetup.pl

自动生成 loacalconfig 文件(原本 bugzilla 目录里没有),打开文件 localconfig(#geditlocalconfig),配置如下:

$webservergroup = 'www-data';
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = '密码';//注意:上面 Mysql安装的时候写的是 1234,这里就写成 1234
$index_html = 1;

其它不变,到此为止,配置文件都设置完成。

运行验证

重启 apache2

/etc/init.d/apache2restart

重启 mysql

/etc/init.d/mysqlrestart

重新运 checksetup.pl

./checksetup.pl

bugzilla 的预编译和生成相应的配置信息等,如下提示:

Precompiling templates…done.

Fixing file permissions…

Initializing “Dependency Tree Changes” email_setting …

Marking closed bug statuses as such…

Now filling the ‘status_workflow’ table with valid bug status transitions…

Adding foreign key: attachments.submitter_id -profiles.userid…

Adding foreign key: bugs_actigeditty.who -profiles.userid…

Adding foreign key: bugs_fulltext.bug_id -bugs.bug_id…

·

并且会提示输入以下信息:

Enter the e-mail address of the administrator:管理员登陆邮箱 xxx@xxx.com

Enter the real name of the administrator:用户名

Enter a password for the administrator account:password

Please retype the password to verify: password

根据以上提示输入 bugzilla 管理员的相关信息

成功后,在浏览器输入:http://服务器 IP/bugzilla 会出现 bugzilla页面

Bugzilla 邮件收发配置

默认不改动任何设置,就可以由 bugzilla-daemon用自身的邮件系统发邮件。

由于,默认的邮件收发系统发送速度较慢,而且很多邮箱系统会将 Bugzilla发的邮件识别为

垃圾邮件而拦截。

所以,我们往往采用公司内部邮箱域名,建立一个真实邮箱用于 bugzilla邮件的发送,这样

就需要设置 SMTP方式发送邮件。

方法如下:

页面邮箱参数配置

登陆管理员主页面 Administration->配置参数Parameters->Email

在配置相应参数,例如:

mail_delivery_method:SMTP
mailfrom:bug@163.com
use_mailer_queue:on
smtpserver:smtp.exmail.163.com
smtp_username:bug@163.com
smtp_password:123456                                 //必须填写真实的邮箱名和密码

这样电脑安装的邮箱(Outlook、Foxmail)就不会把 bugzilla 发的邮件当做垃圾邮件了。

Bugzilla 页面参数 Parameters 配置

打开 http://服务器/bugzilla

需要用管理员账号登陆主页面 Administration->配置参数Parameters中,配置一些核心参数,才能正常使用:

  • Required Settings
  1. Urlbase

    配置访问 Bugzilla 的网域名

    如:http://192.168.0.2/bugzilla/

  2. Cookiepath

    配置 Bugzilla 的 cookie 路径

    如:/bugzilla/

  • General
  1. Maintainer

    默认维护者的电子邮件地址

    如果用默认邮件收发系统,就不用设置。

    如果采用 SMTP 方式收发邮件,就参考下面 Email 邮箱设置中使用的邮箱填写

    如:bug@jlinksz.com

  2. upgrade_notification

    是否更新,设置为:disabled

  • User Authentication
  1. Requirelogin

是否允许匿名者登录,设置为:on 表示登录一定要输入用户名和密码

  • Bug Change Policies
  1. commentonchange_resolution

软件提交解决方案时必须输入描述信息,设置为:on

  • Email

Email 设置参考邮箱配置

附:常见问题解决

sendmail无法发送邮件解决

vi /etc/mail.rc
set ask askcc append dot save crt

ignore Received Message-Id Resent-Message-Id Status Mail-From Return-PathVia

set smtp=mail.163.com

set from=xxx@163.com

set smtp-auth=login

set smtp-auth-user= xxx@163.com

set smtp-auth-password=*****

(若还没解决则进行以下步骤)sendmail无法发送邮件解决
[root@localhost ~]#cd /etc/mail
[root@localhost ~]#mv sendmail.cf sendmail.org //备份原来的Sendmail配置文件
[root@localhost ~]#m4 sendmail.mc > sendmail.cf //生成新的Sendmail配置文件

解决bugzilla修改管理员问题

首先进入mysql数据库,查看数据库列表,然后删除bugs,重新建立bugs

mysql –p
  mysql> show databases;
  mysql>drop database bugs;
  mysql>create database bugs;
  mysql>grant all on bugs.* to bugs@'localhost';     为用户bugs授权
  mysql>flush privileges;                  刷新用户权限

重新运行 ./checksetup.pl 。就会重新输入新的管理员和密码