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
Urlbase
配置访问 Bugzilla 的网域名
Cookiepath
配置 Bugzilla 的 cookie 路径
如:/bugzilla/
- General
Maintainer
默认维护者的电子邮件地址
如果用默认邮件收发系统,就不用设置。
如果采用 SMTP 方式收发邮件,就参考下面 Email 邮箱设置中使用的邮箱填写
upgrade_notification
是否更新,设置为:disabled
- User Authentication
- Requirelogin
是否允许匿名者登录,设置为:on 表示登录一定要输入用户名和密码
- Bug Change Policies
- commentonchange_resolution
软件提交解决方案时必须输入描述信息,设置为:on
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; 刷新用户权限