设置Docker Bitnami/TestLink的2019年版本

进行 TestLink 的设置

登录TestLink容器

在 Docker 中,查找 TestLink 容器的容器ID:

用 Docker 来寻找 TestLink 容器的容器ID。

 $ docker ps -a

登录到TestLink的容器

 $ docker exec -it コンテナID /bin/bash

注意: 使用docker exec命令可以启动/bin/bash进程并进行标准输入输出。即使退出登录到容器,启动的/bin/bash进程会终止,但容器不会停止。类似的命令docker attach,当退出登录到容器时,容器会终止。
参考:Docker容器的确认和连接(ps、attach、exec命令)
参考:在Docker容器中使用attach和exec的不同

请参照:从已登录的容器注销(退出)。

$ exit

为了设置TestLink,安装Vim程序。

登录TestLink容器

 $ docker exec -it コンテナID /bin/bash

在这个容器中安装 Vim 和 Git。

# debian バージョン確認
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

# パッケージダウンロードで利用するミラーサイトを日本のCDNサーバに変更して、リポジトリを追加する
$ cat <<- eof > /etc/apt/sources.list
deb http://ftp.jp.debian.org/debian/ stretch main contrib non-free
deb http://ftp.jp.debian.org/debian/ stretch-updates main contrib
deb http://ftp.jp.debian.org/debian/ stretch-backports main contrib non-free
#deb-src http://ftp.jp.debian.org/debian/ stretch main contrib non-free
#deb-src http://ftp.jp.debian.org/debian/ stretch-updates main contrib
#deb-src http://ftp.jp.debian.org/debian/ stretch-backports main contrib non-free
eof

# apt コマンドの実行
$ apt update
$ apt upgrade
$ apt install vim-gnome git

下载并设置Vim的配色方案。

$ mkdir -p ~/.vim/colors
$ mkdir -p ~/temp/molokai
$ git clone https://github.com/tomasr/molokai ~/temp/molokai
$ mv ~/temp/molokai/colors/molokai.vim ~/.vim/colors/
$ rm -rf ~/temp

使用cat命令将.vimrc文件放置,并启用颜色模式、日语支持和剪贴板。

$ cat <<- eof > ~/.vimrc
syntax on
colorscheme molokai
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
set fileformats=unix,dos,mac
set clipboard=unnamed,autoselect
eof

#Vim が設定できているか確認する
$ vim ~/.vimrc

处理apachectl restart的错误消息对策

错误信息:
AH00558:httpd:无法准确确定服务器的完全限定域名,因此使用 IP 地址。全局设置’ServerName’指令以抑制该消息。

登录到TestLink容器中。

$ docker exec -it コンテナID /bin/bash

查看 httpd 进程

$ ps aux | grep httpd

使用vim编辑httpd.conf文件

$ vim /opt/bitnami/apache/conf/httpd.conf

将 httpd.conf 文件中的 ServerName 行注释掉。

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName www.example.com:80

为了使编辑好的 httpd.conf 配置生效,需要重新启动 Apache。

$ /opt/bitnami/apache/bin/apachectl restart

4. 改正时区

由于TeskLink是引用PHP时区的规范,所以需要修改php.ini的默认时区。

登入 TestLink 的容器。

$ docker exec -it コンテナID /bin/bash

找到php.ini

$ php --ini
Configuration File (php.ini) Path: /opt/bitnami/php/lib
Loaded Configuration File:         /opt/bitnami/php/lib/php.ini
Scan for additional .ini files in: /opt/bitnami/php/etc/conf.d
Additional .ini files parsed:      (none)

请使用Vim编辑php.ini文件。

$ vim /opt/bitnami/php/lib/php.ini

将 php.ini 文件中的最后一行附近的 date.timezone = “Asia/Tokyo” 修改为 “Asia/Tokyo”。

; Local Variables:
; tab-width: 4
; End:
upload_max_filesize = 40M
post_max_size = 40M
extension_dir = /opt/bitnami/php/lib/php/extensions
;date.timezone = UTC
date.timezone = "Asia/Tokyo"
zend_extension = opcache.so
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.interned_strings_buffer = 16
opcache.memory_consumption = 192
opcache.file_cache = /opt/bitnami/php/tmp/opcache_file

确认 PHP 的时区已经设置为 Asia/Tokyo。

$ php -i | grep timezone
Default timezone => Asia/Tokyo
date.timezone => Asia/Tokyo => Asia/Tokyo

为了使编辑过的php.ini配置生效,需要重新启动Apache。

$ /opt/bitnami/apache/bin/apachectl restart

在TestLink > レポートメトリクス的报告中添加公司的标志。

由于设定方法有两种,您可以选择您喜欢的一种……

第一种设置方法:将TestLink从本地环境复制到指定的目录中。

$ cd ~/logo
$ ls
logo.png
$ docker cp ./logo.png コンテナID:/opt/bitnami/testlink/gui/themes/default/images

第二种设置方法:将网页标志下载到TestLink的指定目录中,可以使用wget的命令。

登录到TestLink容器上。

 $ docker exec -it コンテナID /bin/bash

安装 wget

$ apt update
$ apt upgrade
$ apt install wget

在TestLink指定的目录中添加Logo标志

$ cd /opt/bitnami/testlink/gui/themes/default/images
$ wget http://hogehoge.co.jp/logo/logo.png

用 Vim 打开 custom_config.inc.php 文件

$ vim /bitnami/testlink/custom_config.inc.php

请在custom_config.inc.php文件中添加以下内容。

//レポートで表示される TestLink ロゴを自社ロゴに変更する
$tlCfg->document_generator->company_logo = 'logo.png';

//ロゴマークの高さを指定する
$tlCfg->document_generator->company_logo_height = '50';

6. 解决TestLink > 报告指标 > 图表 > 通过图表生成的报告中的乱码问题

登录TestLink容器

 $ docker exec -it コンテナID /bin/bash

安装wget、unzip和fc-cache。

$ apt update
$ apt upgrade
$ apt install wget unzip fontconfig

在系统字体中添加IPA P Gothic(Ver.003.03)。

$ cd /usr/share/fonts/truetype
$ wget https://ipafont.ipa.go.jp/IPAfont/ipagp00303.zip
$ unzip ipagp00303.zip
$ rm -fr ipagp00303.zip

清除系统字体缓存

$ fc-cache -fv

请在 custom_config.inc.php 文件中添加以下内容。

//グラフのレポートのシステムフォントを IPA P ゴシック(Ver.003.03)に設定する
$tlCfg->charts_font_path = "/usr/share/fonts/truetype/ipagp00303/ipagp.ttf";

7. 解决 Bad Request 错误

错误信息:
错误请求
您的浏览器发送了一个服务器无法理解的请求。
请求头字段的大小超过了服务器限制。

测试链接的Cookie的一部分超过了通常的HTTP头大小,导致错误。解决方法是将Apache服务器配置中的HTTP头大小(默认值:8K)进行放宽。

登录到TestLink容器

$ docker exec -it コンテナID /bin/bash

确认 httpd 进程

$ ps aux | grep httpd

使用 vim 编辑 httpd.conf

$ vim /opt/bitnami/apache/conf/httpd.conf

请在 httpd.conf 文件的最后一行添加以下内容。

LimitRequestFieldsize 1048576

为了应用已编辑的httpd.conf配置文件,重新启动Apache。

$ /opt/bitnami/apache/bin/apachectl restart

8. 上传文件并扩大文件大小

当上传TeskLink的测试用例等文件时,如果文件大小过大而无法读取的话,可以采取以下措施。修改custom_config.inc.php和php.ini的设置。

登录到TestLink容器中

$ docker exec -it コンテナID /bin/bash

使用 Vim 打开 custom_config.inc.php 文件

$ vim /bitnami/testlink/custom_config.inc.php

请在custom_config.inc.php文件中写入以下设置。

<?php

// アップロードするファイルサイズ上限を拡大する
// ただし(多くの場合のPHPデフォルト値の)2MBを超える場合は、
// 同時に php.ini の upload_max_filesize の設定も変更する。
$tlCfg->import_max_size = '100000000'; // in bytes
$tlCfg->repository_max_filesize = 100; //MB

?>

用 Vim 编辑 php.ini。

$ vim /opt/bitnami/php/lib/php.ini

将php.ini文件中靠近末尾的以下大小值进行增加

upload_max_filesize = 100M
post_max_size = 100M

为了使编辑过的php.ini配置文件生效,需要重新启动Apache。

$ /opt/bitnami/apache/bin/apachectl restart

9. 参考:custom_config.inc.php 的最终设置示例

<?php

// 参考資料: TestLink インストールマニュアルや、各種設定ドキュメントは、
// /opt/bitnami/testlink/docs 配下に存在する

// path設定
$tlCfg->log_path = '/opt/bitnami/testlink/logs/';
$g_repositoryPath = '/opt/bitnami/testlink/upload_area/';

// TestLinkセキュリティ上の弱点が存在する場合に警告する方法は、
//  * 'SCREEN':ログイン画面にメッセージを表示する(デフォルト)
//  * 'FILE':警告ファイルを作成、ログイン画面にメッセージを表示する。
//  * 'SILENT':警告ファイルを作成、ログイン画面にメッセージを表示しない。
$tlCfg->config_check_warning_mode = 'SCREEN';

// smtp設定
$g_smtp_host = 'smtp.gmail.com';
$g_tl_admin_email = 'mymailaddress@gmail.com';
$g_from_email = 'mymailaddress@gmail.com';
$g_return_path_email = 'mymailaddress@gmail.com';
$g_smtp_username = 'mymailaddress@gmail.com';
$g_smtp_password = 'mymailpassword12345678';
$g_smtp_port = '587';
$g_smtp_connection_mode = 'tls';

// デフォルト言語を日本語にする
$tlCfg->default_language = 'ja_JP';

// レポートで表示される TestLink ロゴを自社ロゴに変更する
$tlCfg->document_generator->company_logo = 'logo.png';

// ロゴマークの高さを指定する
$tlCfg->document_generator->company_logo_height = '50';

// グラフのレポートのシステムフォントを IPA P ゴシック(Ver.003.03)に設定する
$tlCfg->charts_font_path = "/usr/share/fonts/truetype/ipagp00303/ipagp.ttf";

// TestLink にアップロードするファイルサイズ制限を拡大する。ただし(多くの場合のPHPデフォルト値の)2MBを超える場合は、同時に php.ini の upload_max_filesize の設定も変更すること
$tlCfg->import_max_size = '100000000'; // in bytes
$tlCfg->repository_max_filesize = 100; //MB

// レポートとメトリクスで表示される会社名を設定する
$tlCfg->document_generator->company_name = '自社名';
$tlCfg->document_generator->company_copyright = 'Copyright© ' . date('Y') . '自社名';
$tlCfg->document_generator->confidential_msg = '本資料は、自社名の許可無く対外的に参照・配布しないようお願い申し上げます。';

// 実行済みのテストケースの編集を可能にする
$tlCfg->testcase_cfg->can_edit_executed = ENABLED;

// 実行済みのテストケースの削除不可にする(初期値:削除可能)
$tlCfg->testcase_cfg->can_remove_executed = DISABLED;

// ユーザをテストケースにアサインしなくても、テスト実行およびレポートを出力する
$tlCfg->exec_cfg->exec_mode->tester='all';

// テスト実行時にアサインに関わらず、テストケースを全て表示する
$tlCfg->exec_cfg->user_filter_default='none';

// テストの実行で、実行履歴を表示する
$tlCfg->exec_cfg->history_on = TRUE;

// sessionInactivityTimeoutを延長する
$tlCfg->sessionInactivityTimeout = 86400;

// 管理者による新規アカウント登録に限定する
$tlCfg->user_self_signup = FALSE;

?>

参考资料

注1:在Google账户的安全设置中,启用对不安全应用程序的访问权限。如果不启用,TestLink的邮件发送将失败,请注意。
参考:Google我的账户

注2:通过进行各项设置,可以去除TestLink登录画面上的警告。
参考:正确对应TestLink的警告

以上