方法一:使用 Ports 系统(推荐)
1. 更新 Ports 树
sudo portsnap fetch update
2. 安装 Bugzilla
cd /usr/ports/www/bugzilla
sudo make install clean
在安装过程中,会显示配置选项:
- 选择数据库后端(MySQL 或 PostgreSQL)
- 选择 Apache 版本
- 选择邮件服务器支持
3. 配置数据库
以 MySQL 为例:
sudo mysql -u root -p
在 MySQL 中执行:
CREATE DATABASE bugs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bugs'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON bugs.* TO 'bugs'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. 配置 Bugzilla
cd /usr/local/www/bugzilla
sudo ./checksetup.pl
首次运行会创建 localconfig 文件,编辑它:
sudo vi localconfig
设置数据库连接信息:
$db_driver = 'mysql';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = 'your_password';
$db_host = 'localhost';
5. 重新运行配置
sudo ./checksetup.pl
这会自动安装所需的 Perl 模块并设置数据库。
方法二:使用 pkg 包管理器
1. 安装 Bugzilla
sudo pkg install bugzilla
2. 安装所需 Perl 模块
sudo pkg install p5-DBD-mysql p5-AppConfig p5-CGI p5-DBI p5-Template-Toolkit
3. 后续步骤
与方法一的第 3-5 步相同。
配置 Web 服务器
Apache 配置
sudo vi /usr/local/etc/apache24/Includes/bugzilla.conf
添加以下内容:
<Directory "/usr/local/www/bugzilla">
AddHandler cgi-script .cgi
Options +ExecCGI +FollowSymLinks
DirectoryIndex index.cgi
AllowOverride All
Require all granted
</Directory>
启用 Apache 模块
sudo vi /usr/local/etc/apache24/httpd.conf
确保以下模块已启用:
LoadModule cgi_module libexec/apache24/mod_cgi.so
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
重启 Apache
sudo service apache24 restart
设置权限
sudo chown -R www:www /usr/local/www/bugzilla
sudo chmod 755 /usr/local/www/bugzilla
访问 Bugzilla
通过浏览器访问:http://your-server-ip/bugzilla
可选配置
1. 邮件设置
编辑 localconfig 配置 SMTP:
$mail_delivery_method = 'SMTP';
$mailfrom = 'bugzilla@yourdomain.com';
$smtpserver = 'smtp.yourdomain.com';
2. 启用发送邮件
sudo pkg install exim # 或 postfix
3. 定时任务
sudo crontab -e
添加:
0 * * * * /usr/local/www/bugzilla/sendbugmail.pl
故障排除
检查 Perl 模块
sudo ./checksetup.pl --check-modules
查看错误日志
sudo tail -f /var/log/httpd-error.log
权限问题
sudo chmod -R 755 /usr/local/www/bugzilla/data
升级 Bugzilla
cd /usr/ports/www/bugzilla
sudo make deinstall
sudo make reinstall
cd /usr/local/www/bugzilla
sudo ./checksetup.pl
这样就在 FreeBSD 上完成了 Bugzilla 的安装和基本配置。