IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> ubuntu下testlink的安装(apache2+mysql+testlink1.9.20) -> 正文阅读

[PHP知识库]ubuntu下testlink的安装(apache2+mysql+testlink1.9.20)

背景

公司拟用testlink管理测试用例,从完全纯粹的离线环境中搭建testlink还比较麻烦,网上资料虽多,但是涉及版本较老,很多不适用,所以总结本次完整搭建过程,希望有所帮助。

安装过程

提前准备

需要机器能联网,我这边是离线环境,可通过配置proxy实现。

apache

sudo apt-get install apache2

启停命令:

sudo systemctl start/restart/stop apache2.service

验证:
http://bigdata203/
在这里插入图片描述

php

安装

主要以下两步:

sudo apt-get install php7.0
sudo apt-get install libapache2-mod-php7.0

问题1: 在安装libapache2-mod-php7.0时提示找不到包,以下方案解决:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt-get install libapache2-mod-php7.0

问题2:在sudo add-apt-repository ppa:ondrej/php提示’~ondrej’ user or team does not exist。这可能和本地代理有关,使用以下方案解决

export http_proxy=http://192.168.10.20:808
export https_proxy=http://192.168.10.20:808
sudo -E add-apt-repository ppa:ondrej/php

验证

在/var/www/html中创建test.php,内容如下:

<?php
phpinfo();
?>

浏览器访问:http://bigdata203/test.php
在这里插入图片描述

testlink

安装

安装包官方地址:
https://github.com/TestLinkOpenSourceTRMS/testlink-code/releases/tag/1.9.20
在这里插入图片描述

将testlink安装包解压放置到/var/www/html下:

浏览器直接访问:http://bigdata203/testlink
在这里插入图片描述
勾选相关协议,一直下一步,到这个页面:
在这里插入图片描述

配置

主要看上面的警告信息和下面的错误信息

Web and PHP configuration:
在这里插入图片描述
斜体样式默认情况下可能有多个警告信息,如上图

修改php.ini即可解决相关警告。配置文件默认路径:/etc/php/7.0/apache2/php.ini

Maximum Session Idle Time before Timeout: gc_maxlifetime 默认1440,可以设置为3600
Checking max. execution time: max_execution_time 设置120

后面的警告信息就是是否启用相关扩展了,我这边只用到mysql,所以只需解决mysql的警告即可。即php7配置mysql扩展。(其他警告根据实际决定是否下载扩展,过程和mysql类似)。

下载extension

sudo apt-get install php7.0-mysql

启用extension:vi /etc/php/7.0/apache2/php.ini
将 “extension=php_mysqli.dll” 的注释取消即可
在这里插入图片描述
重启apache2:

sudo systemctl restart apache2.service

根据界面提示,我还开启了以下扩展:

extension=php_gd2.dll
extension=php_curl.dll

对应需要安装的东西:

sudo apt-get install php7.0-gd
sudo apt-get install php7.0-curl

最终界面检查结果:
在这里插入图片描述
下一步:填写数据库连接信息
在这里插入图片描述
下一步:
在这里插入图片描述
根据提示,是因为没有权限导致的,可直接修改整个目录权限

sudo chown -R www-data:www-data testlink/

删除自动创建的数据库,再来一次install:
在这里插入图片描述
根据界面提示(IMPORTANT NOTICE,还重复了三次~),还需要手工运行这个sql(脚本中将YOUR_TL_DBNAME替换为实际的库名):
/var/www/html/testlink/install/sql/mysql/testlink_create_udf0.sql

# TestLink Open Source Project - http://testlink.sourceforge.net/
# This script is distributed under the GNU General Public License 2 or later.
# ---------------------------------------------------------------------------------------
# @filesource testlink_create_udf0.sql
#
#
USE `testlink`; /* Replace before run */
DROP function IF EXISTS `UDFStripHTMLTags`;

DELIMITER $$
USE `testlink`$$ /* Replace before run */
CREATE FUNCTION `UDFStripHTMLTags`(Dirty TEXT) RETURNS TEXT CHARSET utf8
BEGIN
DECLARE iStart, iEnd, iLength int;
   WHILE Locate( '<', Dirty ) > 0 And Locate( '>', Dirty, Locate( '<', Dirty )) > 0 DO
      BEGIN
        SET iStart = Locate( '<', Dirty ), iEnd = Locate( '>', Dirty, Locate('<', Dirty ));
        SET iLength = ( iEnd - iStart) + 1;
        IF iLength > 0 THEN
          BEGIN
            SET Dirty = Insert( Dirty, iStart, iLength, '');
          END;
        END IF;
      END;
    END WHILE;
RETURN Dirty;
END$$

DELIMITER ;

验证

前台访问:
admin/admin
在这里插入图片描述
查看日志报错信息如下(/var/log/apache2/error.log):
在这里插入图片描述
安装php7.0-mbstring即可

sudo apt-get install php7.0-mbstring

再次访问:收工!
在这里插入图片描述

配置SMTP

默认情况,离线环境下是不能发送邮件的,如果用户密码忘了,点击登录界面的忘记密码会报错(管理员点击重置密码也会报错)。所以需要解决这个问题。我们已经有了一个代理,现在的思路是让PHP通过代理发送邮件,阅读源码发现,testlin发送邮件的类是PHPMailer,源码是不支持代理的,所以参考网上大哥的魔改代码,通过socks5实现代理发送邮件。一个字:
参考链接:
应用:https://blog.csdn.net/rty426/article/details/89139251
原理:https://blog.csdn.net/rty426/article/details/88899069

如果原理看不懂,那就直接按以下步骤执行,具体步骤:

  1. 修改:testlink/vendor/phpmailer/phpmailer/src/PHPMailer.php
  2. 修改:testlink/vendor/phpmailer/phpmailer/src/SMTP.php

第一二个文件就是大神修改后的文件(加入proxy功能),文件内容见大神连接
在这里插入图片描述

替换时需要注意不要改变原来的namespace,即从class开始内容替换
在这里插入图片描述
3. 修改:testlink/lib/functions/email_api.php
我这边的版本在 186行,代理地址根据实际情况填写

  $mail->proxy = [
    'proxyHost' => '192.168.10.20',
    'proxyPort' => '1080'
  ];

在这里插入图片描述
5. 配置SMTP:testlink/config.inc.php

$g_smtp_host        = 'smtp.163.com';  # SMTP server MUST BE configured
$g_tl_admin_email     = 'yangqintest@163.com'; # for problem/error notification
$g_from_email         = 'yangqintest@163.com';  # email sender
$g_return_path_email  = 'yangqintest@163.com';
$g_smtp_username    = 'yangqintest@163.com';  # user
$g_smtp_password    = 'SFSFSFAFAFA';  # password

验证:
在忘记密码页面,输入用户名后,提示邮件发送成功:
在这里插入图片描述
收到的邮件:
在这里插入图片描述

再次向大哥致敬~
https://blog.csdn.net/rty426/article/details/89139251

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:08:09  更:2022-03-08 22:09:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:23:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码