因公司项目要求要搭建MantisBT,网上查看N多教程,最后结合公司实际情况稍微改动(邮件配置部分)最后部署完成。
不多废话,直接进入正题
一、xampp安装部署
1、下载xampp(https://www.apachefriends.org/index.html),当然也可以用wget命令直接下载奈何因公司原因不能接入互联网,只能通过下载安装包离线安装
2、安装xampp
把下载好的xampp安装把传到服务器上修改其权限
执行命令:
chmod u+x xampp-linux-x64-7.3.7-0-installer.run
./xampp-linux-x64-7.3.7-0-installer.run
直接默认安装就好(一直yes回车)
至此xampp安装完成(默认安装目录/opt/lammp),我们需要熟知关于xmapp以下相关命令
/opt/lampp/lampp status //查看服务状态
/opt/lampp/lampp restart //重启服务
/opt/lampp/lampp stop //停止服务
/opt/lampp/lampp start //启动服务
正常我们就可以直接启动服务,服务启动后我们在浏览器上输入http://IP就可以进入xmapp页面了。奈何现实一般很残酷,xmapp根本启动不起来。那么问题出现在哪了呢
这种情况一般是端口被占用了,我们可以用ps命令查看相应的进程情况,然后根据实际情况修改配置文件,如apache启动失败,则可修改/opt/lampp/etc/httpd.conf文件找到Listen 80将80改为未被占用的端口(我改成了8080);然后在修改/opt/lampp/xampp文件,修改if testport 80,将80修改成刚设置的端口号重启即可。对于MySql和ProFTPD启动失败对应的可以修改my.cnf和proftpd.conf文件以及xampp文件。
远程访问配置
在/opt/lampp/etc/extra/httpd_xampp.cof文件里有一行Require local,改为 Require all granted然后重启服务即可
二、安装mantis
1、下载mantis(http://www.mantisbt.org) 当然同样可以weget
2、解压mantis并移动到/opt/lampp/htdocs/目录下
tar -zxvf mantisbt-2.21.1.tar
mv mantisbt-2.21.1 /opt/lampp/htdocs/
3、配置数据库
浏览器打开:http://ip:port/mantisbt
(我的是http://192.168.100.111:8080/mantsibt)
然后直接点击Install/Upgrade Database
把有关mysql的配置信息复制下来,然后去修改/opt/lampp/htdocs/mantisbt/xonfig/config_inc.php文件;然而我们解压的文件里并没有config_inc.php文件只有一个config_inc.php.example文件,我们可以把此文件复制并改名成config_inc.php文件
cp config_inc.php.sample config_inc.php
vim config_inc.php
然后按之前我们复制的有关mysql的配置信息修改config_inc.php文件如系下图
这样我们就全部安装完成,浏览器中输入http://ip:port/mantisbt就会出现下面网页(用户名密码为adminstrator root)
那么到这里是不是就结束了,当然不是,其实好戏才刚刚开始那就是邮件的配置
三、邮件配置
1、邮件需要PHPMailer的支持,早期mantis版本PHPMailer是集成在里面的也不知道 在哪个版本后就没有了所以我们需自行安装PHPMailer(其实也很简单下载解压即可)
下载地址:https://github.com/Synchro/PHPMailer/tags
然后解压放在mantisbt目录下即可。
2、修改配置文件
修改mantisbt/config/config_inc.php文件
$g_enable_email_notification = ON;
$g_administrator_email = '[email protected]'; # 邮箱地址
$g_webmaster_email = '[email protected]'; # 邮箱地址
$g_from_email = '[email protected]'; # 邮箱地址
$g_from_name = 'Mantis Bug Tracker';
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = '192.168.1.7'; # SMTP 服务器
$g_smtp_username = '[email protected]'; # 邮箱地址
$g_smtp_password = 'xxxxxxx'; # 邮箱密码
$g_use_phpMailer = ON;
$g_return_path_email = '[email protected]'; # 邮箱地址
按大多数教程这样配置邮件就可以正常发送接收了奈何我公司却不行。
几经周折最终发现mantis里的邮件服务需要tls安全验证的,但我公司的邮件服务器就是个简陋的邮件服务器,只配了收发邮件其他的什么都没配,那这该如何是好呢?最终只能求助于公司研发人员了。
解决办法修改mantis里的源代码,把安全验证去掉具体为修改mantisbt/core/email_api.php文件把大概在1307-1319行全注释掉然后在加上如下代码
要注释的
if( !is_blank( config_get( 'smtp_username' ) ) ) {
# Use SMTP Authentication
$t_mail->SMTPAuth = true;
$t_mail->Username = config_get( 'smtp_username' );
$t_mail->Password = config_get( 'smtp_password' );
}
if( is_blank( config_get( 'smtp_connection_mode' ) ) ) {
$t_mail->SMTPAutoTLS = false;
}
else {
$t_mail->SMTPSecure = config_get( 'smtp_connection_mode' );
}
要添加的
$t_mail->SMTPAuth = false;
$t_mail->SMTPSecure = false;
$t_mail->SMTPAutoTLS = false
具体原理我就讲不清了,类似问题的小伙伴们赶紧去试试吧。
四、mantsis中文配置
修改mantis/config_defaults_inc.php 文件,在该文件中找到语言设置的地方,修改 $g_default_language,将’english’改为’chinese_simplified’。
完结!!!