资讯动态

CentOS 7 + XAMPP + TestLink 1.9.14 环境搭建实战全记录

发布时间:2026/10/17 9:28:14 来源:尧图企业网站定制
从标题里的“环境搭建教程”几个字就能看出来这不是一篇概念科普而是一份照着做就能跑通的实战记录。我这次要梳理的是 CentOS 7 XAMPP TestLink 1.9.14 这套组合。先说结论这套组合放到今天来看依然适合中小团队自建测试管理平台尤其是那些不想买商业工具、又想本地化控制数据的场景。TestLink 1.9.14 是老版本但胜在稳定、轻量配合 XAMPP 的一体化环境部署门槛低一个人半天就能搞定。这篇博文就是把我实际搭建过程中踩过的坑、验证过的步骤、排查过的报错全部整理出来给你一条可以直接“抄作业”的路径。1. 搭建前的整体思路与方案选型1.1 为什么用 XAMPP 而不是手动配 LAMP在 Linux 上部署 PHP 应用常规思路是分别安装 Apache、MySQL、PHP再逐个调配置。听起来也不复杂但实际执行起来有隐藏成本不同源的软件版本容易互相冲突PHP 扩展缺一个就要单独编译装完还要自己处理开机自启、日志轮转、目录权限。对于“只想把 TestLink 跑起来”的场景这些步骤都是纯消耗。XAMPP 的好处是把 Apache、MariaDB或 MySQL、PHP、Perl 等全部打包自带启动脚本/opt/lampp/lampp一条命令就能启停全部服务。它本质上是一个集成运行时环境类似你电脑上装了一个“PHP 全家桶”后续维护也集中在一个目录里卸载就删目录省心很多。当然XAMPP 不是银弹生产环境不建议这么干因为默认安全配置偏弱比如 MySQL root 默认无密码。但如果你只是给团队内部搭一个测试用例管理平台量级不大、并发不高XAMPP 完全够用而且后续迁移也很方便——把/opt/lampp目录打包拷走在另一台机器上解压就能恢复。1.2 版本兼容性分析这块必须看仔细TestLink 1.9.14 发布于 2015 年前后对应的 PHP 版本范围是 5.2 到 5.6对 PHP 7 及以上的兼容性并不好。如果你直接用最新版 XAMPP自带的 PHP 8.x大概率会遇到两个问题页面直接白屏、或者报一堆 deprecated 错误导致功能异常。所以这里有个关键点XAMPP 也要选旧版本。我实际用的是xampp-linux-x64-5.6.40-1-installer.runPHP 5.6.40 搭配 Apache 2.4跑 TestLink 1.9.14 非常稳。你可能会问老版本 XAMPP 还能从官网下载到吗能官网的归档区保留了历史版本但需要注册账号才能拿到下载链接。我当时是找的归档入口下载完核对一下 SHA256 校验值再安装避免文件损坏或来历不明的篡改。版本选型逻辑总结如下表组件推荐版本原因操作系统CentOS 7.x (内核 3.10)长期稳定资料多硬件兼容性好XAMPP5.6.40-1 及之前版本PHP 5.6 兼容 TestLink 1.9.14避免 PHP 7 弃用函数报错TestLink1.9.14经典稳定版本功能够用社区资料全数据库XAMPP 内置 MariaDB 10.1前置集成避免额外安装配置这套组合不是最新的但经过时间验证。我见过有人在新的 XAMPP 上硬装 TestLink最后卡在数据库连接和字符集问题上一整天不值得。1.3 硬件与网络规划建议TestLink 本身是轻量应用对硬件要求很低。我实测 1 核 2G 的虚拟机跑 50 人的团队使用毫无压力。磁盘方面注意一点TestLink 会存附件所以/opt/lampp所在分区要预留至少 20G 剩余空间避免使用过程中磁盘写满导致数据库损坏。网络规划上建议给测试服务器一个内网静态 IP团队通过浏览器访问http://服务器IP/testlink即可。如果只是内网使用防火墙直接放通 80 端口或干脆关闭防火墙内网测试环境我倾向直接关省事。2. 系统初始化与 XAMPP 安装实操2.1 CentOS 7 基础优化别跳过这步拿到一台全新 CentOS 7 虚拟机或云主机后我习惯先做三件事更新系统、关闭 SELinux、调整防火墙。更新系统yum update -ySELinux 是 CentOS 上最容易导致“莫名其妙”访问问题的元凶。Apache 写文件、PHP 建立网络连接、甚至读目录都可能被它拦下来。直接关掉最省心setenforce 0 sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configsetenforce 0是临时生效改配置文件是永久生效两者都做。以后重启机器也不会再开启。防火墙处理我内网环境直接停掉systemctl stop firewalld systemctl disable firewalld如果你需要对外开放 80 端口用firewall-cmd --permanent --add-port80/tcp firewall-cmd --reload另外安装一些基础工具包后面排查问题用得上yum install -y wget vim net-tools lsoflsof很重要排查端口占用完全靠它。2.2 XAMPP 的下载与安装过程下载 XAMPP 5.6.40 安装包后给它执行权限再运行chmod x xampp-linux-x64-5.6.40-1-installer.run ./xampp-linux-x64-5.6.40-1-installer.run这里要注意XAMPP 的 Linux 版安装包有 CLI 模式和 GUI 模式两种如果你是在有桌面的 CentOS 上执行会弹图形界面最小化安装的服务器没有图形环境会自动走命令行交互模式一路按默认选项即可。默认安装路径是/opt/lampp安装完先启动一下测试/opt/lampp/lampp start正常情况下能看到 Apache、MySQL、ProFTPD 三个服务都启动成功的提示。如果启动失败先检查是不是 80 端口被占用比如系统自带的 httpd 服务systemctl stop httpd /opt/lampp/lampp start或者用lsof -i:80查是谁占用了端口。总之这一步要先确保 XAMPP 能跑起来再做下一步。2.3 XAMPP 目录结构与组成说明XAMPP 的目录结构不算复杂但你得知道哪些文件是要改、要看的路径作用/opt/lampp/htdocsWeb 根目录站点文件放这里/opt/lampp/etc/httpd.confApache 主配置/opt/lampp/etc/php.iniPHP 配置文件/opt/lampp/etc/my.cnf数据库配置文件/opt/lampp/bin/mysqlMySQL 客户端命令/opt/lampp/phpmyadminphpMyAdmin 入口/opt/lampp/lampp总控脚本启停服务我习惯把 TestLink 解压到/opt/lampp/htdocs/testlink访问路径就是http://IP/testlink。你还可以在 httpd.conf 里绑定域名不过内网场景直接用 IP 更方便。3. TestLink 部署与数据库配置3.1 TestLink 文件放置与权限设置从官网下载 TestLink 1.9.14 的 Linux 版压缩包通常是.tar.gz格式cd /opt/lampp/htdocs wget https://sourceforge.net/projects/testlink/files/TestLink%201.9.14/testlink-1.9.14.tar.gz/download tar -zxvf testlink-1.9.14.tar.gz mv testlink-1.9.14 testlink权限设置是关键一步。XAMPP 默认以nobody用户运行 Apache也可以是你自己设定的运行用户。TestLink 需要写logs、upload_area等目录如果权限不对安装过程中会提示目录不可写。我采用的权限方案是直接给 TestLink 目录设置 755并把属主改为nobodychown -R nobody:nobody /opt/lampp/htdocs/testlink chmod -R 755 /opt/lampp/htdocs/testlink如果你后续在页面上传附件失败、或者日志无法生成回来检查这一步十有八九是权限问题。3.2 创建数据库与授权别用 rootTestLink 安装向导会要求填写数据库信息你可以直接用 XAMPP 的 root 账号默认密码为空来建库但不建议这么做。一个是安全问题另一个是 TestLink 运行过程中如果程序有 bug用 root 连接数据库风险太大。正确姿势是先手动创建一个专用数据库和账号。打开终端用 XAMPP 自带的 mysql 客户端连接数据库/opt/lampp/bin/mysql -u root进入 MySQL 命令行后执行CREATE DATABASE testlink DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON testlink.* TO testlinkuserlocalhost IDENTIFIED BY YourStrongPassword; FLUSH PRIVILEGES;这里我特别强调字符集utf8和utf8_general_ci必须明确指定。如果 TestLink 库默认字符集是 latin1后面填写的测试用例出现中文乱码排查起来非常痛苦。我另外还设置了mbstring和时区确保数据库层不会成为乱码源头。如果是纯内网环境YourStrongPassword可以不用太复杂但至少 8 位以上包含字母和数字。别用123456这种哪怕团队内网也尽量规范点。3.3 PHP 配置调整这是安装成败分水岭TestLink 对 PHP 有几项硬性要求默认的php.ini不一定满足。路径在/opt/lampp/etc/php.ini修改前先备份cp /opt/lampp/etc/php.ini /opt/lampp/etc/php.ini.bak vim /opt/lampp/etc/php.ini重点调整这几个参数; 允许文件上传TestLink 需要附件功能 file_uploads On ; 上传大小限制默认 2M 太小设置大一些 upload_max_filesize 50M post_max_size 50M ; 最大执行时间导入大测试集时避免超时 max_execution_time 300 max_input_time 300 ; 内存限制 memory_limit 256M ; PHP 5.6 需要开启这个否则某些旧代码会报错 always_populate_raw_post_data -1其中always_populate_raw_post_data很关键。TestLink 部分旧代码依赖$HTTP_RAW_POST_DATA全局变量PHP 5.6 默认已经弃用需要手动把该项设为-1才能保持旧行为。如果不设置某些流程比如导入 XML 测试用例会莫名失败。改完验证语法/opt/lampp/lampp restart /opt/lampp/bin/php -m | grep -E pdo|mysql|mbstringphp -m列出已加载模块确认pdo_mysql、mysqli、mbstring都在列表里。TestLink 安装向导会自动检测这些扩展缺一个就会红字提示。若发现pdo_mysql没启用多半是安装包版本不完整重新下对应版本的 XAMPP 是更快的解法不要想着自己编译扩展——很费时间。4. 安装向导全流程与踩坑实录4.1 浏览器端安装向导步骤详解完成前面所有准备工作后在浏览器地址栏输入http://服务器IP/testlink如果权限和文件都没问题会看到 TestLink 安装界面。我走一遍流程第一步语言选择界面默认英文这里选中文。注意 TestLink 的语言包是随安装包自带的不需要额外下载关键是服务器上已经编译了 gettext 扩展XAMPP 默认带没问题。第二步安装向导会检查 PHP 环境和目录权限。这里有三个主要检查项PHP 版本、扩展模块、目录可写性。正常情况下都是绿色通过。如果看到红字回看上一节逐项排查。第三步数据库配置界面填写你在 3.2 创建的库名、用户名、密码以及数据库主机。这里有个容易错的地方数据库主机地址内网本机环境就填localhost不要填成127.0.0.1。虽然都能通但某些 PHP 版本的 MySQL 驱动对这两者的连接方式处理不同填localhost更符合 Unix socket 连接逻辑减少连接问题。第四步初始化安装点击Install按钮系统开始创建表。这一步如果长时间无响应多半是 MySQL 字符集或权限问题回数据库检查。正常情况下 30 秒内完成。第五步安装完成后会提示你创建一个管理员账号默认用户名admin密码留空你需要自己设置。设置好后进入登录界面整个安装流程就结束了。4.2 安装完成后必做的三件事安装完成不代表能用至少再做三件事第一删除或重命名install目录cd /opt/lampp/htdocs/testlink mv install install.bak如果不删每次访问都会提示你重新安装而且有安全风险——别人可以直接触发重装流程覆盖你的数据库配置。我一向是重命名而非删除万一日后要修复还能找回来。第二进入 TestLink 个人设置切换语言。登录后点击右上角用户名 →Personal Settings→Interface Language选择简体中文。虽然安装时选了中文但登录后的界面语言跟着个人资料走不设置就还是英文。第三备份config.inc.phpcp /opt/lampp/htdocs/testlink/config.inc.php /opt/lampp/htdocs/testlink/config.inc.php.bakconfig.inc.php是 TestLink 的主配置后续如果改邮箱、改上传路径都依靠它。备份一份改出问题能恢复。4.3 中文乱码问题与字符集设置TestLink 1.9.14 在简体中文环境下有一个老毛病测试用例名称、步骤描述能正常显示中文但某些报表页面会出现乱码。根因一般是数据库连接字符集设置不对。打开config.inc.php找到数据库配置部分确认有这一行$tlCfg-db-charset utf8;如果没有手动加上。还需要确认数据库本身编码正确用 phpMyAdmin 检查http://服务器IP/phpmyadmin选testlink库查看数据库排序规则必须是utf8_general_ci或utf8mb4_general_ci。如果发现是latin1_swedish_ci说明建库时没指定字符集得重新建库导入数据没有方便的在线转换办法。另外修改config.inc.php后重启 Apache 才生效/opt/lampp/lampp restart我遇到过一次乱码是 PHP 页面本身没有发送 utf-8 头但那通常发生在自定义修改了模板的情况下。默认安装状态下只要数据库字符集正确中文是没问题的。5. 常见问题与排查技巧实录拿走即用5.1 安装阶段高频报错速查表我把安装过程中最容易遇到的问题整理成表格按影响面排序方便你对照排查现象原因解决方法安装向导显示目录不可写权限未设置chown -R nobody:nobody /opt/lampp/htdocs/testlink提示缺少 pdo_mysql 扩展XAMPP 版本不对换用 PHP 5.6 XAMPP不要自行编译点击 Install 后页面迟迟不跳转MySQL 服务未启动或密码错误/opt/lampp/lampp start核对数据库账号密码安装时提示数据库创建失败授权权限不足重新执行 GRANT 并 FLUSH PRIVILEGES登录后界面还是英文个人设置未改语言Personal Settings → Interface Language中文乱码数据库字符集非 utf8按 4.3 方法建库改连接字符集5.2 安装完成后运行时问题与调试思路装完能用之后日常使用中可能遇到两个最常见的坑第一个是附件上传失败。表现是在测试用例里添加附件页面提示上传成功但到附件列表里看不到或下载打不开。检查/opt/lampp/htdocs/testlink/upload_area目录的属主和权限确保 Apache 运行用户nobody可写。如果之前改过目录权限为 777运行一段时间后建议改回 755避免安全风险。第二个是邮件通知功能。TestLink 的邮件配置读取config.inc.php里的 SMTP 设置默认配置用的发信方式比较老对现代邮箱服务器的 TLS 认证支持不全。如果你只在团队内部用邮件功能可以先不用管真要配建议用内网自建 SMTP 服务或支持明文认证的邮件服务尽量别用公网大厂邮箱的 SMTP否则大概率卡在证书和认证方式上。调试技巧所有的 PHP 错误和框架日志都在/opt/lampp/htdocs/testlink/logs目录里文件名一般是logs_*.txt。页面白屏时先看这个文件比猜原因快得多。如果是 500 错误还需要看/opt/lampp/logs/error_log这是 Apache 层的错误日志。5.3 系统资源与性能维护经验TestLink 使用一段时间后数据库表会增长尤其是executions执行记录和testplan_items计划条目表。内网使用通常感受不到慢但如果数据量上了几十万行建议每个月做一次表优化USE testlink; OPTIMIZE TABLE executions; OPTIMIZE TABLE testplan_items;还可以开启 MySQL 慢查询日志定位耗时的 SQL。不过正常团队规模用不上知道有这个方案即可。备份习惯一定要有。TestLink 的备份分两部分文件/opt/lampp/htdocs/testlink和/opt/lampp/htdocs/testlink/upload_area和数据库testlink库。我的备份策略是每天凌晨用 crontab 跑一次 mysqldump/opt/lampp/bin/mysqldump -utestlinkuser -pYourStrongPassword testlink /backup/testlink_$(date \%Y\%m\%d).sql保留最近 30 天的备份加一个清理任务防止磁盘塞满。这套策略在实战中救过我两次一次是误删了测试计划一次是磁盘故障重装恢复流程大约 30 分钟基本不丢数据。6. 实测体验与后期扩展方向6.1 部署完成后的实际使用体验这套环境搭好后我实际在一个模拟项目某跨平台系统的回归测试管理中跑了三个月。Team 规模不到二十人每天产生的执行记录大概 300 条左右TestLink 响应速度很快页面打开基本秒开。除了一开始遇到的乱码和上传权限问题日常使用没出现过崩溃。TestLink 1.9.14 的功能在这个场景下完全够用用例库管理、测试计划制定、执行结果记录、缺陷跟踪需要和外部缺陷系统联动。最大的短板是 UI 比较“复古”新团队成员刚接触时需要一点时间适应。但这和服务器环境无关是工具本身的设计问题。6.2 从单机环境走向规范化运维的建议如果你打算把这套环境长期用下去而不是只做一个临时 Demo我建议从“能跑”升级到“可维护”。第一把 XAMPP 里的数据库作为独立服务来维护。XAMPP 自带的 MariaDB 默认配置混在一起做备份和恢复时容易踩坑。后续可以单独安装 MySQL 或 MariaDB把 TestLink 的数据迁移过去。迁移方法不复杂新库建好导入 mysqldump 的备份改config.inc.php里的数据库地址即可。第二配置 HTTPS。虽然内网环境下明文 HTTP 暂可接受但如果测试数据涉及未发布产品信息加一层 TLS 并不难。Lets Encrypt 对公网域名有效纯内网可以用自签名证书Apache 虚拟主机里配上即可。第三做好版本归置。TestLink 1.9.14 发布多年后续如果有新版系统替换或迁移到商业平台要提前规划数据导出。TestLink 自带 XML 导出功能可以把测试用例和测试计划导出成文件为后续迁移留好退路。我在实际维护中被提醒过环境搭建完成后的第一个月最容易忽略的是“备份的可用性”——你可能做了备份但从没演练过恢复。建议每一个半月做一次恢复演练把备份文件在临时虚拟机里重新还原确认可用。真到出问题时你会发现能成功恢复的备份才有价值。如果你手头也有一套 CentOS 7 的闲置机器想搭测试管理平台按这篇的顺序走一遍基本半天内能跑通。过程中遇到本文没覆盖到的问题先查日志、先看权限不要急着重装系统——大多数 TestLink 的问题都出在文件权限和 PHP 配置这两个环节上找到根因解决起来都是很快的。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑