LoginSignup
4
4

More than 3 years have passed since last update.

Bitnami Testlinkのバージョンアップ

Last updated at Posted at 2019-07-21

Bitnami Testlink の バージョンアップ について
僕はPMでもありテスターです。会社でTestlinkは僕のPJだけですが、
僕が採用してお客様に納品成果物としています。
2014年より採用して5年経過。定期的(1、2年毎)にバージョンアップしています。
phpベースでデザインもいまいちですが、僕的には慣れもありますし、愛着もあります。
但し、元の開発者(だぶんインドの人)が後継者を募集している所をみたりすると、
メジャーVerupはほど遠いかも。でもバージョンアップしていってますね。

以下はバージョンアップメモです。(1.9.16→1.9.19(2年経過してゆるやかなVerUp。。))
環境はWindows7(もうじきサポート終わりますね)windows10でも大丈夫だと思います。

【①】bitnamiにアクセス

https://bitnami.com/
カタログからwindows版のTestlinkをダウンロードする。

【②】インストール

1)旧サービス停止
C:¥BitNami¥testlink-1.x.xx¥manager-windows.exe (旧ver)を起動して全てのサービスを停止する。
2)インストーラ起動
ダウンロードしたexeを起動する。
以下は留意事項
・言語を「English」でインストール。
・管理者のユーザとパスワードは控える。
・ホート番号を設定
僕の会社の環境ではredmineと共存しているので以下とする。
apache : 8080
ssl : 2443
MySQL : 3356
3)確認
インストール終了後、アクセス できることを確認する。
http://127.0.0.1:8080/testlink/login.php

【③】データ移行

1)バックアップしたDBのVerが同じであれば、通常のリカバリーで良いですが、
 スキーマが違うと怒られます。
 Bitnamiでない、本家のサイトではスキーマコンバートのスクリプトが用意されています(Readmeに記載)
 Bitnamiではうまくいきません。(Readmeに記載無)
 以下の手順で移行します。
 C:¥BitNami¥testlink-1.x.xx¥manager-windows.exe (新Ver)で
 phpmyadmin を起動して、テーブル内容を控えます。(ハードコピーとか)
 その後、すべてのサービスを停止します。

2)C:¥BitNami¥testlink-1.x.xx¥manager-windows.exe (旧ver)を起動し、
 全てのサービスを立ち上げます。
 phpmyadmin を起動して、テーブル内容を控えます。(ハードコピーとか)

3)同件数以外のものをphpmyadminからデータのみエクスポートします。
※新しくできたテーブルはありますが、無視します。
 今までのVerUpの経験上問題名無と思っています。
 あまり古いVerからのVerupだとテーブルのカラムが追加されたりしていると思いますので、
 エクスポートデータを加工する必要があるかも。。。(過去に苦労した経験あったかも。。覚えてない。)

古いですが 以下@bamchohさんの記事でテーブル構成がある程度わかります。
https://qiita.com/bamchoh/items/aeee48b2fff08f752d31

4)C:¥BitNami¥testlink-1.x.xx¥manager-windows.exe (旧ver)を起動し、
 サービスをすべて停止します。

5)C:¥BitNami¥testlink-1.x.xx¥manager-windows.exe (新Ver)を起動し、
 サービスをすべて起動します。

6)phpmyadmin を起動して、エクスポートしたデータをインポートします。

【④】確認

http://127.0.0.1:8080/testlink/login.php
にて 過去のテスト結果がちゃんと移行されているか確認する。

【⑤】メール設定省略

いちいちメールを飛ばすのは、ナンセンスと僕は思っており、以下を設定する。
config.inc.php の 編集
C:¥BitNami¥testlink-1.X.XX¥testlink¥htdocs

以下記述変更
1)警告もみ消し

$tlCfg->config_check_warning_mode = ‘SCREEN’;
 ↓
$tlCfg->config_check_warning_mode = ‘SILENT’;

2)メール設定無

$g_smtp_host    = ''; # SMTP server MUST BE configured 
↓
g_smtp_host    = '[smtp_host_not_configured]'; # SMTP server MUST BE configured

$g_mail_priority = 5;
↓
$g_mail_priority = 0;

【⑥】会社名を表紙タイトルとする設定

config.inc.php の 編集
C:¥BitNami¥testlink-1.X.XX¥testlink¥htdocs

以下記述変更

$tlCfg->document_generatr->company_name = ' TestLink Community [configure $tlCfg->document_generator->company_name]'; 
↓ 
$tlCfg->document_generator->company_name = ' xxxxxx(会社名) Co.,Ltd.': 

$tlCfg->document_generator->company_copyright = ' 20xx ficopy; TestLink Community';
↓ 
$tlCfg->document_generator->company_copyright = ' ';

【⑦】タイムゾーン設定

php.ini の 編集
C:¥BitNami¥testlink-1.x.xx¥php

[Date] 
; Defines the default timezone used by the date functions 
; http://php. net/date. timezone 
date, timezone = " America/Los_Angeles"
↓ 
date, timezone = "Asia/Tokyo"

【⑧】アップロードファイルのコピー

以下 旧verから新Verにコピー
C¥BitNami¥testlink-1.x.xx¥apps¥teslnk¥htdocs¥upload_area

【⑨】旧Verのアンインストール

新Ver運用で問題なければ旧Verのアンインストール

■通常運用 バックアップ、リカバリー■

通常運用では以下バックアップ、何かあった時に再インストールしてリカバリー
MysqlのVerが同じことが前提
バッチファイルとか作成して運用
■バックアップコマンドサンプル
【DB】

C¥BitNami¥testlink-1.x.xx¥mysql¥bin¥mysqldump --user=root --password=XXXXXXXX --port=3356 bitnami_testlink > e:¥backup¥testlink_mysql.dmp

【関連ファイル】

xcopy C:¥BitNami¥testlink-X.X.X¥apps¥testlink¥htdocs¥upload_area e:¥backup¥testlinkfiles¥ /D /S /E /H /C /Y /R >> e:¥backup¥Testlink_backup.log

■リカバリコマンドサンプル

C:¥BitNami¥testlink-X.X.X¥mysql¥bin¥mysql --user=root --password=XXXXXXXX --port=3356 bitnami_testlink < e:¥backup¥testlink_mysql.dmp

関連ファイルは旧Verフォルダからコピペしても良いし、バックアップからコピーしても良いです。

■■MySqlチューニング■■
旧Ver1.9.16より遅くなった感じがする。
以下でチューニングを試みました。 幾分早くなった感じ。
以下を設定しています。あくまで導入環境でチューニングして下さい。
■Testlink Mysql設定
C:¥BitNami¥testlink-X.X.X¥mysql¥my.ini
僕の環境では以下を追加しています。

   innodb_buffer_pool_size=3G
   read_buffer_size=256K
   sort_buffer_size=256K
   innodb_file_per_table=ON

■設定説明
innodb_buffer_pool_size
InnoDBのバッファプールサイズ指定。物理メモリの7-8割程度を割り当てる。

sort_buffer_size
ソート処理に利用するバッファ。

read_buffer_size
 全件スキャンをするときに利用するバッファ。

innodb_file_per_table=ON
InnoDBの場合、データファイル、ログファイルがストレージ上に作成される。
データファイルの管理方法には2通りあります。「共有領域」で管理する方法と、「テーブル個別領域」で管理する方法がある。
共有領域
全テーブルを一括で管理する領域。1つのテーブルの1レコードの変更でも、領域全体に更新がかかる。
テーブル個別領域
テーブルを1つずつ個別に管理する領域。更新対象のテーブルの領域にのみ、更新がかかる。

以上

4
4
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
4