LoginSignup
4
6

More than 3 years have passed since last update.

【2019年版】Docker Bitnami/TestLink を設定する

Last updated at Posted at 2019-11-19

TestLink を設定する

1. TestLink のコンテナにログインする

docker ps で TestLink のコンテナIDを探す

ローカルPC
 $ docker ps -a

TestLink のコンテナにログインする

ローカルPC
 $ 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 のコンテナにログインする

ローカルPC
 $ 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 ファイルを設置、カラースキームと日本語対応とクリップボードを有効にする

.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 のコンテナにログインする

ローカルPC
$ 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" にする

php.ini
; 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 の指定ディレクトリにコピーする

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

設定方法その2:ウェブのロゴマークを TestLink の指定ディレクトリに wget する

TestLink のコンテナにログインする

ローカルPC
 $ 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 に以下の内容を追記する

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の警告にちゃんと対応する

以上

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6