Testlink 1.9.9 to 1.9.12 の作業メモ
ダウンロード、サーバヘのアップロード
- 本家サイトにはWindows用のインストーラしか見当たらないので、souceforgeからダウンロード
- Teratermでサーバ(CentOS)ヘSCP転送
解凍、テスト環境への配置
# tar zxvf /var/www/testlink-1.9.12.tar.gz
解凍
# rm /var/www/testlink-1.9.12.tar.gz
圧縮ファイルを削除
# ln -s /var/www/testlink-1.9.12 /var/www/testlink-test
シンボリックリンクを作成。テスト用のURLからアクセスするために-testをつけてある
# chown -R apache:apache /var/www/testlink-1.9.12
# chmod 777 /var/www/testlink-1.9.12
# chmod 777 /var/www/testlink-1.9.12/gui/templates_c -R
実行権限の付与と所有者・グループの変更
# cp /etc/httpd/conf.d/testlink.conf /etc/httpd/conf.d/testlink-test.conf
test環境用にhttpdのconfファイルを作成(既存のtestlink.confをコピーして作成)
# vi /etc/httpd/conf.d/testlink-test.conf
viで編集 「testlink」になっている文字列を全部「testlink-test」に変更(編集画面省略)
# service httpd restart
webサーバを再起動
ローカルマシンで、 http://サーバ名/testlink-test/ にアクセスして確認
DB作成、Testlinkインストール
# mysql -u root -p
mysql> show databases;
作成済みのデータベース名を確認。既存のtestlink用のデータベース名は「testlink」
mysql> CREATE DATABASE testlink1912 CHARACTER SET utf8;
testlink-1.9.12用のデータベースを作成
mysql> quit;
ローカルマシンで、 http://サーバ名/testlink-test/ にアクセス
インストール用の画面がでるので進める New installation → i agree → continue でDB configの画面になる
DB名=testlink1912 mysqlのrootアカウントとパスワード、mysqlのtestlinkユーザのアカウントとパスワードを指定して「process testlink setup」ボタン
インストールが行われるので完了後、再度リモートでの作業
新DBの設定
# mysqldump -u root -p testlink > dump.sql
旧データベースをダンプ出力
# mysql -u root -p testlink1912 < dump.sql
新バージョン用のDBにダンプファイルから流し込む
# rm dump.sql
ダンプファイル削除
ローカルマシンで、 http://サーバ名/testlink-test/ にアクセス
Unknown Schema version DB 1.9.9, please upgrade your Testlink Database to DB 1.9.12
と言われる。(DBスキーマが1.9.9用のものをダンプで流し込んだので当たり前)
testlink-1.9.12/READMEに以下が書いてあるので従う
Upgrade from 1.9.9 to 1.9.10
WARNING: if you are using a table prefix replace /*prefix*/ with your prefix
a) Execute install/sql/alter_tables/1.9.10/<your_db>/DB.1.9.10/step1/db_schema_update.sql
b) Execute install/sql/alter_tables/1.9.10/<your_db>/DB.1.9.10/stepZ/z_final_step.sqlUpgrade from 1.9.10 to 1.9.11
WARNING: if you are using a table prefix replace /*prefix*/ with your prefix
a) Execute install/sql/alter_tables/1.9.11/<your_db>/DB.1.9.11/step1/db_schema_update.sql
b) Execute install/sql/alter_tables/1.9.11/<your_db>/DB.1.9.11/stepZ/z_final_step.sqlUpgrade from 1.9.11 to 1.9.12
WARNING: if you are using a table prefix replace /*prefix*/ with your prefix
a) Execute install/sql/alter_tables/1.9.12/<your_db>/DB.1.9.12/step1/db_schema_update.sql
b) Execute install/sql/alter_tables/1.9.12/<your_db>/DB.1.9.12/stepZ/z_final_step.sql
以下の内容で実行
# cd /var/www/testlink-1.9.12
# mysql -u root -p testlink1912 < install/sql/alter_tables/1.9.10/mysql/DB.1.9.10/step1/db_schema_update.sql
# mysql -u root -p testlink1912 < install/sql/alter_tables/1.9.10/mysql/DB.1.9.10/stepZ/z_final_step.sql
# mysql -u root -p testlink1912 < install/sql/alter_tables/1.9.11/mysql/DB.1.9.11/step1/db_schema_update.sql
# mysql -u root -p testlink1912 < install/sql/alter_tables/1.9.11/mysql/DB.1.9.11/stepZ/z_final_step.sql
# mysql -u root -p testlink1912 < install/sql/alter_tables/1.9.12/mysql/DB.1.9.12/step1/db_schema_update.sql
# mysql -u root -p testlink1912 < install/sql/alter_tables/1.9.12/mysql/DB.1.9.12/stepZ/z_final_step.sql
1.9.10の2つはパスが見つからない。
db_schema_update.sql ではなく db_data_update.sql が正しい模様なのでやり直す。
(これをしないとrightsテーブルに権限が正しく追加されないので注意)
1.9.10のz_final_step.sqlは存在しない状態で正しい模様(今のところ問題がおきていないので)
# mysql -u root -p testlink1912 < install/sql/alter_tables/1.9.10/mysql/DB.1.9.10/step1/db_data_update.sql
ローカルマシンで、 http://サーバ名/testlink-test/ にアクセス
Unknown Schema version DB 1.9.9, please upgrade your Testlink Database to DB 1.9.12
のエラーがなくなっていることを確認
設定ファイル
ローカルマシンで、 http://サーバ名/testlink-test/ にアクセス
There are security warnings for your consideration. See details on file: /var/testlink/logs/config_check.txt. To disable any reference to these checkings, set $tlCfg->config_check_warning_mode = 'SILENT';
警告が出る。
# vi /var/testlink/logs/config_check.txt
Install directory should be removed! following parameters of email feature:
tl_admin_email
from_email
return_path_email
smtp_host
とのこと。インストールフォルダの削除はいったん後回し。Emailの設定等を行うことに。
# cp /var/www/testlink-1.9.12/custom_config.inc.php.example /var/www/testlink-1.9.12/custom_config.inc.php
サンプルをコピーしてcustom_config.inc.phpを作成。
# vi /var/www/testlink-1.9.12/custom_config.inc.php
編集
$g_smtp_host = 'smtpサーバアドレス'; # SMTP server MUST BE configured
$g_tl_admin_email = '管理者メールアドレス'; # for problem/error notification
$g_from_email = 'fromに設定するメールアドレス'; # email sender
$g_return_path_email = 'return pathに設定するメールアドレス';
$g_mail_priority = 0;
$g_smtp_username = 'smtpユーザ名'; # user
$g_smtp_password = 'smtpパスワード'; # password
$g_smtp_connection_mode = '';
$g_smtp_port = 587;
この辺を書き換えてメールの設定を行う
$tlCfg->results['status_code'] = array (
'failed' => 'f',
'blocked' => 'b',
'passed' => 'p',
'not_run' => 'n',
// 'not_available' => 'x',
// 'unknown' => 'u',
// 'all' => 'a',
'my_status' => 'm'
);$tlCfg->results['status_label'] = array(
'not_run' => 'test_status_not_run',
'passed' => 'test_status_passed',
'failed' => 'test_status_failed',
'blocked' => 'test_status_blocked',
'my_status' => 'test_status_my_status'
//// 'all' => 'test_status_all_status',
//// 'not_available' => 'test_status_not_available',
//// 'unknown' => 'test_status_unknown'
);$tlCfg->results['status_label_for_exec_ui'] = array(
'not_run' => 'test_status_not_run',
'passed' => 'test_status_passed',
'failed' => 'test_status_failed',
'blocked' => 'test_status_blocked',
'my_status' => 'test_status_my_status'
);$tlCfg->results['default_status'] = 'not_run';
//
$tlCfg->results['charts']['status_colour'] = array(
'not_run' => '000000',
'passed' => '006400',
'failed' => 'B22222',
'blocked' => '00008B',
'my_status' => 'FF8C11'
);
この辺を書き換えて、「みなしOK」のステータスを追加する
allのステータスを有効にしようとするとエラーが出るので注意。デフォルトのnot_run、passed、failed、blockedに加えて、 my_status を有効にする形
$tlCfg->default_language = 'ja_JP';
$tlCfg->charset = 'UTF-8';
$tlCfg->config_check_warning_mode = 'SILENT';
$tlCfg->charts_font_path = "/usr/share/fonts/ipa-gothic/ipag.ttf";
この辺はもともとの設定ファイルに該当箇所がないので追記している。
最下行はグラフの日本語文字化けを回避するためにフォントファイルを指定。
custom_config.inc.phpの編集を終了
# cp /var/www/testlink-1.9.12/locale/ja_JP/custom_strings.txt.example /var/www/testlink-1.9.12/locale/ja_JP/custom_strings.txt
my_status を「みなしOK」の文言で表示するために「custom_strings.txt」を作成
# vi /var/www/testlink-1.9.12/locale/ja_JP/custom_strings.txt
$TLS_test_status_my_status = "みなしOK";
に編集して保存
cssを編集してみなしOKがオレンジ色で表示されるようにする。
custom.css.example にその内容が書いてあるが、これの名称をcustom.cssに変えても読み込まれない。
cssファイル名を指定している箇所を特定するのが面倒なので、大元のtestlink.cssに埋め込んでしまおう。
# cd /var/www/testlink-1.9.12/gui/themes/default/css
# mv testlink.css testlink.css.original
# cat testlink.css.original custom.css.example > testlink.css
元ファイルをリネームして cat で連結。
ローカルマシンで、 http://サーバ名/testlink-test/ にアクセス
問題なし。
本番用のアドレスに変更
# cd /var/www
/var/www フォルダに移動
# rm testlink
これは1.9.9のころのシンボリックリンクを削除している
# ls -s testlink-1.9.12 testlink
1.9.12用のシンボリックリンクを作る
# service httpd restart
httpdを再起動
ローカルマシンで、 http://サーバ名/testlink/ にアクセスして確認。完了。