安装testlink遇到的大坑

昨天想试用一下testlink。
之前看网上的文档就发现它的安装文档已经很久没更新了,看官方论坛上也是一堆的吐槽文档问题,但人家就是我自巍然不动╮(╯▽╰)╭
正所谓没有问题创造问题也要上!于是还是去官网上下了安装包和文档,开干。
文档第一个要求就说web服务器、PHP和数据库的问题,并推荐用xampp这样的套件。我一是对套件本能地不信任,二是怀疑套件和它自己都飞速地在升级,但是安装文档N久不升级,这样用靠谱么?所以俺做了第一个错误的决定:不用套件,自己来装依赖环境。
细节就不说了,总之花了点儿时间把apache2、php7、mysql5.7都给装上了,然后又想着testlink会比较费空间吧,于是又把mysql默认数据存放的位置给改到了一块单独的磁盘上,顺手改了root密码和访问权限...
然后照着testlink安装文档,解压安装包,放到web的htdocs目录下,打开http://hostname/testlink...还不错嘛,没碰到php版本不对之类的破事儿,页面打开得很顺利,选安装,再选同意用户协议,开始检查前置条件...嗯,mysql数据库也找到了,挺顺利,只有最后报有两个目录找不到,于是按照所要求的去创建了两个目录,并给赋了777,再继续,输入mysql的root和密码,点继续...悲剧了,报无法建立数据库连接@_#
从这里开始了昨天一下午的悲惨经历。当时想mysql都找到了,数据库连接这算个事儿啊!先想是不是远程访问的原因,排除;又想是不是域名解析的问题,排除;再想是不是PHP无法正确解析,写了个简单的连mysql的php,丢上去,再用浏览器访问,没问题;再想是不是用户的原因,换个mysql账号,排除...这就很尴尬了!我从浏览器所在的机器,mysql -h -u -p明明是访问得很溜的啊,一头问号啊!
于是上网求助...结果不搜不知道,一搜,全是因为这个问题在求助的帖子,而且几乎没有人找到解决办法。
没奈何,耐着性子一页页地翻...偶然看到有个哥们提到他debug的时候,发现页面报错和实际mysql返回的错误码之间毫无关系!心有所悟,于是直接搜mysql无法连接都可能是什么错!后来瞄到一个情况是mysql.sock的问题,顿时灵机一动,想到我是改了mysql默认数据存放位置的啊!testlink的安装程序不会是没找到我新挪过去的位置吧!?于是去改了下配置文件,指向我的新sock所在的文件,重启web+php再来...呃,还是不行!不过这次页面报错信息变了,改成抱怨没有权限了!那么果然之前就是没有找到我新换的位置啊!
继续debug,没有权限,也不说说啥没有权限,只能继续猜。先猜莫非是mysql没有权限?可我已经都给了root了啊!于是又把root赋权重新做了一遍,还是不行!换个账号,不行!是不是安装的时候拷贝文件没有权限啊?于是又把testlink相关的目录全改了一遍,统统777,还是不行!想起之前找不到sock文件的时候,看配置文件,很多变量都是写死的,这回是不是也是啊,于是再打开配置文件想看看有没有相关的配置项。结果放眼所见,全是各种hard code的地方...坑啊!这要改到猴年马月去啊!果断放弃
今天早上来了reload虚机,直接回到最初,下了个xampp7.2.9套件,装上。再装testlink,一把过!坑啊!早说啊,安装程序写得这么死,你干脆连xampp一起打包了得了...

进phpmyadmin后页面下方报错:

The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

网上查包括stackoverflow都说是创建/usr/share/phpmyadmin/tmp目录并赋权777,但实际上按报错信息,简单地在安装目录下的phpmyadmin下创建tmp就行了:默认路径是/opt/lampp/phpmyadmin/tmp

另外还有个坑,testlink测试结果的图表里,汉字都显示成了方框。要解决这个问题,需要指定一下testlink画图所用的字体
首先查一下系统字体里有没有装中文,用fc-list命令,如果fc-list没有,先安装

# yum install -y fontconfig mkfontscale

把windows上的字库文件拷贝到centOS上,比如微软雅黑:c:/windows/fonts/msyh.ttf
用sftp上传到/root目录下,然后复制到/usr/share/fonts中:

# cp /root/msyh.ttf /usr/share/fonts

注意:微软雅黑字库有版权问题,和apache license冲突!文泉驿字库是开源的,没有版权问题

<div>文泉驿正黑字体安装:</div>
<div>wget <a class="external-link" href="https://nchc.dl.sourceforge.net/project/wqy/wqy-zenhei/0.9.45%20%28Fighting-state%20RC1%29/wqy-zenhei-0.9.45.tar.gz" rel="nofollow">https://nchc.dl.sourceforge.net/project/wqy/wqy-zenhei/0.9.45%20%28Fighting-state%20RC1%29/wqy-zenhei-0.9.45.tar.gz</a></div>
<div>tar zxvf wqy-zenhei*.tar.gz</div>
<div>mkdir -p /usr/share/fonts/wenquanyi/</div>
<div>mv wqy-zenhei /usr/share/fonts/wenquanyi/</div>

然后建立字体索引并更新字体缓存:

# mkfontscale
# mkfontdir
# fc-cache

然后执行fc-list

# fc-list
...
/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc: WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑:style=Regular
/usr/share/fonts/abattis-cantarell/Cantarell-Oblique.otf: Cantarell:style=Oblique
/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc: WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑:style=Regular

...
这就是我们要改的中文字体。如果没有,或者fc-list都出错,那么需要安装字库
记下上述中文字库的位置,然后到testlink的配置文件/opt/lampp/htdocs/testlink/config.inc.php中去改:

/**
* fonts set used to draw charts
**/
#$tlCfg-&gt;charts_font_path = TL_ABS_PATH . "third_party/pchart/Fonts/tahoma.ttf";
$tlCfg-&gt;charts_font_path = "/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc";
/**

注释掉原来的,改成中文的。保存退出,无需重启testlink,直接刷新画图页面,就可以看到中文了。

今天试了下testlink的导入功能,又是吐槽无力啊。它自己内链了一个帮助的pdf文档,上面写得明明白白支持的文件格式有哪些,格式应该是什么样的。然而!然而!!这个文档是错的!!正确的文档格式在testlink的安装目录下,有个docs/file_examples的目录,这里面才是正确的信息#_@
本文转自石马氵每亻禺扌合

参与评论