环境&组件&工具
- Windows 11
- MySQL 5.7.44
- Strawberry Perl 5.38.0
- Bugzilla 5.0.6
- IIS
- HeidiSQL
MySQL
- 使用5.x.y版本,不要使用8.x.y
- 官网下载MySQL
- 解压后修改文件夹名剪切放入指定文件夹内,这里改名为mysql,放入C:\software
- 增加系统环境变量MYSQL_HOME,值为C:\software\mysql,在Path增加%MYSQL_HOME%和%MYSQL_HOME%\bin
- 在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
- 管理员打开cmd,输入命令
//初始化命令,成功结束后一个数据库初始密码将生成,需要复制下来
mysqld --initialize --console
//安装mysql服务
mysqld --install mysql
//启动mysql服务
net start mysql
- 使用HeidiSQL工具连接数据库,修改数据库密码,创建数据库bugs,新建用户bugs,赋予对数据库bugs的全权,并设bugs的密码为123456
Strawberry Perl
- 官网下载Strawberry Perl,按照提示进行安装,我安装在C:\software\
- 安装完成后使用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版本解决此问题】
- 增加国内源,打开C:\software\Strawberry\perl\lib\CPAN\Config.pm,将
'http://mirrors.163.com/cpan/'
加入到urllist的第一个
Bugzilla
- 下载源码,文件夹名改为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
- 使用之前需要在启用和关闭程序里,勾选IIS和万维网的功能(万维网-应用程序开发功能全选)
- 打开IIS,双击Default Web Site,点击处理程序映射,右侧点击打开功能
- 右侧添加脚本映射,名称输入
Perl
,路径输入*.pl
,可执行文件输入C:\software\Strawberry\perl\bin\perl.exe "%s" %s
,保存
- 右侧添加脚本映射,名称输入
CGI
,路径输入*.cgi
,可执行文件输入C:\software\Strawberry\perl\bin\perl.exe "%s" %s
,保存
- 右击Default Web Site,添加应用程序,别名bugzilla,物理路径C:\code\bugzilla,确定保存
- 双击bugzilla,单击默认文档,右侧打开功能,添加index.cgi并保存
- 双击bugzilla,点击处理程序映射,右侧点击打开功能
- 右侧添加脚本映射,路径输入
*.cgi
,可执行文件输入C:\software\Strawberry\perl\bin\perl.exe -x"C:\code\bugzilla" -wT "%s" %s
,名称输入bugzilla
,保存
- 停止IIS后再启动IIS,允许端口80的访问通过防火墙
- 尝试访问http://localhost/bugzilla 成功访问