##TestLink を設定する
1. TestLink のコンテナにログインする
####docker ps で TestLink のコンテナIDを探す
$ docker ps -a
####TestLink のコンテナにログインする
$ docker exec -it コンテナID /bin/bash
注: docker exec だと、/bin/bash プロセスを起動させて標準入出力を行う。仮にログインしたコンテナを exit しても、起動させた /bin/bash プロセスだけが終了して、コンテナは停止しない。類似コマンドの、docker attach は、ログインしたコンテナで exit するとコンテナが終了する
参考: Docker・コンテナの確認と接続(ps, attach, execコマンド)
参考: Dockerコンテナ内で操作 attachとexecの違い
####参考:ログインしたコンテナからログアウト(終了)する
$ exit
2. 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
3. apachectl restart のエラーメッセージ対策をする
エラーメッセージ:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using IP address. Set the 'ServerName' directive globally to suppress this message
####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)
####php.ini を Vim で編集する
$ vim /opt/bitnami/php/lib/php.ini
####php.ini の最終行付近にある date.timezone = "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
5. TestLink > レポートメトリクス のレポートに会社のロゴマークを入れる
設定方法は2種類あるのでお好きな方で……
####設定方法その1:ローカル環境から TestLink の指定ディレクトリにコピーする
$ cd ~/logo
$ ls
logo.png
$ docker cp ./logo.png コンテナID:/opt/bitnami/testlink/gui/themes/default/images
####設定方法その2:ウェブのロゴマークを TestLink の指定ディレクトリに wget する
####TestLink のコンテナにログインする
$ docker exec -it コンテナID /bin/bash
####wget をインストールする
$ apt update
$ apt upgrade
$ apt install wget
####TestLink の指定ディレクトリにロゴマークを追加する
$ 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 ゴシック(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 エラーの対策をする
エラーメッセージ:
Bad Request
Your browser sent a request that this server coulud not understand.
Size of a request header field exceeds server limit.
TestLink の Cookie の一部が通常の HTTP ヘッダーサイズを超えてエラーになる。対策として HTTP ヘッダサイズ(初期値:8K)を緩和した Apache サーバ構成にする
####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. Upload ファイルサイズを拡大する
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の警告にちゃんと対応する
###以上