Windows下部署bugzilla

环境&组件&工具

MySQL

  1. 使用5.x.y版本,不要使用8.x.y
  2. 官网下载MySQL
  3. 解压后修改文件夹名剪切放入指定文件夹内,这里改名为mysql,放入C:\software
  4. 增加系统环境变量MYSQL_HOME,值为C:\software\mysql,在Path增加%MYSQL_HOME%和%MYSQL_HOME%\bin
  5. 在C:\software\mysql文件夹内新建文件夹,命名为data,新建文件,命名为my.ini,写入内容后保存
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:/software/mysql
# 设置mysql数据库的数据的存放目录 
datadir=C:/software/mysql/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# Allow packets up to 16M
max_allowed_packet=16M
# Allow small words in full-text indexes
ft_min_word_len=2
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
  1. 管理员打开cmd,输入命令
//初始化命令,成功结束后一个数据库初始密码将生成,需要复制下来
mysqld --initialize --console
//安装mysql服务
mysqld --install mysql
//启动mysql服务
net start mysql
  1. 使用HeidiSQL工具连接数据库,修改数据库密码,创建数据库bugs,新建用户bugs,赋予对数据库bugs的全权,并设bugs的密码为123456

Strawberry Perl

  1. 官网下载Strawberry Perl,按照提示进行安装,我安装在C:\software\
  2. 安装完成后使用perl -v进行测试,发现会报Locale 'Chinese (Simplified)_China.936' is unsupported, and may crash the interpreter.错误,一开始我以为这个错误并不影响使用,因此没有管它,但是后来发现会影响bugzilla能否正常使用,因此需要解决。深究之后,发现是因为微软在简中win10/11系统里将Locale从Chinese (Simplified)_People's Republic of China.936调整为Chinese (Simplified)_China.936,Perl官方未做适配导致。github上有相关issue,但是并未解决,部分搜索结果提供的增加环境变量LANG的方法也试过,并没有用处。因此直接釜底抽薪,在Windows设置里将区域格式从简体中文(中国)改成英语(美国),可以避免这个报错,如果没有英语(美国)选项,可以先增加系统语言,英语。修改时间觉得看时间不方便的,可以进控制面板再调整下时分秒和年月日的格式.【后来发现区域被改之后使用习惯改变,麻烦,干脆重新安装Strawberry Perl5.36.1版本解决此问题】
  3. 增加国内源,打开C:\software\Strawberry\perl\lib\CPAN\Config.pm,将'http://mirrors.163.com/cpan/'加入到urllist的第一个

Bugzilla

  1. 下载源码,文件夹名改为bugzilla,放入C:\code,管理员打开cmd,输入命令
//进入目录
cd c:\code\bugzilla

//安装模块
perl install-module.pl -all

//首次检查,成功后会生成localconfig文件,生成后打开localconfig,修改$db_pass='123456'
perl checksetup.pl

//使用此命令前,在bugzilla文件夹下新建lib文件夹。
//再次检查,成功后会开始创建表
perl checksetup.pl

IIS

  1. 使用之前需要在启用和关闭程序里,勾选IIS和万维网的功能(万维网-应用程序开发功能全选)
  2. 打开IIS,双击Default Web Site,点击处理程序映射,右侧点击打开功能
  3. 右侧添加脚本映射,名称输入Perl,路径输入*.pl,可执行文件输入C:\software\Strawberry\perl\bin\perl.exe "%s" %s,保存
  4. 右侧添加脚本映射,名称输入CGI,路径输入*.cgi,可执行文件输入C:\software\Strawberry\perl\bin\perl.exe "%s" %s,保存
  5. 右击Default Web Site,添加应用程序,别名bugzilla,物理路径C:\code\bugzilla,确定保存
  6. 双击bugzilla,单击默认文档,右侧打开功能,添加index.cgi并保存
  7. 双击bugzilla,点击处理程序映射,右侧点击打开功能
  8. 右侧添加脚本映射,路径输入*.cgi,可执行文件输入C:\software\Strawberry\perl\bin\perl.exe -x"C:\code\bugzilla" -wT "%s" %s,名称输入bugzilla,保存
  9. 停止IIS后再启动IIS,允许端口80的访问通过防火墙
  10. 尝试访问http://localhost/bugzilla 成功访问